C语言拾遗-C语言关键字-break-continue

摘要:C 语言中的 break 用于终止一个循环或者终止 switch 语句中的一个 case;continue用于结束本次循环。

break

C 语言中 break 语句有且仅有以下两种用法:

  1. 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
  2. 可用于终止 switch 语句中的一个 case。

不管是 for 循环,还是 while 循环,或者是 do…while 循环,都可以用 break 跳出来,但是 break 只能跳出一层循环。当有多层循环嵌套的时候,break只能跳出“包裹”它的最里面的那一层循环,无法一次跳出所有循环。在多层 switch 嵌套的程序中,break 也只能跳出其所在的距离它最近的 switch。但多层 switch 嵌套实在是少见。

break语句不能用于循环语句(如for循环或while循环)和switch语句之外的任何其他语句中。

break 的执行流程如下所示:

单重循环情况:选用 while 循环结构示意(do-while 循环、for 循环同样适用)。

while (循环判断表达式)
{
    ...
    if(条件表达式)
        break;
    循环体中break后的语句;
}
循环体后的第 1 条语句;
循环体后的第 2 条语句;
...

在循环体中,当满足一定条件执行到 break 语句时,终止 break 所在的该层循环,即“循环体中 break 后的语句”部分将不再被执行,程序执行流程转向从“循环结构后的第 1 条语句”处,开始继续往后执行。

双重循环情况:使用双重 for 循环嵌套结构示意,其他类型的循环嵌套组合同样适用。

for (;循环判断表达式1;)
{
    ...
    for(;循环判断表达式2;)
    {
        ...
        if(条件表达式)
            break;
        内层循环体中break后的语句;
    }
    内层循环结构后的第1条语句; 
    内层循环结构后的第2条语句;
    ...
}

在内层循环中,当满足一定条件执行到 break 语句时,仅结束 break 所在内层循环的执行(在本轮外层循环中,“内层循环体中 break 后的语句”部分不再被执行),程序执行流程跳转到“内层循环结构后的第 1 条语句”所在的外层循环体处,开始继续执行。

continue

continue的用法十分简单,其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,然后进行下一次是否执行循环的判定。

continue 语句的执行流程如下所示:

选用 for 循环结构示意

for(初始表达式;循环判断表达式;增量表达式)
{
   ...
   if(条件表达式)
       continue;
    循环体中continue后的所有语句;
}

当在上述 for 循环中执行到 continue 语句时,本次循环体的执行流程将跳过“循环体中 continue 后的所有语句”,接着执行“增量表达式”部分,然后执行“循环判断表达式”,即提前进入下一次循环的准备工作。

区别:

  • Continue语句和Break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而Break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

参考链接

GB/T 15272-1994 (6.6.6.2-3)
https://www.runoob.com/cprogramming/c-break-statement.html
http://c.biancheng.net/view/182.html
http://c.biancheng.net/view/266.html
https://www.cnblogs.com/guxuanqing/p/4892823.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值