分支语句分析—-if语句
if语句用于根据条件选择执行语句
else不能独立存在且总是与它最近的if相匹配
else语句后可以接连其他if语句
如下图所示:
if语句中数值比较的注意点:
- bool型变量应该直接出现于条件中,不要进行与0或1的比较。真正的c语言没有bool变量而由编译器定义,通常bool型变量是用枚举来定义的。c语言判断语句中0为假,非0为真,因此判断为真的情况下,数值不一定为1,-1也为真。
- 当普通变量和其他数值需要比较是否相等(即使用==号)时,数值应该出现在==号左边,这是防止把==号误写为=赋值号导致的错误。
- float型变量不能直接进行数值比较,因为会有误差,需要定义精度。
如下图所示:
分支语句分析—-switch语句
switch语句对应单个条件多个分值的情形
每个case语句分支必须要有break,否则会导致分支重叠
default语句有必要加上,以处理特殊情况
注意:
- case语句中的值只能是整型或字符型,这是switch最大的限制。
- 一个case语句只能处理一个单值的情况,不能成批处理某一个范围的情况,例如不能像if语句中那样处理大于某值小于某值的情况。
- 按字母或数字顺序排列各条case语句,正常情况放在前面,异常情况放在后面,default语句只用于处理真正的默认情况。
分支语句小结:
- if语句实用于需要“按片”进行判断的情形中 switch语句实用于需要对各个离散值进行分别判 断的情形中
- if语句可以完全从功能上代替switch语句,但 switch语句无法代替if语句
- switch语句对于多分支判断的情形更加简洁
循环语句分析 do,while,for语句
循环语句的基本工作方式:
- 通过条件表达式判定是否执行循环体
- 条件表达式遵循if语句表达式的原则
需要非常注意:判断条件中 0为假 非0就为真。
do,while,for的区别:
- do语句先执行后判断,循环体至少执行一次
- while语句先判断后执行,循环体可能不执行
- for语句先判断后执行,相比while更简洁
break和continue的区别:
- break表示终止整个循环的执行,break本质上是跳出一个块,在switch中也可以用。
- continue表示终止本次循环体,进入下次循环执行,continue天生为循环体设计,不能用于switch中。