嗨客网搜索
C++ switch语句

C++ switch语句教程

switch 语句的作用类似于 if 语句,用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。

C++ 的 switch 语句如果匹配成功后,不需要继续匹配其他项,那么我们需要在每个项后面加 break 语句

如果,我们希望在任何一个都没有匹配成功后,使用默认的 case,那么我们可以使用 default 语句。

C++ switch语句详解

语法

switch (expression) { case val1: //do something break; case val2: //do something break; default: //do something break; }

参数

参数 描述
switch switch 语句使用的关键字。
expression 条件表达式。
case switch 语句判断条件的关键字。
val1 switch 的条件表达式 expression 是否满足 val1。
break 表示 case 执行完毕之后不再继续执行其他的 case。
default 表示所有的 case 都不满足时,执行的分支。

说明

如果 expression 的值满足条件 val1,那么就会执行 val1 下面的代码块,如果 expression 的值满足 val2,那么就会执行 val2 下面的代码块,如果所有条件都不满足,那么就执行 default 语句下面的代码块。

多个case执行相同逻辑

语法

switch (expression) { case val1: case val2: //case1 break; case val3: case val4: //case2 break; case val5: case val6: //case3 break; default: //default case break; }

说明

如果 expression 满足条件 val1 或者条件 val2,那么都执行 case1 代码逻辑,如果 expression 满足条件 val3 或者条件 val4,那么都执行 case2 代码逻辑,如果 expression 满足条件 val5 或者条件 val6,那么都执行 case3 代码逻辑。

案例

使用switch语句,判断整数

使用 switch 语句,判断整数

#include <iostream> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; int score = 80; switch(score) { case 90: cout << "Got A" << endl; break; case 80: cout << "Got B" << endl; break; case 70: cout << "Got C" << endl; break; default: cout << "Got D" << endl; break; } return 0; }

程序运行后,控制台输出如下:

30_C switch语句.png

我们定义了一个整数 变量 score,接着我们使用 switch 语句判断 score,如果是 90,则输出 A,如果是 80,则输出 B,如果是 70,则输出 C,其他情况,输出 D。

因为,我们的值为 80,匹配到了 80 的 case,因此输出了 B。

使用switch语句,执行default case

使用 switch 语句,执行 default case

#include <iostream> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; int score = 60; switch(score) { case 90: cout << "Got A" << endl; break; case 80: cout << "Got B" << endl; break; case 70: cout << "Got C" << endl; break; default: cout << "Got D" << endl; break; } return 0; }

程序运行后,控制台输出如下:

31_C switch语句.png

我们定义了一个整数变量 score,接着我们使用 switch 语句判断 score,如果是 90,则输出 A,如果是 80,则输出 B,如果是 70,则输出 C,其他情况,输出 D。

因为,我们的值为 60,所有的 case 都不匹配,因此执行了 default 语句的逻辑,输出了 D。

使用switch语句,case连写

使用 switch 语句,case 连写

#include <iostream> using namespace std; int main(int argc, char **argv) { cout << "嗨客网(www.haicoder.net)\n" << endl; int score = 70; switch(score) { case 90: case 85: cout << "excellent" << endl; break; case 80: case 70: cout << "Good" << endl; break; case 60: cout << "Pass" << endl; break; default: cout << "Strive" << endl; break; } return 0; }

程序运行后,控制台输出如下:

32_C switch语句.png

我们定义了一个整数变量 score,接着我们使用 switch 语句判断 score,如果是 90 或者 85,则输出 excellent,如果是 80 或者 70,则输出 Good,如果是 60,则输出 Pass,其他情况,输出 Strive。

因为,我们的值为 70,因此输出了 Good。

C++ switch语句总结

switch 语句的作用类似于 if 语句,用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。

C++ 的 switch 语句如果匹配成功后,不需要继续匹配其他项,那么我们需要在每个项后面加 break 语句。

嗨客网顶部