1.选择分支结构:
选择结构:if-else语句、switch语句
1.if-else分支语句
1.if语句
if 语句的格式:if(表示式)
{语句}
if语句——首先判断表达式的值是否为真,当表达式的值为真时执行对应语句,注意:在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果不
是0,则语句执⾏。
注意:if语句默认控制一条语句,当我们想控制多条语句时,可以用大括号将多条语句括起来来实现多条语句的控制。
2.else语句
需要注意:else语句必须与if成对使用,但if 语句本身可以单独使用。
配对原则:与之上方最近且没有配对的if配对。
else的使用:当与之配对的if 表达式为假时,执行else语句实现分支。如图所示:
3.if的嵌套
if 语句中可以嵌套其他分支语句,用一个if 语句来控制其他分支语句。具体如图所示:
当1.if语句判断为真时,继续判断第二条if语句,如果第二条if语句为真,则执行对应语句,如果第二条if语句为假,则执行else语句,需要注意的是:如果第一条if语句为假,则跳过与之嵌套的所有语句。
当有多个if、else时,一定要注意else的配对(多用大括号可以增加代码的可读性)
例如上图中,由于排版问题我们很容易认为else与第一个if配对,其实仔细看时会发现实际上else与第二个if配对,但如果我们对代码略微修改,如下图所示:
根据输出我们不难看出执行的是第二条else语句,这时我们可以看出第二条if与第一条else配对,而第一条if与最后一条else配对,当程序开始执行时,首先判断第一条if的表达式,if表达式判断为假,于是执行与之配对的else语句,中间的部分已经跳过并不执行。
2.switch语句
格式:
switch语句可以认为成一种特殊的if-else语句,我们按照switch后表达式中的值挨个对照下面case后的值,当有对应的值时,执行对应的case语句,如果没有对应的值,则执行dafault语句。
*default的位置没有要求,如果default写在case语句之前,在程序依然会先比对case后的值,在比对失败后执行fault,只是一般书写习惯而言,我们经常将default写在最后。
需要注意:当语句后没有break时,程序执行对应语句后并不会停下来,而会继续执行下一条语句,直到遇到break或程序语句全部执行结束为止。
今日分享到此结束,明天见啦!