关于C语言中的do while语句与while语句

来源:百度知道 编辑:UC知道 时间:2024/06/15 09:44:48
我总任务do while 比while多出一个循环
例如#include "stdio.h"
main()
{
int a=0 ,b=0,c=0,k;
printf("how many students:");
scanf("%d",&k);
while(c<=k)
{
a=a+1;
b=b+1;
c=c+1;
if(b==5)
{
c=c+1;
b=b-4;
}
}
printf("how many cola you need buy:%d",a);
}
我认为这段程序用do while 和while得到的结果是不一样的
当输入K=10的时候,我在看来一个a是10另一个是9
还有为什么while()语句里的表达式用<=或<得的结果是一样的呀
请给我的容易理解的答案

do while先执行do的代码再判断while里面的条件
while先判断条件再决定是否执行循环代码

比如
int i=0;
do
{
i++;
}
while(i<0)

结束之后i的值应为1,虽然判断条件一开始就为假,但是do里面的代码已经执行一遍了,而如果用while,也就是
int i=0;
while(i<0)
{
i++;
}
运行之后i的值仍为0,因为是先判断条件i<0,为假,所以循环一次也不执行

我们大学在上C语言课的时候,教授说while比do while好,除非十分必要,他都要求我们用while,不过有时候do while还是有着while很难实现的优势

相同点:
1,while语句和do while 语句都是循环语句。
2,while括号里面的条件必须成立才能循环。do while也一样。
不同点:
例:
1,形式上的不同
while(条件)
{
语句;
}
do
{
语句;
}while(条件);
2,当括号里的条件一开始就成立时,while和do while的循环次数是相同的。
而当括号里的条件一开始就不成立时,while里面的语句是不会执行的。而do while会执行一次。