您好,登錄后才能下訂單哦!
如何理解多路開關模式的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語句將不符合的數字顯示,提示信息表示輸入錯誤。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。