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

如题所述

第1个回答  2019-06-07
while
语句循环
1while语句中的表达式一般是关系表达式或者是逻辑表达式,只要表达式的值为真(非0)即可继续循环
2
循环体中如果包括一个以上的语句
则必须用{}括起来,组成符合语句
3
应注意循环条件的选择
以避免死循环
4
允许while语句的循环体又是while语句,从而形成双循环。
do-while语句
1
do-while语句和while语句的区别在于
do-while语句是先执行后判断,因此
do-while至少要执行一次循环体,而while是先判断后执行,如果条件不满足,则一次循环体语句也不执行。while语句和
do-while语句一般可以相互改写。
2
在if语句和while语句中,表达式后面不能加分号,而在
do-while语句的表达式后面必须加分号。
3
do-while语句也可以组成多重循环,而且可以和while语句相互嵌套。在do和while之间的循环体由多个语句组成是,也必须用{}括起来形成一个复合语句。
第2个回答  2019-06-07
在循环体和判断条件相同情况下,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溢出才可以退出,
近乎死循环了。
相似回答
大家正在搜