C语言/C++【switch语句详解(用法、规则、流程图、实例)】

-------------------------------------------------

模糊之处:“注意2:case里如果没有break,那么程序会一直向下执行。”

说明:从 case constant-expression :成立的地方开始,一直执行下去。

============================

C语言/C++【switch语句详解(用法、规则、流程图、实例)】

    C++| 匠心之作 从0到1入门学编程【视频+课件+笔记+源码】

目录

1、switch语句【C语言】

1.2、C语言中 switch语句的语法

1.3、switch语句遵循规则

1.3、switch流程图

1.4、switch实例

2、switch语句【C++】

2.1、作用

2.2、语法

2.3、示例

2.4、注意事项及总结

1、switch语句【C语言】

    菜鸟教程 C语言 switch语句:https://www.runoob.com/cprogramming/c-switch.html

    一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

1.1、C语言中 switch语句的语法

    switch (expression) {
        case constant-expression :
           statement(s);
           break; /* 可选的 */
        case constant-expression :
           statement(s);
           break; /* 可选的 */
        /* 您可以有任意数量的 case 语句 */
        default : /* 可选的 */
           statement(s);
    }

1.2、switch语句遵循规则

    switch语句必须遵循下面的规则:

        switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型。
        在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
        case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
        当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
        当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
        不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
        一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

1.3、switch流程图

1.4、switch实例

    #include <stdio.h>
     
    int main()
    {
        char grade = 'B'; /* 局部变量定义 */
        switch (grade)
        {
            case 'A':
                printf("很棒!\n");
                break;
            case 'B':
            case 'C':
                printf("做得好!\n");
                break;
            case 'D':
                printf("您通过了!\n");
                break;
            case 'F':
                printf("最好再试一下!\n");
                break;
            default:
                printf("无效的成绩!\n");
        }
        printf("您的成绩是 %c!\n", grade);
        return 0;
    }

2、switch语句【C++】

2.1、作用

    执行多条件分支语句。

2.2、语法

    switch (表达式) //【switch语句中表达式类型只能是整型或者字符型
    {
        case 结果1: 执行语句;break;
        case 结果2: 执行语句;break;
        ...
        default: 执行语句;break;
    }

2.3、示例

    #include <iostream>
    using namespace std;
     
    int main() //switch语句
    {
        //请给电影进行评分
        // 10 ~ 9   经典
        // 8 ~ 7   非常好
        // 6 ~ 5   一般
        // 5分以下 烂片
     
        //1、提示用户给电影评分
        cout << "请给电影打分:" << endl;
     
        //2、用户开始进行打分
        int score = 0;
        cin >> score;
        cout << "您打的分数为:" << score << endl;
     
        //3、根据用户输入的分数来提示用户最后的结果
        switch (score)
        {
        case 10:
            // cout << "您认为是经典电影!" << endl;
            // break; //退出当前分支
        case 9:
            cout << "您认为是经典电影!" << endl;
            break; //退出当前分支
        case 8:
            // cout << "您认为电影非常好!" << endl;
            // break;
        case 7:
            cout << "您认为电影非常好!" << endl;
            break;
        case 6:
        case 5:
            cout << "您认为电影一般!" << endl;
            break;
        default:
            cout << "您认为是烂片!" << endl;
            break;
        }
     
        //if和switch区别?
        //switch缺点:判断时候只能是整型或者字符型,不可以是一个区间!
        //switch优点:结构清晰,执行效率高!
     
        system("pause");
     
        return 0;
    }

2.4、注意事项及总结

        注意1:switch语句中表达式类型只能是整型或者字符型
        注意2:case里如果没有break,那么程序会一直向下执行。
        总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间。


————————————————
版权声明:本文为CSDN博主「upward337」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44949135/article/details/115174682

  • 16
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答你的问题。以下是一个使用 switch 语句实现猜拳游戏的 C++ 代码: ```c++ #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { int playerChoice; int computerChoice; // 生成随机数种子 srand(time(0)); // 让玩家输入选择(1:石头,2:剪刀,3:布) cout << "请出拳(1:石头,2:剪刀,3:布):" << endl; cin >> playerChoice; // 生成计算机的选择(1-石头,2-剪刀,3-布) computerChoice = rand() % 3 + 1; // 根据玩家和计算机的选择确定胜负 switch (playerChoice) { case 1: // 玩家出石头 if (computerChoice == 1) { cout << "平局!" << endl; } else if (computerChoice == 2) { cout << "你赢了!" << endl; } else { cout << "你输了!" << endl; } break; case 2: // 玩家出剪刀 if (computerChoice == 1) { cout << "你输了!" << endl; } else if (computerChoice == 2) { cout << "平局!" << endl; } else { cout << "你赢了!" << endl; } break; case 3: // 玩家出布 if (computerChoice == 1) { cout << "你赢了!" << endl; } else if (computerChoice == 2) { cout << "你输了!" << endl; } else { cout << "平局!" << endl; } break; default: cout << "选择无效!" << endl; break; } return 0; } ``` 这段代码首先让玩家输入选择(1:石头,2:剪刀,3:布),然后生成计算机的选择。接着使用 switch 语句判断玩家和计算机的选择,输出对应的胜负结果。注意,这里使用了 srand 函数来生成随机数种子,以保证每次运行程序生成的随机数不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值