千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 详解switch循环语句

详解switch循环语句

来源:千锋教育
发布人:xqq
时间: 2023-11-22 07:07:56 1700608076

一、switch循环语句

switch循环是C语言中的一种循环语句结构,它可以根据不同的情况执行不同的代码块。可以通过一个表达式将值与多个选择项比较,并根据匹配的选项执行相应的代码块。

下面是一个switch循环的基本结构:


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

其中expression是要进行比较的表达式,case后面跟的是需要比较的常量表达式,如果匹配到一个常量表达式,就会执行对应的语句块,直到遇到break或switch结构结束。default是为了处理没有匹配到任何case的情况,是可选的。

二、 switch循环能加if吗

switch循环内部可以使用if语句,但是不能在switch循环外使用switch。也就是说,在switch循环内部,可以嵌套if语句,但if语句内不能再使用switch循环。


    switch (a) {
        case 1:
            if (b > 0) {
                // do something
                break;
            }
            // do something else
            break;
        case 2:
            // do something
            break;
        default:
            // default case
            break;
    }    

三、怎么跳出switch死循环

通常情况下,如果在switch循环中加入无限循环语句,会导致程序无限循环下去。为了避免这种情况,我们可以设置一个计数器,超过一定次数就强制退出循环。


    int count = 0;
    while (1) {
        switch (a) {
            case 1:
                // do something
                break;
            case 2:
                // do something
                break;
            default:
                // default case
                break;
        }
        count++;
        if (count >= MAX_COUNT) {
            break;
        }
    }

四、switch循环的用法

switch循环的主要用途是在多个选项中选择一个执行。我们可以把一个表达式的结果和多个case中的常量进行比较,如果匹配到某个case,就执行这个case后的语句。下面是一个实际应用的例子:


    int month;
    printf("请输入1-12的数字:");
    scanf("%d", &month);
    switch(month){
        case 1: printf("1月份有31天\n"); break;
        case 2: printf("2月份有28或29天\n"); break;
        case 3: printf("3月份有31天\n"); break;
        case 4: printf("4月份有30天\n"); break;
        case 5: printf("5月份有31天\n"); break;
        case 6: printf("6月份有30天\n"); break;
        case 7: printf("7月份有31天\n"); break;
        case 8: printf("8月份有31天\n"); break;
        case 9: printf("9月份有30天\n"); break;
        case 10: printf("10月份有31天\n"); break;
        case 11: printf("11月份有30天\n"); break;
        case 12: printf("12月份有31天\n"); break;
        default: printf("输入错误\n"); break;
    }

五、switch循环语句

switch循环语句是C语言中最为常见的流程控制语句,它可以根据不同的情况,执行不同的处理。

六、switch循环格式

switch循环语句的格式如下:


    switch(expression){
        case constant-expression1:
            //do something
            break;
        case constant-expression2:
            //do something
            break;
        default:
            //do something
    }

七、switch循环结构

switch循环语句的结构可以分为三个部分:

switch(keyword) case(keyword) break(keyword)

八、switch循环语句例子

下面是一个示例程序,演示了如何使用switch语句:


    #include
    int main(){
        int score = 80;
        switch(score){
            case 90:
                printf("优秀\n"); break;
            case 80:
                printf("良好\n"); break;
            case 70:
                printf("中等\n"); break;
            case 60:
                printf("及格\n"); break;
            default:
                printf("不及格\n"); break;
        }
        return 0;
    }

九、switch循环default

default是switch循环语句结构中的一个可选部分,用来处理没有匹配到任何case的情况。它的作用类似于if语句中的else部分,可以为程序提供一个默认分支。下面是一个示例程序:


    #include
    int main(){
        int score = 85;
        switch(score){
            case 90:
                printf("优秀\n"); break;
            case 80:
                printf("良好\n"); break;
            case 70:
                printf("中等\n"); break;
            case 60:
                printf("及格\n"); break;
            default:
                printf("不及格\n"); break;
        }
        return 0;
    }

以上程序中,如果score的值不在90、80、70、60范围内,就会执行default部分的内容,输出不及格。

tags: switch循环
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT