switch/case語句是C語言中的多分支選擇語句。
想象你是程序員,要解決這樣一個問題:班級值日是這樣安排的,星期一小李值日,星期二小王值日,星期三小張值日,星期四小趙值日,星期五小孫值日,要求寫一個程序,當輸入星期幾時能夠正确輸出今天是誰值日。
如果你讀了C程序解析:C語言控制語句之if/else語句詳解這篇文章,相信你能想到:這不就是判斷一下輸入的是星期幾,然後執行相應的操作嘛,用if語句就可以搞定:
if("星期一")
{
printf("小李值日\n");}
if("星期二") {
printf("小王值日\n");}
.....
當然可以這樣來實現,但是這樣多個if語句會顯的很混亂,而且代碼中存在大量冗餘。
某大牛曾說:“我們要優雅的寫代碼,寫優雅的代碼,做優雅的程序員~”。
C語言提供了switch/case語句來解決多分支選擇語句,它的邏輯是這樣的:
實現也很簡單,以上述值日為例:
int main(){
int today;
printf("輸入今天的日期:\n");
scanf_s("%d", &today);
switch (today){
case 1:
printf("小李值日\n");
break;
case 2:
printf("小王值日\n");
break;
case 3:
printf("小張值日\n");
break;
case 4:
printf("小趙值日\n");
case 5:
printf("小孫值日\n");
break;
default:
printf("輸入的日期不正确\n");
}
return 0;
}
通過上一篇文章C程序解析:C語言循環語句break和continue關鍵字,大家應該明白“break”是什麼意思吧,那最後的“default”是什麼意思呢?它一般是用來處理錯誤的輸入的,上述例子中我們定義好了1~5對應該怎麼處理(即由誰來值日),但如果我們輸入一個“9”,沒有定義好的處理語句,此時,就會執行到default處。
通過switch/case語句,我們可以簡潔的處理多分支選擇地問題,實現“優雅的寫代碼,寫優雅的代碼”的小目标~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!