switch 是多分支選擇語句
它的用法跟if語句不太一樣,我們先來看一下它的基本代碼框架
switch (A) // A代表着想要選擇判斷的變量
{
case # : 語句; //# 代表變量A的值
break; //break表示結束switch選擇
case # : 語句;
break;
default : 語句; //default 當以上case 後面 # 都不是 A的值的時候 默認執行default後面的語句
}
我們舉一個例子:
Jun冕被老師叫去幫忙寫一個小程序來進行考試分數等級的轉換
90 - 100 A
80 - 90 B
70 - 80 C
60 - 70 D
小于60 E
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
printf("請輸入分數\n");
switch(n/10)
{
case 10:
case 9: printf("A\n");
break;
case 8: printf("B\n");
break;
case 7: printf("C\n");
break;
case 6: printf("D\n");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf("E\n");
break;
default: printf("Error\n");
}
return 0;
}
下面我們就這個例子來講解運行switch的注意事項
1.switch是順序執行語句,如果不遇到break會一直執行下去直到默認的default結束
下面來示範一下不加break的代碼運行結果
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
printf("請輸入分數\n");
switch(n/10)
{
case 10:
case 9: printf("A\n");
case 8: printf("B\n");
case 7: printf("C\n");
case 6: printf("D\n");
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf("E\n");
default: printf("Error\n");
}
return 0;
}
我們發現當我們輸入90的時候下面每一個分枝結果都輸出的一遍
這就是不加break後,不能有效地篩選自己想要的結果
2.switch(A) A的數據類型隻能說整型 字符型 枚舉型
當時浮點型數據的時候程序就會報錯
這就是switch大概需要注意的事項了 感謝大家的支持
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!