C语言中 同条件的 while 和do while 后者是比前者多循环一次么?

2024-11-26 17:48:46
推荐回答(5个)
回答1:

不是, 只有当while循环条件不成立的情况下 后者比前者多循环一次。
其他情况是完全一样的。

do while 是循环体至少执行一次。
而while 的循环体可以执行0次

回答2:

do...while循环比while循环多执行一次循环体语句。

原因如下:

do...while是先执行循环体语句,之后再进行循环条件的判断的。

while刚好相反,即先进行循环条件的判断,之后再执行循环体语句的。


举例如下:

int i=0;
int a=0;
do
{
    a++;
}while(i>0);
// 执行完后,a=1


int i=0;
int a=0;
while(i>0)
{
    a++;
    i++;
}
// 执行完后,a=0

从上面的两个例子可以看出do...while循环确实比while循环多执行一次循环体语句。

回答3:

区别在于
while语句先判断while后括号内的条件 根据条件的真假执行{}内的程序
do while 总是先执行{}的语句, 完了后再判断 while后括号内的条件,如果真就在先执行{}内的语句

多循环一次的理解是不完全正确的
如:
/////////////////////////

unsigned char x = 0;

while(x<1){
x++;

}
////////////////////////
unsigned char x = 0;
do{
x++;

}while(x<1);
////////////////////////
这两个语句条件完全正确,都是判断x<1,可是他们都只执行一次。

回答4:

do while 是循环体至少执行一次while 的循环体可以执行0次及以上。
而且一般用的while,因为在执行上while基本可以包含do while

回答5:

没错,因为前者是先进行判断在执行,后者是先执行再判断,凭空多了一次运行