如何理解多路開(kāi)關(guān)模式的switch語(yǔ)句

如何理解多路開(kāi)關(guān)模式的switch語(yǔ)句,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)-云計(jì)算及IDC服務(wù)提供商,涵蓋公有云、IDC機(jī)房租用、達(dá)州托管服務(wù)器、等保安全、私有云建設(shè)等企業(yè)級(jí)互聯(lián)網(wǎng)基礎(chǔ)服務(wù),歡迎聯(lián)系:028-86922220

在實(shí)例10中,將break語(yǔ)句去掉之后,會(huì)將符合檢驗(yàn)條件后的所有語(yǔ)句都輸出。利用這個(gè)特點(diǎn),可以設(shè)計(jì)多路開(kāi)關(guān)模式的switch語(yǔ)句,例如:在平年一年12個(gè)月,1、3、5、7、8、10、12月是31天,4、6、9、11月是30天,2月是28天,如果在控制臺(tái)上任意輸入月份,就可以知道這個(gè)月有多少天。這種情況,就可以使用switch語(yǔ)句的多路開(kāi)關(guān)模式,它的形式如下:

switch(表達(dá)式)
{
        case 1:
            語(yǔ)句1
            break;
        case 2:
        case 3:
            語(yǔ)句2
            break;
        …
        default:
            默認(rèn)語(yǔ)句
            break;
}

從形式中可以看到如果在case 2后不使用break語(yǔ)句,那么符合檢驗(yàn)時(shí)與符合case 3檢驗(yàn)時(shí)的效果是一樣的。也就是說(shuō),使用多路開(kāi)關(guān)模式,可以使多種檢驗(yàn)條件用一個(gè)語(yǔ)句塊輸出。

實(shí)例11 輸入的某個(gè)月份屬于哪個(gè)季節(jié)

在本實(shí)例中,要求使用switch語(yǔ)句判斷控制臺(tái)輸入的某個(gè)月份屬于哪個(gè)季節(jié),已知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)                                  /*根據(jù)月份分季節(jié)*/
08       {
09              /*多路開(kāi)關(guān)模式*/
10          case 3:
11          case 4:    
12          case 5:
13              printf("%d is spring\n",month);     /*3,4,5月是春季*/
14              break;
15              /*多路開(kāi)關(guān)模式*/
16          case 6:
17          case 7:    
18          case 8:
19              printf("%d is summer\n",month);     /*6,7,8月是夏季*/
20              break;
21          /*多路開(kāi)關(guān)模式*/
22          case 9:
23          case 10:    
24          case 11:
25              printf("%d is autumn\n",month);     /*9,10,11月是秋季*/
26              break;
27          /*多路開(kāi)關(guān)模式*/
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");                   /*無(wú)此月份*/
35         }
36         return 0;                                        /*程序結(jié)束*/
37  }

運(yùn)行程序,顯示結(jié)果如圖6.21所示。
如何理解多路開(kāi)關(guān)模式的switch語(yǔ)句
圖6.21  季節(jié)運(yùn)行圖

從該實(shí)例代碼和運(yùn)行結(jié)果可以看出:
程序中使用多路開(kāi)關(guān)模式,使得檢測(cè)month的值為3、4、5這3種情況時(shí),都會(huì)執(zhí)行相同的操作,并且利用default語(yǔ)句將不符合的數(shù)字顯示,提示信息表示輸入錯(cuò)誤。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

新聞名稱(chēng):如何理解多路開(kāi)關(guān)模式的switch語(yǔ)句
網(wǎng)站鏈接:http://muchs.cn/article42/ispghc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、企業(yè)建站、Google手機(jī)網(wǎng)站建設(shè)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司