C语言中 while. 循环和. do. while. 循环的循环次数一样吗?在条件相同的

2024-11-26 20:50:27
推荐回答(2个)
回答1:

在循环体和判断条件相同情况下,while循环和do...while循环次数可能相同,也可能不同。

1、while循环形式为:

while(expr)
{
//循环体
}

当expr为真时循环, 为假时退出。 

2、do...while循环形式为

do 
{
//循环体
}while(expr);

同样当expr为真时循环, 为假时退出。 

3、do ... while和while的区别在于,while是先判断 再循环, 而do while则是先循环再判断。

所以do...while至少会执行一次,而while则有可能一次都不执行。

于是对于while循环来说,如果第一次判断后为真,循环可执行,此种情况下,while和do...while执行次数相同。

如:

int a;
a=0;
while(a<10){ a++;}
a=0;
do{ a++;} while (a<10);

二者循环次数均为10次。

而如果第一次判断的结果就是假,那么while循环执行0次,而do...while会执行一次,甚至更多,因为有可能执行循环体后判断为真。如:

int a=0;
while(a>0) a++;

这个循环不会执行,也就是执行0次。 

而如果写成do...while

int a=0;
do {a++;}while(a>0);

这个循环要执行到a溢出才可以退出, 近乎死循环了。

回答2:

既然条件相同,那为何不是一样呢,,,,,如果不一样,就是条件不同了。

~