C++ switch分支语句

一、switch是什么
switch 也是分支判断语句,适合固定整数/字符多分支选择,比多层if else if代码更整齐,常用于菜单、等级判断。
语法格式:
switch(表达式)
{
case 常量1:
语句;
break;
case 常量2:
语句;
break;
default:
都不匹配时执行;
break;
}
关键点:

  1. switch括号里只能是int、char这类整型数据;

  2. case后面必须写固定常量,不能写区间;

  3. break 用来跳出分支,不加会穿透到下一个case;

  4. default 可选,所有case都不满足时执行。

二、基础示例:成绩等级判断

include

using namespace std;

int main()
{
int score;
cout << "请输入分数(0~100):";
cin >> score;
int level = score / 10;

switch(level)
{
case 10:
case 9:
cout << "优秀";
break;
case 8:
cout << "良好";
break;
case 7:
cout << "中等";
break;
case 6:
cout << "及格";
break;
default:
cout << "不及格";
break;
}
return 0;
}
这里利用case穿透,90~100分共用同一套输出逻辑,简化代码。

三、菜单选择小案例

include

using namespace std;

int main()
{
int op;
cout << "1.加法 2.减法 3.退出" << endl;
cout << "请输入操作序号:";
cin >> op;

switch(op)
{
case 1:
cout << "执行加法运算";
break;
case 2:
cout << "执行减法运算";
break;
case 3:
cout << "程序退出";
break;
default:
cout << "输入数字无效";
break;
}
return 0;
}
四、易错点总结

  1. 忘记写break:程序会继续执行后面case的代码,造成穿透;

  2. case后不能写范围(比如case 60~80:是非法语法);

  3. switch不能直接用小数、字符串做判断条件;

  4. default写在任意位置都生效,建议放在最后。

五、学习小结
switch 适合离散固定值的多分支场景,代码可读性远优于连续if else if,写菜单、成绩分级、选项程序时优先使用。

posted @ 2026-06-23 10:51  邱宁宇  阅读(3)  评论(0)    收藏  举报