1、循环构造的表达式不同:
while循环构造的表达式为:while(表达式){循环体}。
do-while循环构造表达式为:do{循环体;}while(条件表达);。
2、执行末尾循环体的次第不同
while循环的末尾循环体也是在中间循环体里,并在中间循环体中执行,循环体能否继续运转的条件也在循环体中。
do-while循环是在中间循环体中参加末尾循环体,并在执行中间循环体时执行末尾循环体,循环体能否继续运转的条件在末尾循环体里。
举例如下:
while(0)
{printf("执行循环体。");
}
do
{printf("执行循环体");
}while(0);
前者先判别一次条件能否满足,不满足所以不执行下面的循环体,循环体没有被执行;
后者先执行一次循环体,再判别条件能否满足,不满足所以不再执行循环体,循环体执行了一次。
这种区别只要在条件在第一次判别就为"0"(假)时才表现出来,若第一次条件判别为非"0"(真),则没有这种区别。
3、执行次数不同
while循环是先判别后执行,假如判别条件不成立能够不执行中间循环体。
do-while循环是先执行后判别,执行次数至少为一次,执行一次后判别条件能否成立,假如不成立跳出循环,成立则继续运转循环体。
4、执行时判别方式不同
while循环执行时只要当满足条件时才会进入循环,进入循环后,执行完循环体内全部语句至当条件不满足时,再跳出循环。
do-while循环将先运转一次,在经过第一次do循环后,执行完一次后检查条件表达式的值能否成立,其值为不成立时而会退出循环。
相关文章