C 語言中的 switch/case 語句
很多時候 if 語句可以很好的滿足我們對于分支控制的需求,但是當你要對于一系列有著相同表達式不同內容的東西分類的時應該怎么辦?這正式今天要介紹的內容。
1. 語法
switch (表達式)
{
case 常量1:
語句1
break;
case 常量2:
語句2
break;
.
.
.
default:
語句n
}
2. 執(zhí)行過程
3. 應用場景
當一個變量有很多種可能,而每種情況下都要進行不同的處理的時候就需要使用 switch-case 語句了。當你要翻譯數字到英文的時候怎么辦?你會從大腦中迅速的匹配每個數字所對應的英文。找到后通過你筆寫出來或者用嘴發(fā)聲說出來。每次都會進行一個匹配和處理的行為。這就是一個 switch-case 過程。
4. 實例
#include <stdio.h>
int main()
{
int x = 5;
switch (x)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
default:
printf("輸入的數字超出范圍。\n");
break;
}
return 0;
}
運行結果:
星期五
程序中會匹配變量 x 的值。當與條件一致時就會執(zhí)行相應的語句,然后停止執(zhí)行后面的語句??梢試L試修改里面的條件。如果將變量 x 的數值改為 10 請大家嘗試會輸出什么。
5. 小結
如果沒有 switch-case 語句,要想實現實例中程序要寫 7 個 if 語句才能實現,而使用 switch-case 則簡化很多。很容易看到判斷條件以及相應的處理語句。需要值得注意的是, switch-case 語句是順序執(zhí)行的,所以請注意不要忘記每條語句中的 break 語句。否則,這個語句會從頭執(zhí)行到尾,執(zhí)行全部的語句。這樣就失去了 switch-case 語句的作用。