流程控制

顺序结构、选择结构、循环结构

1、顺序结构

程序默认是顺序执行的。

2、选择结构

if选择语句

  第一种情况

  if(条件)//条件成立执行下面语句

  {

    //语句

  }

  第二种情况

  if(条件)//条件成立执行下面语句,否则执行else里面的语句

  {

    //语句

  }

  else

  {

    //语句

  }

    第三种情况

  if(条件1)//条件1成立执行下面语句,否则执行下面else if 里面的语句

  {

    //语句1

  }

  else if(条件2)//条件2成立执行下面语句,否则执行else if 里面的语句

  {

    //语句2

  }

  else if(条件3)//条件3成立执行下面语句,否则执行else里面的语句

  {

    //语句3

  }

  else//如果上面的语句都没执行,最后会执行这个

  {

    //语句4

  }

switch结构

switch(表达式)//表达式执行结果满足下面的哪个数值就执行哪一段,否则执行default语句

{

  case 数值1:语句1

    break;

  case 数值2:语句2

    break;

  case 数值3:语句3

    break;

  default:语句4

    break;

 }

3、循环结构

while 循环

do while循环

for 循环

  1、while 循环

  while(条件)//判断条件,成立则执行语句,然后再判断条件,成立则执行语句,不成立就结束循环

  {

    语句;

  }

  continue 和 break区别

  continue是结束本次循环,进入下一次循环。

  break是结束整个循环。

  2、do while循环

  do

  {

    语句;

  }while(条件);//先执行语句判断条件,至少执行一次

  3、for循环

  for(语句1;条件;语句2)

  {

    循环体;

  }

  语句1:执行一次,初始化语句

  语句2:增量语句,判断条件后执行循环体,然后执行语句2,再次判断条件

注意:循环可嵌套

  for(;;)

  {

    for(;;)

    {

      while()

      {}

    }

  }

静态局部变量的使用

  静态局部变量与全局变量共享全局数据区,但静态局部变量只在定义它的函数中可见。静态局部变量与局部变量在存储位置上不同,使得其存在的时限也不同,导致对这两者操作 的运行结果也不同。

注意事项: 
(1) 静态局部变量在静态存储区内分配存储单元。在程序整个运行期间都不释放。而自动变量(即动态局部变量)属于动态存储类别,存储在动态存储区空间(而不是静态存储区空间),函数调用结束后即释放。 
(2) 为静态局部变量赋初值是在编译时进行值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的 值。而为自动变量赋初值,不是在编译时进行的,而是在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。

(3) 如果在定义局部变量时不赋初值的话,对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符型变量)。而对自动变量来说,如果不赋初 值,则它的值是一个不确定的值。这是由于每次函数调用结束后存储单元已释放,下次调用时又重新另分配存储单元,而所分配的单元中的值是不确定的。 
(4) 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的,也就是说,在其他函数中它是“不可见”的。

关于类型转换(前面也有提了一下)

  int与float/double

  将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分, 只保留整数部分。

  将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式, 即小数点后带若干个0.

  float与double

  float 型数据只是在尾部加0延长为doub1e型数据参加运算,然后直接赋值。

  doub1e型数据转换为float型时,通过截尾数来实现,截断前要进行四舍五入操作。

  char 与 int

  int型数值赋给char型变量时,只保留其最低8位,高位部分舍弃。

  char 类型转换成int类型,直接获取char内部表示的值。

    char c = 'a';//字符a对应ascii 为97

    int n = c; //故n为97

  自动类型转换

  int a = 10.55+10;//这里会对10.55进行自动类型转换

  强制类型转换

  强制类型转换是通过类型转换运算来实现的。其一般形式为: (类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。

  int a = (int)10.55 +10;//这里是强制类型转换

未完待续......

转载于:https://www.cnblogs.com/lqsuperman/p/4552243.html

004-流程控制和类型转换相关推荐

  1. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏...

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  2. python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)...

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  3. MySql基础篇---004 其它数据库对象篇:视图,存储过程与函数,变量、流程控制与游标 ,触发器

    第14章_视图 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 常见的数据库对象 对象 描述 表(TABLE) 表是存储数据的逻辑单元,以行和列的形 ...

  4. python基础(字符串常用、数字类型转换、基本运算符与流程控制)

    一.字符串常用操作: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "Z'N'Y" # Date: 2 ...

  5. Java基础笔记(入门,语法基础,流程控制,数组)

    Java语言入门 发展历程 三大技术体系 JavaSE 标准版 JavaEE 企业版 JavaME 嵌入式版 Java语言特点 简单性 健壮性 面向对象 分布式 多线程 动态性 可移植性(跨平台) J ...

  6. 11月8日学习内容整理:js的引入方式,变量数据类型,运算符,流程控制,函数...

    js是一门成熟的编程语言,专门用浏览器客户端执行的语言 一.js的引入方式 1.直接在body标签中使用script标签写js语言 2.通过script标签导入js文件,<script   sr ...

  7. Python基础(二)--数据类型,运算符与流程控制

    目录 Python基础(二)--数据类型,运算符与流程控制 1 数据类型 1.1 Python中的数据类型 1.2 整数类型(int) 1.3 布尔类型 1.4 浮点类型 1.5 复数类型 1.6 类 ...

  8. java的注释、关键字、标识符、变量常量、数据类型、运算符、流程控制等

    java的注释.关键字.标识符.变量常量.                             数据类型.运算符.流程控制等 1. java概述 1.1 java的技术体系 Java SE:是Ja ...

  9. JavaSE----变量、String、运算符、流程控制

    关键字,保留字 被java赋予特殊含义,用做专门用途的字符串(单词) 标识符 变量 变量的定义 定义格式: 数据类型 变量名 = 变量值 声明: int age; 赋值: age = 12; 声明并赋 ...

最新文章

  1. 一个合格网络管理员的成长经历
  2. Redis-15Redis基础配置文件
  3. NET 6 中新增的LINQ 方法
  4. 提取json对象中的数据,转化为数组
  5. QT每日一练day24:绘画事件
  6. 【超直白】leetcode 279 完全平方数
  7. VC++等待光标的两种实现方式
  8. linux 查看网卡以及开启网卡
  9. 基于 MapObjects开发电子海图系统的研究与实现
  10. 【C/C++】STL详解
  11. FeedDemon获共享软件年度大奖
  12. 卷积神经网络学习项目--Kaggle仙人掌识别--基于TensorFlow(未完成)
  13. 软件设计师证书的作用有多大?
  14. linux系统配置x11,配置Xorg X11窗口系统
  15. C语言趣味一百道 第25题 2017_12_24
  16. PTA_拯救007 (25 分)【简单DFS+特判】
  17. USB设备仿真框架设计指南——4.DSF中的COM对象
  18. chrome浏览器中用 F12 进行抓包
  19. 7-29 王小二分饼
  20. 测试emmc读写速度软件,真机闪存实测:闪存读取速度到底什么鬼差距有多大建议收藏...

热门文章

  1. ansys中的柱坐标与直角坐标关系
  2. sdut 2134 数据结构实验之栈与队列四:括号匹配
  3. 第一章:1.2.2系统分类(一)
  4. nginx 日志配置log_format用法
  5. PHP基础1--环境搭建
  6. linux自动删除30天前的日志文件
  7. P1681 最大正方形 Iand II
  8. ExtJs之gridPanel的属性表格,编辑表格,表格分页,分组等技巧
  9. Android开发-mac上使用三星S3做真机调试
  10. 面向对象程序中的常量