C++ Switch Case 语句与程序示例

⚡ 智能摘要

switch 语句 C++ switch 语句根据变量的值,从多个选项中选择要执行的代码块。在这里,你将学习 switch 语句的工作原理、语法、break 关键字以及示例。

  • 🔀 它是什么: switch 语句根据变量的值选择要执行的 case 之一。
  • 🧾 语法: switch(expr) 带有 case 标签、break 和可选的 default。
  • ⏹️ 休息: break 语句会阻止程序继续执行到下一个 case。
  • 🎯 何时使用: 用它来替换对单个变量的冗长的 if-else 语句链。
  • 🤖 人工智能帮助: GitHub Copilot 等 AI 工具会编写和检查 switch 语句。

C++ Switch 语句

什么是开关?

switch 语句有助于测试变量与一组值是否相等。每个被比较的值称为一个案例。

将 switch 视为多路分支语句。您可以根据表达式的值将程序的执行转移到各个部分。

什么时候使用开关?

switch 类似于 if…else…if 梯形图。但是,它生成的代码更简洁、更易懂。与 if…else…if 梯形图相比,switch 也更快。当您需要将变量的值与一组其他值进行比较时,请使用 switch 语句。

break 关键字

break 关键字用于 switch 语句中。它阻止代码运行到下一个 case。它终止语句序列。

当。。。的时候 C++ 编译器遇到 break 关键字时,switch 的执行终止,控制跳转到 switch 语句之后的行。switch 中 break 语句的使用是可选的。如果不使用 break 语句,则继续执行下一个 case。

句法

以下是 switch 语句的语法:

switch (variable)
{
    case 1: 
        break;
    case 2: 
        break;
    default: 
}	

上述参数解释如下:

  • 变量: 这是要进行比较的变量。
  • 案例: 有许多 case 语句。每个语句将变量与不同的值进行比较。
  • 打破: 此关键字阻止继续执行下一个 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;
}

输出:

Switch 案例程序

以下是代码截图:

Switch 案例程序

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间以便使用其类和 功能 无需调用它。
  3. 调用main()函数,在其中添加程序的逻辑。
  4. { 标记 main() 函数主体的开始。
  5. 声明一个变量 x 并将其初始化为 20。
  6. 使用 switch 语句并将参数 x 传递给它。这意味着我们需要将变量 x 的值与一组其他值进行比较。
  7. { 标记开关主体的开始。
  8. 将变量 x 的值与值 10 进行比较。
  9. 如果上述情况为真,即 x 为 10,则执行语句。break 可防止继续执行下一个情况。
  10. 将变量 x 的值与值 20 进行比较。
  11. 如果上述情况为真,即 x 为 20,则执行语句。break 可防止继续执行下一个情况。
  12. 将变量 x 的值与值 30 进行比较。
  13. 如果上述情况为真,即 x 为 30,则执行语句。break 可防止继续执行下一个情况。
  14. 默认值可帮助我们说明如果变量 x 的值不是 10、20 或 30 时应该做什么。
  15. 如果上述情况不成立,即 x 不是 10、20 或 30,则执行语句。
  16. Switch 语句主体的结束。
  17. 如果程序运行正常,main() 函数应该返回一个值。
  18. main() 函数体结束。

另请查看我们关于 C 和 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;
	}
}

输出:

Switch 案例程序

以下是代码截图:

Switch 案例程序

Code 说明:

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包括 std 命名空间,以便使用其类和函数而无需调用它。
  3. 调用 main() 函数,程序逻辑应添加到该函数中。{ 标记 main() 函数主体的开始。
  4. 声明一个名为 choice 的整型变量。
  5. 在控制台上打印一些文本。
  6. 提示用户输入选择的值。
  7. 使用 switch 语句并将参数 choice 传递给它。这意味着我们需要将变量 choice 的值与一组其他值进行比较。
  8. { 标记开关主体的开始。
  9. 将变量选择的值与值 1 进行比较。
  10. 如果上述情况为真,即 choice 为 10,则执行语句。break 可防止继续执行下一个情况。
  11. 将变量选择的值与值 2 进行比较。
  12. 如果上述情况为真,即 choice 为 2,则执行语句。break 可防止继续执行下一个情况。
  13. 将变量选择的值与值 3 进行比较。
  14. 如果上述情况为真,即选择为 3,则执行语句。break 阻止继续执行下一个情况。
  15. 默认值可帮助我们说明如果变量选择的值不是 1、2 或 3 时应该做什么。
  16. 如果上述情况不成立,即选择不是 1、2 或 3,则执行语句。
  17. switch 语句主体结束。
  18. main() 函数体结束。

常见问题

switch 语句根据单个变量或表达式的值,从多个 case 中选择要运行的代码块之一。

该语法使用 switch(表达式),带有一个或多个 case 标签,每个 case 后有一个 break,以及一个可选的 default case 用于表示不匹配的值。

break 语句会结束 switch 语句,阻止程序继续执行到下一个 case。如果没有它,后面的 case 也会继续执行。

当需要将一个变量与多个固定值进行比较时,请使用 switch 语句,因为它比一长串 if-else 语句更清晰。

switch 语句用于测试某个变量是否等于固定值,而 if-else 语句可以测试变量的取值范围和复杂条件。对于有很多固定选项的情况,switch 语句通常更简洁。

当表达式中没有匹配项时,将运行默认情况。它是可选的,通常放在最后以处理意外值。

GitHub Copilot 等 AI 助手可以根据注释生成 switch 语句,添加缺失的 break 语句,并将长的 if-else 链转换为 switch 语句。

是的。人工智能工具会标记缺失的 break 语句、无法执行的 case 和缺失的 default case,并提供帮助。ping 您的 C++ 开关逻辑运行正常。

总结一下这篇文章: