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 也常用于处理字符输入,例如:
立即学习“C++ 免费学习笔记(深入)”;
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,写的时候多留心。
以上就是