C 中的while语句与 do while语句 的区别

[复制链接]
查看11 | 回复4 | 2007-5-10 22:39:32 | 显示全部楼层 |阅读模式
while循环是当什么情况下才执行而 do while循环是 执行完后再检查是否 符合循环标准即 while是判断再执行do while 是先执行再判断
回复

使用道具 举报

千问 | 2007-5-10 22:39:32 | 显示全部楼层
while是先判断后再做循环,也就是先判断是否条件为真是则做循环,否则不做循环;do while是先运行一次循环体的代码再做判断,判断是否条件为真是则做循环,否则不再做循环,即一定会先运行一遍循环体里面的代码;
回复

使用道具 举报

千问 | 2007-5-10 22:39:32 | 显示全部楼层
一、while语句(可以实现“当型循环结构”)
使用格式:
while(表达式) 循环体语句
判断表达式的值,如表达式的值为非0则执行第2步,如表达式的值为0则执行第4步。
执行循环体语句,这个循环体语句是内嵌语句(或者是一条语句,或者是由多条语句组成的一个复合语句)。
执行第1步。
执行while语句后的语句。二、do-while语句(可以实现“直到型循环结构”)
使用格式:
do 循环体语句 while(表达式);
我们来解释一下do-while语句的执行过程:
执行循环体语句,这个循环体语句是内嵌语句(或者是一条语句,或者是由多条语句组成的一个复合语句)。
判断表达式的值,如表达式的值为非0则执行第1步,如表达式的值为0则执行第3步。
执行do-while语句后的语句。
注意:在while(表达式)的后面一定要有一个分号,它用来表示do-while 语句的结束。例子::::::::main() { int i,sum=0; scanf("%d",&i); do sum+=2; i++; } while(i<=5); printf("The sum is %d,i=%d",sum,i); } 输入:1』 运行结果: The sum is 10,i=6_ 输入:10』 运行结果: The sum is 2,i=11_ main() { int i,sum=0; scanf("%d",&i); while(i<=5) { sum+=2; i++; } printf("The sum is %d,i=%d",sum,i); } 输入:1』 运行结果: The sum is 10,i=6_ 输入:10』 运行结果: The sum is 0,i=10_
从这两个程序中我们可以看到,当循环条件在第一次判断时就为非0时, while和do-while语句在执行过程中没有什么区别;而当循环条件在第一次判断时就为0时,while的循环语句一次也不执行,do-while的循环语句仍要执行一次。
回复

使用道具 举报

千问 | 2007-5-10 22:39:32 | 显示全部楼层
我想你知道它们应该是怎么使用的,只是想知道为什么它们会出现的原因我觉得没什么意思,到你用的时候自然就会想到用哪个了,比如你的判断条件在循环开始之前不会出现,这时候你必然要用到do...while,而有时候你要循环时候就已经有判断条件了,这时候你当然就用while...do了。这些都是显然的,我想到你用的时候你或许都不会再去想这些问题,自然而然的你就会用最适合的方法了。
回复

使用道具 举报

千问 | 2007-5-10 22:39:32 | 显示全部楼层
楼上同志们得答案都很正确,楼主要是还理解不了,那等级考试就危险咯,呵呵while是直接进行判断循环。而do while是先执行一遍do的内容然后进行循环判断。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行