C++,多重if和switch

多重if

if语句的用法:C++,多重if和switch
判断括号中的num是否为5,如果是执行大括号下面的代码,否则直接跳过不执行。
流程图:C++,多重if和switch
需要注意的是C++,多重if和switch
if是由大括号的,也可以省略不写,推荐是写,可以让自己更清晰。这里运行的结果为num = 3。
上面的写法其实换一下加上括号就一目了然,C++,多重if和switch
这样因为num /= 10所以第一个if语句就没有进去,也就不会执行下面的,所以num还是3。
当用多个if时:C++,多重if和switch

首先第一个if,条件时当num=4且x=4时执行,这里只满足一个,所以不会执行。接下来if条件为num=4,所以执行num–,这时的num变成了3。最后当y=5时,满足条件,x++,y等于num+y。所以打印出来的结果为3,4,8。
再说说else,看图C++,多重if和switch
else的用法为,如果if条件不成立就执行else中的,所以结果为3。
可以使用else if,用法为else if 不是上一个条件的前提下,如果是这个条件。如图:C++,多重if和switch
这里if和else if都满足条件,但是是需要if不成立时else if才会进行判断,所以最后num为5。

switch

一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。结果如图:
C++,多重if和switch

需要注意:
1、switch后的语句只能是整型或字符型。
2、case后常量表达式的值不能相同。
3、case后允许多条语句,不需要大括号。
4、如果不加break,需要注意执行顺序。
5、case和default语句的先后顺序可以自行变化。
示例:C++,多重if和switch
这里判断num是为4,所以会执行case4,允许结果也是4。假如当我们把break去掉,num改成1。C++,多重if和switch
这里本来判断出num为1,执行case1就好了,可是结果:C++,多重if和switch
就是因为去掉了break,break的作用就是返回,当遇到break的时候会跳出整个结构,也就是直接跳出switch结构。
然后说到default,作用为:switch语句里所有的case都不成立时所要执行的语句。如图:C++,多重if和switch

switch和多重if对比

相同点:都是用来处理多分支条件的结构。
不同点:
switch:等值条件判断-条件时有限个数的时候快捷。
多重if:判断某个连续区间的情况。