C++ Switch Case 语句及程序示例
什么是 switch?
switch 语句有助于将一个变量的值与一组值进行相等性测试。每个进行比较的值被称为一个 case。
将 switch 看作一个多路分支语句。您可以根据表达式的值将程序的执行转向不同的部分。
何时使用 switch?
switch 语句类似于 if…else…if 阶梯语句。然而,它生成的代码更清晰,更易于理解。与 if…else…if 阶梯语句相比,switch 的执行速度也更快。当您需要将一个变量的值与一组其他值进行比较时,请使用 switch 语句。
break 关键字
break 关键字在 switch 语句内部使用。它阻止代码执行到下一个 case。它终止一个语句序列。
当 C++ 编译器遇到 break 关键字时,switch 的执行将终止,并将控制权转移到 switch 语句之后的行。break 语句在 switch 中的使用是可选的。如果不使用,执行将继续到下一个 case。
语法
以下是 switch 语句的语法
switch (variable) { case 1: break; case 2: break; default: }
上述参数将在下面进行解释
- 变量:这是需要进行比较的变量。
- Case:有许多 case 语句。每个语句将变量与不同的值进行比较。
- Break:此关键字可防止执行继续到下一个 case 语句。
- Default:这是可选的。它说明当变量的值与任何 case 都不匹配时应执行什么操作。
Switch Case 程序示例 1
#include<iostream> using namespace std; int main() { int x = 20; switch (x) { case 10: cout<<"X is 10"; break; case 20: cout << "X is 20"; break; case 30: cout << "X is 30"; break; default: cout<<"X is not 10, 20 or 30"; break; } return 0; }
输出
这是代码的屏幕截图:
代码解释
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包含 std 命名空间,以便使用其类和函数而不调用它。
- 调用 main() 函数,程序的逻辑应添加到其中。
- { 标记 main() 函数体的开始。
- 声明一个名为 x 的变量并将其初始化为 20。
- 使用 switch 语句并将其参数 x 传递给它。这意味着我们需要将变量 x 的值与一组其他值进行比较。
- { 标记 switch 主体的开始。
- 将变量 x 的值与值 10 进行比较。
- 如果上述 case 为真,即 x 为 10,则执行的语句。break 可防止执行继续到下一个 case。
- 将变量 x 的值与值 20 进行比较。
- 如果上述 case 为真,即 x 为 20,则执行的语句。break 可防止执行继续到下一个 case。
- 将变量 x 的值与值 30 进行比较。
- 如果上述 case 为真,即 x 为 30,则执行的语句。break 可防止执行继续到下一个 case。
- default 有助于我们说明当变量 x 的值不是 10、20 或 30 时应执行的操作。
- 如果上述 case 不为真,即 x 不是 10、20 或 30,则执行的语句。
- switch 语句主体的结束。
- 如果程序运行正常,main() 函数应返回值。
- main() 函数体结束。
还可以查看我们关于 C 和 C++ 之间区别的文章:点击此处
Switch Case 程序示例 2
#include <iostream> using namespace std; int main() { int choice; cout << "Enter 1, 2 or 3: "; cin >> choice; switch (choice) { case 1: cout << "Choice 1"; break; case 2: cout << "Choice 2"; break; case 3: cout << "Choice 3"; break; default: cout << "Not 1, 2 or 3"; break; } }
输出
这是代码的屏幕截图:
代码解释
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包含 std 命名空间,以便使用其类和函数而无需调用它们。
- 调用 main() 函数,程序的逻辑应添加到其中。{ 标记 main() 函数体的开始。
- 声明一个名为 choice 的整数变量。
- 在控制台上打印一些文本。
- 提示用户输入 choice 的值。
- 使用 switch 语句并将其参数 choice 传递给它。这意味着我们需要将变量 choice 的值与一组其他值进行比较。
- { 标记 switch 主体的开始。
- 将变量 choice 的值与值 1 进行比较。
- 如果上述 case 为真,即 choice 为 10,则执行的语句。break 可防止执行继续到下一个 case。
- 将变量 choice 的值与值 2 进行比较。
- 如果上述 case 为真,即 choice 为 2,则执行的语句。break 可防止执行继续到下一个 case。
- 将变量 choice 的值与值 3 进行比较。
- 如果上述 case 为真,即 choice 为 3,则执行的语句。break 可防止执行继续到下一个 case。
- default 有助于我们说明当变量 choice 的值不是 1、2 或 3 时应执行的操作。
- 如果上述 case 不为真,即 choice 不是 1、2 或 3,则执行的语句。
- switch 语句主体的结束。
- main() 函数体结束。
摘要
- switch 语句帮助我们创建一个简单的 if…else…if 阶梯语句。
- switch 语句的语法比 if…else…if 阶梯语句更清晰、更简单。
- 当需要将一个变量的值与一组其他值进行比较时,应使用 switch 语句。
- 值被添加到 case 语句中。
- break 关键字停止执行继续到下一个 case。
- 可选的 default 部分用于说明在没有 case 匹配时要采取的操作。