选择于分支结构之Break和Continue的区别

在循环执行的过程中,如果某些状况发生的时候,需要提前终⽌循环,这是非常常见的现象。C语言中的 break continue 两个关键字,就起到了非常关键的作用。

Break

break的作用是用于永久的循环中止,只要break执行,程序就会跳出当前循环,继续往后执行。

Break在for循环中的应用举例

#include<stdio.h>

int main() {
    for (int i = 1; i < 10; i++) {
        for (int j = 1; j < 10; j++) {
            if (i == 6)//当i=6的时候if条件成立,就执行break,循环就终止了
                break;
            printf("%d", i);
        }
        printf("\n");    
    }

}

 聪明的你看到这串代码,应该已经猜到了代码的运行结果了吧!快来看看你的想法对不对。

有些小伙伴就疑惑了,不是说break是退出循环吗,那为什么还会打印6之后的数字。其实break退出的是当前的小循环,不会退出外面的大循环。所以 break 的作⽤就是永久的终止循环,只break 被执行, break 外的第⼀层循环就终止了。 那以后我们在循环中,想在某种条件下终⽌循环,则可以使用break 来完成我们想要的效果。

Break在while循环中的应用举例

废话不多说,先上代码!

#include <stdio.h>
int main()
{
    int i = 1;
    while (i <= 10)
    {
        if (i == 6)
            break;//当i等于5后,就执⾏break,循环就终⽌了
        printf("%d ", i);
        i = i + 1;
    }

打印了1,2,3,4后,当i等于5的时候,循环正 break 的地方终止,不再打印,不再循环。while和for循环各有千秋,以后我会专门出一篇博客介绍for和while循环的优缺点和应用场景。

Continue

continue 的作用是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。continue是继续的意思,在循环中的作用是跳过该循环后面的代码,继续进行下一次循环的判断。

while循环中continue的举例

同样我们还是以上面代码为例,将break改成continue,那么最后代码会执行什么呢?话不多说,直接上代码。

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

相信这也不会难到聪明的你?

没错,答案还是和原来一样,这是为什么呢?其实所以在 for 循环中 continue 的作用是跳过本次循环中 continue 后的代码,直接去到循环的调整部分。未来当某个条件发生的时候,本次循环⽆需再执行后续某些操作的时候,就可以使用continue 来实现。相当于前提退出了循环,以后你在代码编写中可以根据变量的值使用countinue跳出循环,避免出现错误等。PS:细心的朋友指出,这串代码其实是个死循环,因为计算机执行到i==6的时候自动跳过了后面对i的值改变,导致i一直是6程序一直执行判断语句!再次衷心地感谢我好哥们的细致阅读与检查,同时也欢迎友友们批评指正。

for循环中的continue举例

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

运行结果和for循环的结果一样。

下面讲一下for循环和while循环中continue语句地区别

1. while

在while 循环中 continue 用于跳过本次循环continue后面的代码直接去while的判断部分 看变量是否满足执行下次循环。

2. For

for循环中 continue 会跳过循环体剩余部分直接跳到调整部分进行调整。

请注意一个是去调整循环变量值再判断,一个是直接去判断是否还会参与循环。

所以你学会了Break和Continue语句的用法了吗?

友友们,请给孩子点个赞,你的鼓励就是我不断操作的动力!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值