C-13 循环语句while

语法结构

while(表达式)
    循环语句;

while 的语法结构与 if 语法结构类似,如果表达式中结果为真,则进入循环语句,为假则不执行。

#include<stdio.h>

int main()
{
    int i = 1;
    
    while(i <= 10)
    {
        printf("%d\n",i);
        i++;
    }
    return 0;
}

以这段代码为例,循环语句的逻辑就是:

i 的初始值为 1 ,满足 i 小于等于 10 ,进入循环。

第一次循环:打印 i ,此时为 1 ,i++ 后变为 2 。

第一次循环结束,此时为 2 ,依旧符合要求,进入第二次循环。

第二次循环:打印 i ,此时为 2 ,i++ 后变为 3 。

第二次循环结束,此时为 3 ,符合要求,进入第三次循环.......

...........

当第十次循环结束后,i = 11 不再符合要求,不再循环。

最终打印得到的结果就是 1-10 

---------------------------------------------------------------------------------------------------------------------------------

while 中的 break

昨天的 if 语句中出现了 break ,while 循环语句中的 break 效果可以参考 if 语句中的 break ,跳出循环。以下面代码为例:

#include<stdio.h>

int main()
{
    int i = 1;
    
    while(i <= 10)
    {
        if(i == 5)
            break;

        printf("%d\n",i);
        i++;
    }
    return 0;
}

与上面代码不同的是,这段代码循环语句中加入了 if 语句,当 i == 5 时跳出循环。也就是说这段代码的循环逻辑前四次都与前面相同,

当第五次循环时,i 为 5 进入 if 语句,执行 break ,跳出循环,这些操作是在打印 i 之前,也就是说 i 还没来得及打印就跳出循环了,最终得到打印结果为 1-4 

总结一下,在 while 循环中,break 用于永久的终止循环。

---------------------------------------------------------------------------------------------------------------------------------

while 中的 continue

#include<stdio.h>

int main()
{
    int i = 1;
    
    while(i <= 10)
    {
        if(i == 5)
            continue;

        printf("%d\n",i);
        i++;
    }
    return 0;
}

还是这段代码,不同的是将 break 修改为了 continue 。

当程序运行的时候得到的结果是打印出 1 2 3 4 后依旧持续运行。

在 while 循环中 continue 作用是跳过本次循环 continue 后面的代码。所以当运行到第五次循环, i 为 5 时,执行 continue 语句,跳过本次循环后面的代码,跳过时 i 仍为 5 所以再次循环后又重复了这个过程,这就造成了一个死循环,这也就是为何打印出 1 2 3 4 后仍继续运行的原因。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值