上篇文章我们说到while与for,这次来说说do...while,多了一个do,会有什么差异呢?
while语句是属于前测试循环语句,也就是说,在循环体内的代码被执行之前,就会对出口条件求值。其实就是先与while里面的条件进行判断,成立就走循环体内的代码,不成立就不走循环体内代码。循环体内的代码有可能永远不会执行。(肚子饿了,先问一下能不能吃东西,同意了就狂吃,直到不允许吃为止,不同意,就忍着忍着忍着不吃走了.....)
do-while语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。其实就是,代码在刚开始执行的时候,都是要先走一遍do循环体内的代码,然后在与while里面的条件进行判断,成立循环就一直继续下去,不成立就跳出循环。循环体内代码至少被执行一次。(肚子饿了,看到吃的先狂吃一顿,直到被发现了,就闭嘴停不吃了)
(以上两段来自于博客园名为win.w的博客,http://www.cnblogs.com/babywin/p/6868891.html)
结构如下:
do
{
//循环体
}
while (条件表达式);
流程图如下:
do...while需要注意的如下:
1.
注意,在do while语句的条件判断后要加上一个分号;表示语句的结束。
注意,在do while语句的条件判断后要加上一个分号;表示语句的结束。
注意,在do while语句的条件判断后要加上一个分号;表示语句的结束。
2.do...while 循环是 while 循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while()内检查条件是否为真,如果条件为真的话,就会重复do...while这个循环,直至while()为假。(该词条来自于百度百科)
不像 for 和 while 循环,它们是在循环头部测试循环条件。do...while 循环是在循环的尾部检查它的条件。do...while 循环与 while 循环类似,但是 do...while 循环会确保至少执行一次循环。(该段词条来自于菜鸟教程)
举个例子
使用while执行循环:
int i = 0;
while (i
{
i++;
printf("%d ",i);
}
执行0次循环,没有运行结果
使用do while执行循环:
int i = 0;
do
{
i++;
printf("%d ",i);
}
while (i
执行1次循环,运行结果为0
(该例子来源于:https://blog.csdn.net/walle2018/article/details/79558956)
多说两句,对于考试,用你最拿手的循环来编写程序,一般的优先选for循环,其次是while,再者是do...while。
如果想深入了解深度理解do{} while(0)语句的作用,下面的这个网站讲的还蛮好的,但是考试应该不考,作为拓展吧,(我也看不懂啊"( ̄y▽, ̄)╭ ")
(https://blog.csdn.net/weibo1230123/article/details/81904498)
感觉这次有点水水的,没什么实在内容,可能do...while不是重点吧
灰常感谢以上网站的UP主的支持,如有侵权,请与作者联系
笔耕不辍,有你支持