switch语句用法,switch语句怎么写
今天为大家带来 switch 语句的详细教程
在之前的教程中,我们可以使用 if 语句对条件分支进行判断,但在实际的应用过程中,我们常常会用到更多的分支。虽然使用 if 的嵌套可以达到效果,但如果分支比较多,就会使得嵌套的层数比较多。代码就会变得冗余,且可读性降低。 这时,我们就可以选择使用 switch 语句来达到目的。
switch 语句的基本形式
switch 语句是多分支选择语句。如果在程序中我们需要验证一种情况的多种取值,就可以使用 switch 语句来进行。例如:
switch (表达式){ case 情况1; 语句1; break; case 情况2; 语句2; break; case 情况3; 语句3; break; default; 默认语句; break;}
上述案例是 switch 语句的基本语法,可以看到 switch 语句能够对多种情况进行判断。switch 语句后的表达式就是需要判断的条件,case 关键字后就是表达式不同的条件。在最后还有一个 default 关键字,这个关键字的作用是如果所有的 case 后都没有符合的条件,则会执行 default 关键字后的语句。
在 switch 语句中还有一个重要的关键字 break 关键字。这个关键字的作用是跳出 switch 语句。上述的 switch 语句语法示例中可以看到,在每一个 case 语句后都有一个 break 关键字。这样可以使有一个情况符合后不再判断其他的情况是否符合,而是直接跳过整个 switch 语句。
若是我们想在判断出符合情况的情况下继续判断其他情况是否符合,就可以将 break 关键字去除。这样就形成了多路开关模式的 switch 语句,例如:
switch (表达式){ case 情况1; 语句1; case 情况2; 语句2; case 情况3; 语句3; default; 默认语句;}
在上述的案例中,程序就会判断所有的符合的情况并且按顺序全部输出。
if else语句与switch语句的区别
if else 语句和 switch 语句都可以根据不同的情况对条件进行判断,从而执行不同的语句,但这两者之间有很大的不同。
if else 语句与 switch 语句最大的不同就是 if else 语句是先对条件进行判断,之后进行执行。而 switch 语句是首先执行后判断。其次,这两者还有效率的差距。if else 语句通常用来进行少量的检测,而 switch 语句通常用来进行大量条件的检测。if else 语句会随着需要判断的条件不断增多而变得越来越慢,而 switch 语句中所有 case 的速度是一样的。因此,在需要检测的条件少于5个,且在后续不会增加检测数量时,我们通常会使用 if else 语句。在需要检测的条件大于5个或者在后期需要增加检测语句的情况下,我们通常会使用 switch 语句。
示例代码
这一小节,我们将使用 switch 语句来编写根据成绩的优良可差来输出分数段。我们将 90 分以上划为A,80~90 分划为B,60~80分划为C,60 分以下划为D。若输入的值不为 ABCD,则提示非法输入。代码如下:
#include <iostream>#include <string>#include<stdio.h>using namespace std;int main() { char level; while (1) { cout << "请输入成绩等级" << endl; cin >> level; switch (level) { case 'A': cout << "A 的成绩在90~100分" << endl; break; case 'B': cout << "B 的成绩在80~90分" << endl; break; case 'C': cout << "C 的成绩在60~80分" << endl; break; case 'D': cout << "D 的成绩在0~60分" << endl; break; default: cout << "非法输入" << endl; break; } }}
上述代码的运行结果如下:
本文地址:百科问答频道 https://www.neebe.cn/wenda/933343.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!