C++ switch-case 语句详解

switch 语句提供了一种高效的多路分支选择机制,允许程序根据表达式的值跳转到不同的代码块执行。

语法结构:

switch (表达式) {
  case 常量表达式1:
    语句1;
    break; 
  case 常量表达式2:
    语句2;
    break;
  ...
  case 常量表达式n:
    语句n;
    break;
  default: 
    语句n+1; 
}

工作原理:

  1. 计算表达式: 首先计算 switch 关键字后面括号内表达式的值。
  2. 匹配 case 标签: 将计算结果与每个 case 标签后的常量表达式进行比较。
  3. 执行语句块: 如果找到匹配的 case 标签,则执行该标签后的语句块。
  4. break 语句: break 语句用于跳出 switch 语句,防止继续执行后续的 case 语句块。如果省略 break,程序会继续执行下一个 case 语句块,直到遇到 breakswitch 语句结束。
  5. default 语句: 如果没有任何 case 标签匹配,则执行 default 标签后的语句块。 default 语句是可选的,但建议添加,以便处理未预料到的情况。

示例:

char grade = 'B';

switch (grade) {
  case 'A':
    cout << "优秀";
    break;
  case 'B':
    cout << "良好";
    break;
  case 'C':
    cout << "中等";
    break;
  default:
    cout << "不及格";
}
// 输出:良好

注意事项:

  • switch 语句中的表达式必须是整型或枚举类型。
  • 每个 case 标签后的常量表达式必须是唯一的。
  • default 语句是可选的,但建议添加。
ppt 文件大小:8.66MB