17370845950

c++ switch case用法 c++ switch语句实例
switch语句用于多分支等值判断,支持整型、字符型和枚举类型,通过case匹配常量执行对应代码块,break防止穿透,default处理默认情况,常用于菜单和状态机。

在C++中,switch case语句是一种多分支选择结构,用于根据变量或表达式的值执行不同的代码块。相比多个if-else语句,switch在处理多个固定值判断时更清晰、高效。

switch语句基本语法

其基本格式如下:

switch (表达式) {
  case 常量1:
    // 代码块1
    break;
  case 常量2:
    // 代码块2
    break;
  default:
    // 默认代码块(可选)
}

说明:
- 表达式的结果必须是整型、字符型或枚举类型(不能是浮点型或字符串)。
- 每个case后的值必须是常量或字面量。
- break用于跳出switch,避免“穿透”到下一个case。
- default在所有case都不匹配时执行,可放在任意位置,建议放最后。

简单实例:菜单选择

下面是一个使用switch实现简单菜单的示例:

#include iostream>
using namespace std;

int main() {
  int choice;
  cout   cout   cout   cout   cout   cout   cin >> choice;

  switch (choice) {
    case 1:
      cout       break;
    case 2:
      cout       break;
    case 3:
      cout       break;
    case 4:
      cout       break;
    default:
      cout   }

  return 0;
}

字符型变量的switch用法

switch也常用于处理字符输入,例如:

char op;
cout cin >> op;

switch (op) {
  case '+':
    cout     break;
  case '-':
    cout     break;
  case '*':
    cout     break;
  case '/':
    cout     break;
  default:
    cout }

注意事项与常见问题

使用switch时需注意以下几点:

  • case后面只能是常量,不能是变量或表达式(如 case x: 是错误的)。
  • 忘记写break会导致程序继续执行下一个case的代码(称为“fall-through”),有时会被故意使用,但多数情况是bug来源。
  • default不是必须的,但在用户输入不可控时建议加上,提高程序健壮性。
  • 多个case可以共享同一段代码,例如: case 'a':
    case 'A':
      cout   break;

基本上就这些。switch语句适合做等值判断,逻辑清晰,写菜单、状态机等场景特别实用。不复杂但容易忽略break,写的时候多留心。