do while循环语句_c语言入门 第九章 while循环和 do...while循环

在程序当中除了分支结构之外,还有循环结构

1 while循环

首先介绍while循环

while(表达式){
    语句块
}

关键字 while 后面小括号当中的表达式成立,就会重复执行后面的语句块的内容,如果条件不成立就会结束循环

#include

这个程序会一直在控制台打印 hello,因为循环的判断始终都是 1 ,所以会一直执行,如果想要结束程序,只能强制结束控制台进程(也可以按 ctrl+c)

为了能让循环能够自然的结束,就需要循环控制表达式能有有一个由成立向不成立的变化

#include

这里表达式 i<10 本来是成立的,但是每次循环 i 的值都会自增1,第1次循环i的值是 0 然后自增;

第二次循环 i 的值是1,再自增,一直到第11次循环i的值变为10,已经不满足循环继续的条件,所以循环一共执行了10次

2c1c0da19197742dcfc2ef52fe34813c.png

while循环可以使用流程图来表示

64052bf233b6cb563b35f58ddfb88ef1.png

循环也可以不仅仅是简单的重复,也可以处理一些有规律的变化过程

加入我们需要计算一下 1~100 区间内所有数字之和

#include

这个算法非常简单,就是把一个自动增长的变量,加到 sum 当中,第一次循环把1加到sum当中,第二次循环把2加到sum中,一直到第100次循环,把100加到sum中,当循环结束,sum就是1~100的和

02422e33051e237520437716da98378b.png

这里需要注意的是控制循环的次数,开始条件 i =1,和结束条件i<=100,表示第一次循环和最后一次循环 i 的取值范围

我们也可以使用 break 关键字来控制循环提前结束

#include

正常输出的结果是

452a737554e88a7e4e14186a6228aa25.png

现在我们需要在第5次循环的时候提前结束

#include

983915641db47c7a3ce5ad7e96871829.png

在循环当中,执行到了break关键字,就会跳出当前的循环

还可以使用continue关键字来跳过当次循环

#include

86a847c683a6b2620a5a388969c922b5.png

这里把 i++ 提前了,因为如果把i++放到 continue的后面,那么第五次循环 i的值是5,执行到continue跳过了i++,下一次判断 i 的值还是5,进入到了一个死循环

2 do...while循环

do...while循环可以认为是while循环的一个变型,它会先执行语句然后再判断是否继续循环

do{
    语句块
}while(表达式);

注意while后面要加上一个 分号;

流程图

e21da2ff829c37d189a95652553e2999.png

刚才的程序可以使用do...while来改写

#include

先计算第一次的值,然后重复这个过程

while循环我们也可以称之为当循环,do...while循环我们可以称之为直到循环,两者的区别就在于,假如循环第一次判断的条件就不成立,那么while循环什么都不会做,而do...while循环会至少执行一次

#include

206c30f0073b398e136217d0ef1c2723.png

while循环一次都没有执行

#include

b5e86302c92feedff6e50c2f874e4e2b.png

do...while循环执行了一次

我们也可以使用while循环来实现和do...while循环相同的效果

#include

只要在循环开始之前先执行一次就可以了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值