C++ 中的 Switch 语句详解

在 C++ 中,switch 语句是一种流控制构造,用于根据给定表达式的值从多个选项中执行一个代码块。与冗长的 if-else-if 链相比,它提供了一种更清晰、更高效的替代方案。

  • switch 语句使用一个变量或表达式,该变量或表达式通常提供一个整数或字符类型的常量值。
  • 每个 case 代表一个可能的值,当它与表达式匹配时执行。
  • break 语句用于结束一个 case,以防止程序继续执行下一个 case(这种现象称为“穿透”)。
  • 如果没有其他 case 匹配,default case 将被执行,且它的位置不会影响执行逻辑。

C++


CODEBLOCK_bc240ff0

输出

A

Switch 语句的流程图

!switch case in cppC++ 中 switch 语句的流程图

Switch 语句的规则

在 C++ 中使用 switch 语句时,我们需要牢记以下几点规则:

  • case 的值必须是 int(整数)或 char(字符)类型。
  • 您可以根据需要拥有任意数量的 case 块。
  • 不允许出现重复的 case 值。
  • 每个 case 中的 break 语句是可选的。但是,我们强烈建议使用它,否则即使后续的 case 不匹配,也会被执行,直到遇到 break 语句为止。

示例

下面的程序演示了 switch 语句在 C++ 程序中的用法:

1. 打印星期名称

C++


CODEBLOCK_e84c5187

输出

Thursday

在上面的示例中,我们使用 switch 语句打印了星期名称。类似地,我们可以编写一个程序,使用 switch 语句创建一个简单的计算器来执行基本的算术运算。

2. 使用 switch 的简单计算器

C++


CODEBLOCK_71774c6d

Try it on GfG Practice<img src="https://www.geeksforgeeks.org/problems/c-switch-case-statement5900/1" alt="redirect icon" />
输出

Enter the two numbers: 10 2
Enter the Operator (+,-,*,/)
Enter any other to exit
+
10 + 2 = 12

嵌套 Switch 语句

C++ 允许使用嵌套 switch 语句,这意味着我们可以将一个 switch 语句放在另一个 switch 语句内部。然而,通常我们会避免这种情况,因为它会使程序变得更加复杂且难以阅读。

Switch 与 If Else If 的对比

以下是 C++ 中 switch 和 if else if 阶梯结构之间的主要区别

switch

if else if

它根据 switch 变量的值执行不同的 case。

它根据指定的条件执行不同的代码块。

它只能计算 int 或 char 类型的表达式。

它可以计算任何类型的表达式。

对于大量条件,它执行速度更快且易于阅读。

当条件很多时,代码可能会变得混乱。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/53032.html
点赞
0.00 平均评分 (0% 分数) - 0