C++ switch分支语句
一、switch是什么
switch 也是分支判断语句,适合固定整数/字符多分支选择,比多层if else if代码更整齐,常用于菜单、等级判断。
语法格式:
switch(表达式)
{
case 常量1:
语句;
break;
case 常量2:
语句;
break;
default:
都不匹配时执行;
break;
}
关键点:
-
switch括号里只能是int、char这类整型数据;
-
case后面必须写固定常量,不能写区间;
-
break 用来跳出分支,不加会穿透到下一个case;
-
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;
}
四、易错点总结
-
忘记写break:程序会继续执行后面case的代码,造成穿透;
-
case后不能写范围(比如case 60~80:是非法语法);
-
switch不能直接用小数、字符串做判断条件;
-
default写在任意位置都生效,建议放在最后。
五、学习小结
switch 适合离散固定值的多分支场景,代码可读性远优于连续if else if,写菜单、成绩分级、选项程序时优先使用。
浙公网安备 33010602011771号