break与continue

break语句

  • break语句只能出现在两种场合中。一是用于跳出switch语句,二是用于循环语句(for,while,do…while)中,他的作用是提前结束循环的执行,使流程转到循环的下一条语句,也即会终止循环而执行整个循环语句后面的代码。通常与if连用,作为判断条件。
  • 在多层循环中,一个 break 语句只向外跳一层。例如,在两个for语句中,只会跳出内部的for语句,而继续执行外部的for循环。

例如:一个4*4的整数矩阵,

#include <stdio.h>
int main(){
    int i=1, j;
    while(1){  // 外层循环
        j=1;
        while(1){  // 内层循环
            printf("%-4d", i*j);
            j++;
            if(j>4) break;  //跳出内层循环
        }
        printf("\n");
        i++;
        if(i>4) break;  // 跳出外层循环
    }
    return 0;
}

运行结果:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
说明:
当 j>4 成立时,执行break;,跳出内层循环;外层循环依然执行,直到 i>4 成立,跳出外层循环。

continue语句

  • continue语句的作用是使执行流程跳过循环体中continue下面的语句,即提前结束本次循环,开始下一次循环。
  • 在while和do…while语句中,执行continue语句就立即测试是否继续循环的条件。在for语句中,执行continue语句后,先执行递增表达式3,然后测试继续循环的条件2语句。一般地,continue语句都会位于一个if语句中,即可能对于满足某一条件的某次循环起作用。

例如:

#include <stdio.h>
int main(){
    char c = 0;
    while(c!='\n'){  //回车键结束循环
        c=getchar();
        if(c=='4' || c=='5'){  //按下的是数字键4或5
            continue;  //跳过当次循环,进入下次循环
        }
        putchar(c);
    }
    return 0;
}

运行结果:
0123456789↙
01236789

程序遇到while时,变量c的值为’\0’,循环条件c!=’\n’成立,开始第一次循环。getchar() 使程序暂停执行,等待用户输入,直到用户按下回车键才开始读取字符。
本例我们输入的是 0123456789,当读取到4或5时,if 的条件c==‘4’||c=='5’成立,就执行 continue 语句,结束当前循环,直接进入下一次循环,也就是说putchar ( c );不会被执行到。而读取到其他数字时,if 的条件不成立,continue 语句不会被执行到,putchar( c );就会输出读取到的字符。

break与continue的对比

break 用来结束所有循环,循环语句不再有执行的机会;continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。
注意:break与for在一起时,与continue相似。

ps: 部分搬运于c语言中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值