关于C++中的分支语句
首先,我们要明白关于语句的定义,即在C语言中,由“;”隔开的语句就是一条语句。特殊的是,单独的一个“;”也是一条语句,称之为空语句。
分支语句又叫选择语句,分为IF语句Switch语句,两种语句均可嵌套使用。接下来,我将分别介绍两种语句。
1.IF语句
IF语句大体上有三种语法结构 分别为单语句型,双分支语句型和多分支语句型。
单语句型
该代码块的意思是如果表达式a<=10成立,那么就执行下面的语句。否则什么都不执行,直接返回;
双分支语句型
意思是如果表达式a<=10成立,执行打印a的操作;如果条件不成立,则打印a不符合条件;
多分枝语句
意思是如果age<=18成立,打印未成年;如果age>18且age<=40,打印壮年。其他条件打印年龄较大。多分支语句通常能够解决多选择的问题。同时接下来介绍的Switch语句也能达到同样的目的,但是二者又各有千秋,可以 比比看。
除了以上三种语句,我还希望再介绍一种悬空else语句,帮助大家理解if语句。
运行上面的代码,会发现没有打印任何东西。而我们的想法是即使a!=1的 情况下,也会打印haha。那么原因是什么呢?原因是else 会与最近的未被匹配的if进行匹配。如果用的是vis的话,会发现靠下的if和else会自动的对齐,这个就告诉了我们其中的道理。对上面的代码进行分析,只是一个简单的IF单语句;如果想代码达到我们想要的功能,可以用{}把第一个If下执行的语句括起来形成代码块,这样就将else与距离较远的if进行匹配,输出haha.所以希望新手初学时,要注意if和else后面跟{},这样既能减少错误,又可以让别人读懂
2.Switch语句
大家线看一看代码,在运行一下,可以发现,给定特定的值,就会有特定结果输出。从代码中也可以提取处Switch的语法结构
一定要注意,switch 后跟的一定是整形表达式,浮点数是一定不可以的。可以自己试一下。
并且case后面跟的必须是常量表达式,不能是变量;
还有关于break的作用。break是用来跳出分支的。如果把所有break全部删掉,执行程序,可以发现会从星期一打印到星期日,不会从程序中跳出。这中现象也告诉我们switch语句并不是跳着执行的,他也是一行接着一行的在进行编译,只有遇到break才会跳出程序 。
其实并不是每一个case后面都加break,break的写与不写完全是根据实际要求来确定。如果要求输入1,2,3,4,5时,要求输出工作日,那么星期一到星期四后面的printf语句和break都要删去的。
关于default语句,对其解释就是如果输入的内容不满足case中的任何一个条件,需要添加default来进行额外补充。
以上就是我自己学习到的一些知识,我自己也是一名刚接触计算机知识的大学生,如有错误,还请及时指出,评论区见。。谢谢