c语言switch中break的作用(c语言中switch语句的作用)

作用一:结束当前的case

C语言中,switch语句用于多个可能的执行路径。当多个case条件满足时,程序会依次执行满足条件的代码块。然而,如果没有使用break关键字,程序将继续执行后续的case代码块,直到遇到下一个break或者switch语句结束。因此,break的第一个作用就是结束当前case的执行,跳出switch语句,避免不必要的执行。

例如:

#include <stdio.h>
int main() {
    int num = 2;
    switch(num) {
        case 1:
            printf("选择了数字1\n");
            break;
        case 2:
            printf("选择了数字2\n");
            break;
        case 3:
            printf("选择了数字3\n");
            break;
        default:
            printf("选择无效\n");
    }
    return 0;
}

在上面的代码中,如果num的值为2,那么会输出“选择了数字2”并结束程序的执行。因为在执行完相应的代码块后,遇到了break语句,所以程序不会继续执行后续的case代码块。

作用二:跳出循环体

除了在switch语句中使用外,break还可以用于循环体中,例如while、do-while和for循环。循环结构会根据条件重复执行一段代码,但有时候我们需要提前结束循环,这时就可以使用break关键字。

例如:

#include <stdio.h>
int main() {
    int i;
    for(i = 1; i <= 10; i++) {
        if(i == 6) {
            break;
        }
        printf("%d ", i);
    }
    return 0;
}

上面的代码中,循环变量i的值逐渐增加,当i等于6时,执行了break语句,跳出了for循环。运行结果为:“1 2 3 4 5”。因为在i等于6时,执行了break,所以循环体提前结束,不再执行后续的代码。

作用三:避免出现不必要的判断

在使用switch语句时,默认情况下,每个case都会被顺序判断一次,直到找到匹配的case。而如果在case代码块结束时没有使用break,程序将会继续执行下一个case的代码,无论是否满足条件。在某些情况下,我们可以利用这种特性简化代码。

例如:

#include <stdio.h>
int main() {
    int grade;
    printf("请输入成绩:");
    scanf("%d", &grade);
    switch(grade / 10) {
        case 10:
        case 9:
            printf("优秀\n");
            break;
        case 8:
            printf("良好\n");
            break;
        case 7:
            printf("中等\n");
            break;
        case 6:
            printf("及格\n");
            break;
        default:
            printf("不及格\n");
    }
    return 0;
}

在上面的代码中,我们根据成绩的等级来输出相应的评语。如果成绩是90以上,无论是91分还是100分,都会输出“优秀”。这是因为我们在case 10和case 9的代码块中没有使用break,所以当条件满足时,程序会继续执行下一个case中的代码。这种写法简洁明了,避免了重复的判断。

总之,break关键字在C语言中有多种作用,它可以用于结束当前的case,跳出循环体,以及避免不必要的判断。在编写程序时,合理使用break可以提高代码的可读性和执行效率。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/cyuyaneblrx.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年8月2日 上午12:31
下一篇 2023年8月2日 上午12:32

猜你喜欢