C语言中的switch case语句


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

  • 可以在一个 switch 中包含任意数量的 case 语句。每个 case 后面跟着要比较的值和一个冒号。

  • case 的常量表达式必须与 switch 中变量的数据类型相同,并且必须是常量或字面量。

  • 当被切换的变量等于某个 case 时,该 case 后面的语句将执行,直到遇到break语句。

  • 遇到break语句时,switch 将终止,控制流跳转到 switch 语句后面的下一行。

  • 并非每个 case 都需要包含break。如果没有break,控制流将贯穿到后续的 case,直到遇到 break。

  • switch 语句可以有一个可选的default case,它必须出现在 switch 的末尾。当没有一个 case 为真时,可以使用 default case 执行任务。default case 不需要break

示例代码

在线演示

#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

更新于:2019年7月30日

1K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告