您的位置:

c++ switch详解

一、c++ switch 变量

在c++中,switch语句可以根据变量的值来执行不同的代码块。在使用switch之前,必须先声明并初始化所要判断的变量。

    int num = 2;    
    switch (num) {
        case 1:
            std::cout << "num的值是1" << std::endl;
            break;
        case 2:
            std::cout << "num的值是2" << std::endl;
            break;
        default:
            std::cout << "num的值不是1也不是2" << std::endl;
            break;
    }

代码中,我们声明了一个名为num的整型变量,并将值初始化为2。接下来,switch语句会根据num的值来决定执行哪个case分支中的代码块。

二、c语言switch的用法

c语言中的switch语句也可用于根据变量值执行不同的代码块,但其用法略有不同。在c语言中,每个case分支末尾必须加上break语句来终止当前代码块并跳出switch语句。

    int num = 3;    
    switch (num) {
        case 1:
            printf("num的值是1\n");
            break;
        case 2:
            printf("num的值是2\n");
            break;
        default:
            printf("num的值不是1也不是2\n");
            break;
    }

代码中,我们同样声明了一个名为num的整型变量,并将值初始化为3。接下来,switch语句会根据num的值来决定执行哪个case分支中的代码块。

三、c switch函数

在c++中,switch语句可以用来判断函数的返回值并执行不同的代码块。

    char get_grade(int score) {
        switch (score/10) {
            case 10:
            case 9:
                return 'A';
            case 8:
                return 'B';
            case 7:
                return 'C';
            case 6:
                return 'D';
            default:
                return 'F';
        }
    }

代码中,我们定义了一个名为get_grade的函数,该函数接受一个int类型的score参数,并返回该分数对应的等级。在函数内部,我们使用了switch语句来根据score的值来决定返回哪种等级。

四、c switch case四则运算

在c++中,switch语句可以进行四则运算。

    int num1 = 5, num2 = 10, result;    
    char operation = '*';    
    switch (operation) {
        case '+':
            result = num1 + num2;
            break;
        case '-':
            result = num1 - num2;
            break;
        case '*':
            result = num1 * num2;
            break;
        case '/':
            result = num1 / num2;
            break;
        default:
            std::cout << "无效的操作符" << std::endl;
            break;
    }    
    std::cout << "结果为:" << result << std::endl;

代码中,我们声明了两个int类型的变量num1和num2,并将其分别初始化为5和10。接着,我们声明了一个char类型的变量operation,并将其初始化为'*'。根据switch语句的判断,我们将根据operation的值来决定执行哪种四则运算,并将结果赋值给result变量。

五、c switch语句、c switch case、c switch case语句例子

以下是一个综合运用c++ switch语句的例子,该例子演示了在根据文件扩展名来打开不同类型的文件。

    #include 
    #include 
   

    void open_file(std::string file_name) {
        std::string ext = file_name.substr(file_name.find_last_of(".") + 1);
        std::ifstream file(file_name);
        if (file.good()) {
            switch(ext[0]) {
                case 't':
                    std::cout << "打开文本文件:" << file_name << std::endl;
                    break;
                case 'j':
                    std::cout << "打开图片文件:" << file_name << std::endl;
                    break;
                case 'v':
                    std::cout << "打开视频文件:" << file_name << std::endl;
                    break;
                default:
                    std::cout << "未知文件类型:" << file_name << std::endl;
                    break;
            }
        } else {
            std::cout << "无法打开文件:" << file_name << std::endl;
        }
    }

    int main() {
        open_file("example.txt");
        open_file("example.jpg");
        open_file("example.mp4");
        open_file("example.xyz");
        return 0;
    }

   
  

代码中,我们定义了一个名为open_file的函数,该函数接受一个std::string类型的file_name参数。在函数内部,我们获取文件名的扩展名,并使用switch语句来根据扩展名来决定文件的类型。最后,我们调用open_file函数,并传递了不同的文件名参数来演示不同类型文件的处理。

以上是本次对于c++ switch语句的详细阐述。从变量的用法、c语言switch的用法,到函数、四则运算的实现,再到多种例子的综合运用。希望读者们可以通过本文更深入地了解和掌握c++ switch语句的使用。