在C中切换案例陈述

开关语句允许一个变量来针对值的列表平等进行测试。每个值称为大小写,并针对每个开关大小写检查打开的变量。

用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 语句中使用的表达式 必须具有整数或枚举类型,或者是类类型,其中该类具有到整数或枚举类型的单个转换函数。

  • 开关内可以有任意数量的case语句。每个案例后面都跟要比较的值和一个冒号。

  • 案例的 常量表达式必须与开关中的变量具有相同的数据类型,并且必须是常量或文字。

  • 当打开的变量等于大小写时,该大小写之后的语句将执行,直到到达break 语句为止。

  • 当到达break 语句时,开关终止,控制流跳至switch语句后的下一行。

  • 并非每个案例都需要休息一下。如果没有出现中断 ,则控制流将进入随后的情况,直到达到中断为止。

  • switch语句可以具有可选的默认 大小写,该大小写必须出现在switch的末尾。当所有情况都不为真时,可以使用默认情况来执行任务。在默认情况下,无需中断 

范例程式码

#include <stdio.h>
int main () {
   /* local variable definition */
   char grade = 'B';
   switch(grade) {
      case 'A' :
         printf("Excellent!\n" );
         break;
      case 'B' :
      case 'C' :
         printf("Well done\n" );
         break;
      case 'D' :
         printf("You passed\n" );
         break;
      case 'F' :
         printf("Better try again\n" );
         break;
      default :
         printf("Invalid grade\n" );
   }
   printf("Your grade is %c\n", grade );
   return 0;
}

输出结果

Well done
Your grade is B