位置:首页 » 文章/教程分享 » C语言switch语句

switch语句可以让一个变量对值列表相等进行测试。每个值被称为 case ,该变量被接通检查每个开关盒(switch case)。

语法

在C编程语言中的switch语句是语法如下:

switch(expression){
    case constant-expression  :
       statement(s);
       break; /* optional */
    case constant-expression  :
       statement(s);
       break; /* optional */
  
    /* you can have any number of case statements */
    default : /* Optional */
       statement(s);
}

以下规则适用于switch语句:

  • 在switch语句中使用表达式(expression )必须是整型或枚举类型,或者作为类,其中所述类有一个单一的转换功能以一个整体或枚举类型

  • 在switch语句中可以有任意数量的case语句。每一个case后跟的值进行比较,并跟着一个冒号

  • 恒定表达(constant-expression) 的case语句,必须是相同的数据类型,在switch变量,它必须是一个常量或文字

  • 当被swith变量上等于case语句中的值,case下面将执行,直到break语句为止

  • 当到达一个break语句,switch终止,并且控制流跳转到下switch语句的下一行

  • 不是每一个case需要包含一个breal。如果未出现break,控制流都将落空到后续case,直到 break 为止

  • switch语句可以有一个可选默认case,它必须出现在switch结束。在默认情况下break语句不是必要的

流程图:

switch statement in C

例子:

#include <stdio.h>
 
int main ()
{
   /* local variable definition */
   char grade = 'B';

   switch(grade)
   {
   case 'A' :
      printf("Excellent!" );
      break;
   case 'B' :
   case 'C' :
      printf("Well done" );
      break;
   case 'D' :
      printf("You passed" );
      break;
   case 'F' :
      printf("Better try again" );
      break;
   default :
      printf("Invalid grade" );
   }
   printf("Your grade is  %c", grade );
 
   return 0;
}

让我们编译和运行上面的程序,这将产生以下结果:

Well done
Your grade is B