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