上节我们学习并且了解了if else的分支语句,但是对于多分支的时候,if,else if。else就显得比较麻烦
今天我们学习switch分支语句,它适用于多分支的情况
一、switch语句的形式
switch(整形表达式)
{
语句项;
}
其中的语句项形式为:
case 整型常量表达式:
语句;
![](https://i-blog.csdnimg.cn/blog_migrate/95008d9de5958d173a5c1dc8a60c0f91.png)
例如我们想要做到输入数字几就打印对应的星期几
创建整型变量day
引用scanf函数,输入数字给变量day赋值
switch语句,整型表达式为day
switch内为case语句项,每个都对应着break(break含义为跳出循环)
break是每一条语句后都要加吗?
当然不是,这是根据自己的逻辑需求进行添加的
来看下面一段代码,它的需求,每段语句后都不必要添加break
![](https://i-blog.csdnimg.cn/blog_migrate/c52baa2531b5022ac06d77b8876c66e0.png)
要求:输入1-5打印工作日,输入6-7打印休息日
那么只需要在第5条语句后放一个break,在第7条语句后放一个break即可
二、default语句
我们来想一个这样的问题,像上一个代码,我们只写出了1-7这7个数字的结果,如果我们输入一个不是这7个数字的其他数字,他会打印空白,但我们也具体不能发现他的错误
所以可以引用default语句,在输入错误的时候会报错
![](https://i-blog.csdnimg.cn/blog_migrate/c29132c3d77b67e7bad198e20c2843c0.png)
像这个代码,我们只有1-3这些数字的结果。当我们引用default语句后,并且打印一句话“输入错误”,在我们输入错误的数字时会得到“输入错误”的字样
三、小练习
![](https://i-blog.csdnimg.cn/blog_migrate/024a051e86c6f83ed8a241b9ba59f211.png)
请仔细观察以上代码,分别算出m和n的值是多少?
3!
2!
1!
......
正确答案:m=5,n=3
分析代码:
n=1,m=2
switch的整形表达式为n,则进入case1,经过case2,此时n=2,m=3
进入case3,switch的整形表达式为n,跳过case1,进入case2,此时n=3,m=4
进入case4,此时n=3,m=5,结束
总结
以上就是本人对于分支语句switch的学习与理解