黑马程序员技术交流社区

标题: Switch 和case 的使用注意事项以及穿透效果的使用 [打印本页]

作者: wangchao1992    时间: 2015-8-9 22:40
标题: Switch 和case 的使用注意事项以及穿透效果的使用
本帖最后由 wangchao1992 于 2015-8-12 15:00 编辑

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



作者: wangchao1992    时间: 2015-8-12 15:01
顶一
作者: 408205555    时间: 2015-8-12 16:14
我也顶一下。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2