switch 语句:
作用:执行多条件分支语句
这个语法中有四个关键字switch
case
break
default
我们先来看看这个语法是个啥:
switch(表达式)
{
case 结果1 : 执行的语句;break;
case 结果2 : 执行的语句;break;
default:执行语句;break;
}
分析一下:
switch(表达式) //注意没有分号
{
case 结果1 : 执行的语句;break; //注意执行的语句后有分号,berak 后面还有一个分号
case 结果2 : 执行的语句;break;
// 这边还可以无线的 case
default:执行语句;break; //前面结果都没有则执行这边的内容,相当于保底
}
如果不给 break(break 含义:退出当前分支)
Eg:
#include <iostream>
using namespace std;
int main()
{
int scores = 0;
cout << "请给电影评分" << endl;
cin >> scores;
cout << "评分" << scores << endl;
//根据用户输入的分数提示结果
switch (scores)
{
case 10:
cout << "经典" << endl;
case 9:
cout << "经典" << endl;
case 8:
cout << "非常好" << endl;
case 7:
cout << "非常好" << endl;
case 6:
cout << "一般" << endl;
case 5:
cout << "一般" << endl;
default:
cout << "什么垃圾?" << endl;
}
system("pause");
return 0;
}
输出:(环境:Windows11(arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
请给电影评分
10
评分10
经典
经典
非常好
非常好
一般
一般
什么垃圾?
请按任意键继续. . .
如果不用 break,那么就会出现下面的都会执行。(关于 break 的问题,参考[03-1-1 跳转语句-break语句.md](03-1-1 跳转语句-break语句.md))
最后的default,相当于 if 语句里面的最后一个 else 。
switch 的缺点:switch 只能是整型或者字符型。不能是一个区间。比如上面的内容。 scores10 和 9 是同样的输出,那么使用 switch 就必须要输入两次的 case 。而如果使用 if,那么我们只需要 if (scores>=9)就可以了。
switch 的优点:看上去清晰一点,执行效率高于 if 。
:-)