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;
}

输出

Switch Case Program

这是代码的屏幕截图:

Switch Case Program

代码解释

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

输出

Switch Case Program

这是代码的屏幕截图:

Switch Case Program

代码解释

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

摘要

  • switch 语句帮助我们创建一个简单的 if…else…if 阶梯语句。
  • switch 语句的语法比 if…else…if 阶梯语句更清晰、更简单。
  • 当需要将一个变量的值与一组其他值进行比较时,应使用 switch 语句。
  • 值被添加到 case 语句中。
  • break 关键字停止执行继续到下一个 case。
  • 可选的 default 部分用于说明在没有 case 匹配时要采取的操作。