入门C语言Day18——break&continue&goto语句

前面的博文中有提到do-while与for循环语句,其中的流程图中有break和continue这两个部分还没解释。

所以今天先来解释一下break与continue语句。

break 和 continue 两个关键字都被运用在循环中。

break 的作用是永久的终止循环,只要 break 被执行,直接就会跳出循环,继续往后执行。

continue 的作用是跳过本次循环中 continue 后边的代码,在 for 循环和 while 循环中也有所差异。

先说说 while 循环中的 break 和 continue

先拿 break 举个例子:

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

结果是只打印了1、2、3、4,因为打印到5时,满足了 i ==5 ,于是运行了break,使循环终止了。

break 被执行, break 外的第一层循环就终止了。所以break可以用来终止循环。

假如把上文的 break 改为 continue ,那么程序就会陷入死循环。

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

从 i==5,执行了 continue 以后就直接跳过了 i = i+1 , 所以就一直 i 为5,于是程序进入了死循环。

continue 可以帮助我们跳过某一次循环 continue 后边的代码,直接到循环的判断部分,进入下一次循环的判断

如果循环的调整是在 continue 后边的话,可能会造成死循环。

而在 for 循环中,break同上,但是continue在这里就可以正常运行。

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

在 for 循环中 continue 的作用是跳过本次循环中 continue 后的代码,直接去到循环的调整部分。

当 i==5,时执行continue,跳过了printf,直接到了i++,所以不会打印5,而是直接开始到6并打印。

所以最后的结果是1、2、3、4、6、7、8、9、10,没有5

最后来说一下 goto 语句,这是一种C语言中特别的语法,goto 语句可以在同一个函数内跳转到设置好的标号处。(有点看不懂....对吧?)

举个例子:

#include <stdio.h>
int main()
{
    printf("hehe\n");
    goto next;
    printf("haha\n");

next:
    printf("跳过了haha的打印\n");
    return 0;
}

到了goto,就直接到了next那里,也就跳过了printf("haha\n")

goto 语句如果使用的不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以我们的建议是能不用尽量不去使用

但是 goto 语句也不事一无是处,在多层循环的代码中,如果想快速跳出使用goto,就会非常的方便了。

比如一般用break打破循环,但他只能打破一层,所以想一次性跳出所有循环,就可以用goto,这就是所说的多层循环中的使用情况。

今天的学习内容到此结束,预知后事如何,且听下回分解~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值