continue和break分别在while语句,for语句和do while语句中的运行

continue和break在c语言中的应用都用于退出循环,continue是退出单次循环,而break是退出它所在的这个循环体。但是由于while语句,for语句和do while语句的语法结构有些不同,因而在这三种循环语句中,continue和break的应用也会有所差异。

while语句

在while语句中,continue会让程序跳出此次循环回到判断部分(若判断部分前有其他代码则先执行前面的代码),而break会让程序跳出整个while循环。

流程图

在这里插入图片描述

演示代码

  • continue
//代码1
#include<stdio.h>
int main()
{
    int i=1;  //初始化
    while(i<=10)  //判断
    {
         if(i==5)
         continue;  //跳出本次循环
       printf("%d",i);
       i=i+1;  //调整
    } 
    return 0;  //执行出错(死循环)
}
//代码2
#include<stdio.h>
int main()
{
    int i=1;
    while(i<=10)
    {
        i=i+1;
          if(i==5)       
          continue;
        printf("%d",i);
       
    } 
    return 0;  //2 3 4 6 7 8 9 10 11
}
  • break
#include<stdio.h>
int main()
{
    int i=1;
    while(i<=10)
    {
          if(i==5)
          break;  //跳出整个while循环
        printf("%d",i);
       i=i+1;
    } 
    return 0;  //1 2 3 4(中止循环)
}

for语句

在for语句中,continue和break的作用同while中基本一样,但continue会实现for语句()中调整的部分后再回到判断。

流程图

在这里插入图片描述
红圈123分别是for语句()里的三部分。

演示代码

  • continue
#include<stdio.h>
int main()
{
    int i=0;
    for(i=1;i<=10;i++)
    {
          if(i==5)       
          continue;  //跳出循环后仍然执行i++
        printf("%d",i);    
    } 
    return 0;  //1 2 3 4 6 7 8 9 10 
}
  • break
#include<stdio.h>
int main()
{
    int i=0;
    for(i=1;i<=10;i++)
    {
          if(i==5)       
          break;  //跳出整个for循环
        printf("%d",i); 
    } 
    return 0;  //1 2 3 4
}

do while语句

do while语句中的continue会让程序跳转到判断部分,而后重新执行do语句,进入循环,break会跳出整个do while循环。

流程图

在这里插入图片描述

演示代码

  • continue
//代码1
#include<stdio.h>
int main()
{
    int i=0;
    do
    {
          if(i==5)       
          continue;  //因为i不等于5,所以continue不执行
        printf("%d",i);       
    } while(i<=10);
    return 0;  //0 0 0 0 0 0… (循环)
}
//代码2
//若初始化i设置为5,则跳过do{}中,continue后面的代码,直接进入判断部分,再次回到do语句中去,形成死循环
#include<stdio.h>
int main()
{
    int i=5;
    do
    {
        if(i==5)       
        printf("%d",i);       
    } 
    while(i<=10);
    return 0;  //执行出错(死循环)
//代码3
#include<stdio.h>
int main()
{
    int i=0;
    do
    {
          if(i==5)       
          continue;  //跳出此次循环,执行while()语句
        printf("%d",i);
       
    } 
    while(++i<=10);
    return 0;  //0 1 2 3 4 6 7 8 9 10(中止循环)
}
  • break
//代码1
#include<stdio.h>
int main()
{
    int i=5;
    do
    {
        if(i==5)       
        break;
        printf("%d",i);       
    } 
    while(i<=10);
    return 0;  //没有结果,因为break跳出了do()语句
}
//代码2
#include<stdio.h>
int main()
{
    int i=0;
    do
    {
        if(i==5)       
        break;
        printf("%d",i);       
    } 
    while(++i<=10);
    return 0;  //0 1 2 3 4
}

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

唱早

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值