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

来源:互联网 发布:android http网络协议 编辑:程序博客网 时间:2024/06/01 10:45

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


0 0