switch&&case&&break&&default

一》switch case的基本结构

#include<stdio.h>
int main()
{
   switch(整型变量/常量/整型表达式)
  {
      case var1:
          break;

      case var2:
          break;

      case var3:
          break;

        default:
          break;
  }
  
  return 0;
}

二.》其他变形 的结构:

如果多个不同case匹配,想执行同一个语句,推荐做法:

#include <stdio.h>
int main()
{
  int day = 6;
    switch (day)
  {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
              printf("周内\n");
              break;
        case 6:
        case 7:
              printf("周末\n");
              break;
       default:
              printf("bug!\n");
              break;
  }

     return 0;
}

三.》其他变形的结构:

没有break会有什么问题?

#include <stdio.h>
int main()
{
  int day = 1;
     switch (day)
  {
         case 1:
               printf("星期一\n");
         case 2:
               printf("星期二\n");
         case 3:
               printf("星期三\n");
         case 4:
               printf("星期四\n");
               break;
         case 5:
               printf("星期五\n");
               break;
         case 6:
               printf("星期六\n");
               break;
         case 7:
               printf("星期日\n");
               break;
         default:
               printf("bug!\n");
               break;
  }

      return 0;
}

结论:case之后,如果没有break,则会依次执行后续有效语句,直到碰到break

总结:

1.switch语法结构中,case实现的是判断功能,break实现的是分支功能,default实现的是处理异常功能。

2.case:执行多条语句时(1.不能定义变量;2.如果需要,最好用花括号{}包含,或者写成函数分装简化)。

3.case:多种情况只执行一条语句时,多条case后续不写break。

4.case:后面不能放(1.const修饰的变量。2.普通变量。3.可以放宏定义的变量)建议要有好的布局case的方式。

5.default:可以出现在任何地方,推荐放在结尾。

  


版权声明:本文为weixin_55079859原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。