在日常生活中,我們經常會遇到多分支的情況。當分支較多時,我們可以用嵌套的if-else語句。但是這樣會讓結構顯得混亂。這個時候我們可以考慮用switch語句。
1.語法格式
switch (表達式)
{
? ? ? ? case 常量表達式1:
? ? ? ? ? ? ? ?語句1;
? ? ? ? ? ? ? ? break;
? ? ? case? 常量表達式2:
? ? ? ? ? ? ? ?語句2;
? ? ? ? ? ? ? break;
........
? ? ? ?case? ??常量表達式n:
? ? ? ? ? ? ? 語句n;
? ? ? ? ? ? ?break;
? ? ? ?default :
? ? ? ? ? ? ? 語句n+1;
? ? ? ? ? ? ? break;
2.使用說明
在switch語句中,可以有多個case,但只能有一個default。當然default部分可以省略。
每個case后面的常量表達式必須是整數類型,包括char類型。并且case后面的常量表達式必須與switch后面的表達式相匹配。每個case后面的常量表達式的值不能相同。
多個case后面可以跟同一個常量表達式。
3.執行過程
程序首先計算switch后面的表達式的值,與case后面的常量表達式的值進行比較,如果與某一項的值相等,則進入對應標簽?的語句執行。直到遇到break。如果case中所有的標簽都不滿足,則走對應default后面的語句。(如果有的話)
4.示例代碼
輸入分數,輸出對應的等級
#include<stdio.h>
int main(void)
{
? ? ?int score;
? ? scanf("%d",&score);
? ? switch(score/10)
? ? ? case? ? 10:
? ? ? case? ?9:
? ? ? ? ? ? printf("A");
? ? ? ? ? ? break;
? ? ?case? ? 8:
? ? case? ? ?7:
? ? ? ? ? ?printf("B");
? ? ? ? ? break;
? ? ? case 6:
? ? ? ? printf("C");
? ? ? ? break;
? ?default:
? ? printf("D");
? ? break;
? return 0;
}
5.擴展示例
(1)
?
(2)
?
今天內容到此結束,下次再見。
?