C語言-Switch 和case 的使用注意事項以及穿透效果的使用
阿新 • • 發佈:2019-02-03
switch 使用注意事項
//1、switch語句的表示式型別
// 1)可以放一個整型的變數 int num = 10;switch (num)
// 2)可以放一個整形常量 switch (10)
// 3)可以放一個返回值是整型的表示式 switch (5+5),num = 5+5
// 4)還可以放可以轉換為int型別的表示式 switch ('a') case 97:
case 使用注意事項
1、case語句可以有多個
// 0) case語句格式: case 常量表達式: (空格和冒號不能省)
// 1) 可以是常量 case 10:
// 2) 如果放表示式,那麼只可以是常量表達式 case 5+5:
// 3) default語句的位置可以任意放
// 4) case的穿透問題,同樣適用於 default
// 5) 如果default語句放到 switch語句的最後,可以不加break
// 如果不是放到最後,是必須加上break的
// 6) case 後面不能是實數 (單精度,雙精度都不可以)
// 7) case 語句之後,預設的第一句話不能定義定義變數
// 如果第一句話非要定義,應該加上大括號
下面是switch case 穿透效果的應用
#include <stdio.h>
int main(int argc, const char * argv[]) {
//定義變數
int month;
//提示使用者輸入一個月份
printf("請輸入一個月份,範圍1-12之間:\n");
//接收使用者輸入的月份
scanf("%d",&month);
//校驗
if (month<1 || month>12) {
printf("月份不合法!\n");
return 0;
}
//判斷處於哪個季節
switch (month) {
case 12:
case 1:
case 2:
printf("冬季\n");
break;
case 3:
case 4:
case 5:
printf("春季\n");
break;
case 6:
case 7:
case 8:
printf("夏季\n");
break;
case 9:
case 10:
case 11:
printf("秋季\n");
break;
}
return 0;
}