编辑这个页面须要登录或更高权限!

C++ switch 语句

在本文中,您将学习在C ++编程中创建一个switch语句(带有示例)。

C++ switch语句从多个条件执行一个语句。 它就类似于在C++中的if-else-if语句。

但switch语句通常比if ... else更快。另外,switch语句的语法更简洁,更易于理解。

C ++ switch ...case 语句语法

switch (n)
{
    case constant1:
        //如果n等于constant1,将执行的代码;
        break;

    case constant2:
        //如果n等于constant2,将执行的代码;
        break;
        .
        .
        .
    default:
        // 如果n不匹配任何constant,将执行的代码
}

当找到与case表达式匹配的(constant1,constant2....constant)时,程序的控制权将传递给与该case关联的代码块。

在上述代码中,假设的值n等于constant2。编译器将执行与case语句关联的constant2代码块,直到switch块的末尾或遇到break语句为止。

break语句用于防止代码进入下一种情况。

switch...case语句流程图

C ++编程中的switch case语句流程图

上图显示了switch语句的工作方式,并在switch case子句中检查了条件。

示例:C ++ switch语句

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

int main()
{
    char o;
    float num1, num2;

    cout << "输入一个运算符 (+, -, *, /): ";
    cin >> o;

    cout << "输入两个操作数: ";
    cin >> num1 >> num2;
    
    switch (o) 
    {
        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:
            // 运算符不匹配任何一个 (+, -, *, /)
            cout << "错误! 运算符不正确";
            break;
    }
    
    return 0;
}

输出结果

输入一个运算符 (+, -, *, /): +
-
输入两个操作数: 2.3
4.5
2.3 - 4.5 = -2.2

用户输入的 - 运算符存储在o变量中。而两个操作数2.3和4.5分别存储在变量num1和num2中。

然后,程序的控制跳转到

cout << num1 << " - " << num2 << " = " << num1-num2;

最后,break;语句结束了switch语句。

如果不使用break语句,则执行符合条件case后的所有case语句。