1. 程式人生 > >C語言-Switch 和case 的使用注意事項以及穿透效果的使用

C語言-Switch 和case 的使用注意事項以及穿透效果的使用

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;
}