C语言进阶_分支语句
勇气是在压力之下展现出的优雅。
一.简介
C语言提供了两种分支语句可供选用,一是if.......else....类型,一种是Switch语句。两种语句都能根据条件判断结果执行不同的指令,且能进行替换,但也有诸多差异,下面详细介绍。
二.if语句与Switch语句
2.1if语句
if语句是一种逐个判断条件的分支语句,可以else关键字搭配使用,当条件满足时执行if语句所包含的命令,条件不满足执行与之配对的else语句所对应的命令。逻辑结构如下所示:
2.1.1需注意的是,与else配对的if关键字为该else关键字之前且离它最近的if。
2.1.2条件为0的情形分析
if(......),括号内的条件可为常量、宏、表达式等。
①条件为boolean的0
②条件为整型或字符型0的表达式
为了便于编译器检错,0建议写在表达式的右边,形如if(0==a),当比较符号'=='写错成‘=’时,表达式为if(0=a)此时编译器编译时会报错,而0卸载左边在这种情形下则不会报错。
③条件为Float类型的0.0的比较表达式
因为Float类型的数据是一种不精确存储的数据,当我们给一个Float类型的变量赋值为0.0,它在计算机中的存储结果是偏离0一定值的数,与零比较不一定相同。
2.2Switch语句
Switch语句是一种多条件并列的分支语句,与case配合使用,条件必须为整性或字符型的常量。Switch语句中必须包含Default语句用于执行缺省(默认)的指令,Case后需接break以防止分支重叠,某些情况下也可使部分case语句后无break,但需注意程序的特殊执行流程。
2.3if语句与Switch语句可替换使用