如何理解多路开关模式的switch语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在实例10中,将break语句去掉之后,会将符合检验条件后的所有语句都输出。利用这个特点,可以设计多路开关模式的switch语句,例如:在平年一年12个月,1、3、5、7、8、10、12月是31天,4、6、9、11月是30天,2月是28天,如果在控制台上任意输入月份,就可以知道这个月有多少天。这种情况,就可以使用switch语句的多路开关模式,它的形式如下:
switch(表达式)
{
case 1:
语句1
break;
case 2:
case 3:
语句2
break;
…
default:
默认语句
break;
}
从形式中可以看到如果在case 2后不使用break语句,那么符合检验时与符合case 3检验时的效果是一样的。也就是说,使用多路开关模式,可以使多种检验条件用一个语句块输出。
实例11 输入的某个月份属于哪个季节
在本实例中,要求使用switch语句判断控制台输入的某个月份属于哪个季节,已知3、4、5月是春季,6、7、8月为夏季,9、10、11为秋季,12、1、2月为冬季。具体代码如下:
01 #include<stdio.h>
02 int main()
03 {
04 int month; /*定义变量月份*/
05 printf("please enter a month:\n");
06 scanf("%d",&month); /*输入月份*/
07 switch(month) /*根据月份分季节*/
08 {
09 /*多路开关模式*/
10 case 3:
11 case 4:
12 case 5:
13 printf("%d is spring\n",month); /*3,4,5月是春季*/
14 break;
15 /*多路开关模式*/
16 case 6:
17 case 7:
18 case 8:
19 printf("%d is summer\n",month); /*6,7,8月是夏季*/
20 break;
21 /*多路开关模式*/
22 case 9:
23 case 10:
24 case 11:
25 printf("%d is autumn\n",month); /*9,10,11月是秋季*/
26 break;
27 /*多路开关模式*/
28 case 12:
29 case 1:
30 case 2:
31 printf("%d is winter\n",month); /*12,1,2月是冬季*/
32 break;
33 default:
34 printf("error!!!\n"); /*无此月份*/
35 }
36 return 0; /*程序结束*/
37 }
运行程序,显示结果如图6.21所示。
图6.21 季节运行图
从该实例代码和运行结果可以看出:
程序中使用多路开关模式,使得检测month的值为3、4、5这3种情况时,都会执行相同的操作,并且利用default语句将不符合的数字显示,提示信息表示输入错误。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。