最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

那些年C++ 流程控制 switch..case 语句

XAMPP相关 admin 447浏览 0评论

第十二章:C++ switch..case 语句

在此篇教程中,我们将借助一些示例程序来了解 switch 语句及其在 C++ 编程中的工作过程。

switch 语句允许我们在许多备选条件中执行一个代码块。

C++中switch语句的语法是:

switch (expression)  {
    case constant1:
        // 如果要执行的代码
        // 表达式expression等于constant1
        break;

    case constant2:
        // 如果要执行的代码
        // 表达式expression等于constant2
        break;
        .
        .
        .
    default:
        // 如果要执行的代码
        // 表达式(expression)不匹配任何常量(constant)
}

switch 语句是如何工作的?

该 expression 被判断一次并与每个 case 标签的值 constant 进行比较。

  • 如果有匹配,则执行匹配标签后的相应代码。例如,如果变量的值等于constant2,则执行case constant2: 之后的代码,直到遇到break 语句。
  • 如果没有匹配,则执行 default: 之后的代码。

Note: 我们也可以用 if...else...if 搭阶梯的形式做同样的事情。然而,switch 语句的语法更简洁,更易于阅读和编写。


switch 语句流程图

dra96

C++ switch…case语句的流程图


示例:使用 switch 语句创建计算器

// 用switch语句构建简单计算器的程序
#include <iostream>
using namespace std;

int main() {
    char oper;
    float num1, num2;
    cout << "Enter an operator (+, -, *, /): ";
    cin >> oper;
    cout << "Enter two numbers: " << endl;
    cin >> num1 >> num2;

    switch (oper) {
        case '+':
            cout << num1 << " + " << num2 << " = " << num1 + num2;
            break;
        case '-':
            cout << num1 << " - " << num2 << " = " << num1 - num2;
            break;
        case '*':
            cout << num1 << " * " << num2 << " = " << num1 * num2;
            break;
        case '/':
            cout << num1 << " / " << num2 << " = " << num1 / num2;
            break;
        default:
            // 运算符不匹配任何case常量 (+, -, *, /)
            cout << "错误! 你输入的计算符不正确";
            break;
    }

    return 0;
}

输出 1:

Enter an operator (+, -, *, /): +
Enter two numbers: 
2.3
4.5
2.3 + 4.5 = 6.8

输出 2:

Enter an operator (+, -, *, /): -
Enter two numbers: 
2.3
4.5
2.3 - 4.5 = -2.2

输出 3:

Enter an operator (+, -, *, /): *
Enter two numbers: 
2.3
4.5
2.3 * 4.5 = 10.35

输出 4:

Enter an operator (+, -, *, /): /
Enter two numbers: 
2.3
4.5
2.3 / 4.5 = 0.511111

输出 5:

Enter an operator (+, -, *, /): ?
Enter two numbers: 
2.3
4.5
错误! 你输入的计算符不正确.

在上面的程序中,我们使用 switch...case 语句来执行加法、减法、乘法和除法。

那么该程序如何运作的呢?

  1. 我们首先提示用户输入所需的运算符。然后将此输入存储在名为 operchar 类型的变量中。
  2. 然后我们提示用户输入两个数字,它们存储在浮点(float)类型的变量num1num2中。
  3. 然后使用 switch 语句检查用户输入的运算符:
    • 如果用户输入+,则对数字执行加法。
    • 如果用户输入 -,则对数字执行减法。
    • 如果用户输入 *,则对数字进行乘法运算。
    • 如果用户输入/,则对数字进行除法。
    • 如果用户输入任何其他字符,则打印 default 后的代码。

请注意:以上在每个 case 块中都使用了 break 语句。这将终止 switch 语句。

如果不使用 break 语句,则执行正确 case 之后的所有 case。

 

程序算法实验室 zhangJA-Lab

转载请注明:XAMPP中文组官网 » 那些年C++ 流程控制 switch..case 语句

您必须 登录 才能发表评论!