千家信息网

如何理解多路开关模式的switch语句

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,如何理解多路开关模式的switch语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在实例10中,将break语句去掉之
千家信息网最后更新 2025年02月01日如何理解多路开关模式的switch语句

如何理解多路开关模式的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  #include02  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语句将不符合的数字显示,提示信息表示输入错误。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

0