c语言中,while 和 do while 循环的主要区别是( )

A. while 的循环控制条件比 do„while 的循环控制条件严格 B. do„while 的循环体至少无条件执行一次 C. do„while 允许从外部转到循环体内 D. do„while 的循环体不能是复合语句 为什么答案是D

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循环后,执行完一次后检查条件表达式的值是否成立,其值为不成立时而会退出循环。

参考资料来源:

百度百科——while

百度百科——do while

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-09

C语言中while和do–while循环的主要区别如下:

1、循环结构的表达式不同

while循环结构的表达式为:while(表达式){循环体}。

do-while循环结构表达式为:do{循环体;}while (条件表达);。

2、执行时判断方式不同

while循环执行时只有当满足条件时才会进入循环,进入循环后,执行完循环体内全部语句至当条件不满足时,再跳出循环。

do-while循环将先运行一次,在经过第一次do循环后,执行完一次后检查条件表达式的值是否成立,其值为不成立时而会退出循环。

3、执行次数不同

while循环是先判断后执行,如果判断条件不成立可以不执行中间循环体。

do-while循环是先执行后判断,执行次数至少为一次,执行一次后判断条件是否成立,如果不成立跳出循环,成立则继续运行循环体。

4、执行末尾循环体的顺序不同

while循环的末尾循环体也是在中间循环体里,并在中间循环体中执行,循环体是否继续运行的条件也在循环体中。

do-while循环是在中间循环体中加入末尾循环体,并在执行中间循环体时执行末尾循环体,循环体是否继续运行的条件在末尾循环体里。

参考资料来源:百度百科——while

百度百科——do while

第2个回答  推荐于2017-12-12
答案必然是B。while与do……while的区别体现在判断条件在第一次判断时就为"0"(假)的情况,若第一次判断不为"0"(假),则这两者完全一样。举例如下:
while(0)
{printf("执行循环体。");
}

do
{printf("执行循环体");
}while(0);
前者先判断一次条件是否满足,不满足所以不执行下面的循环体,循环体没有被执行;
后者先执行一次循环体,再判断条件是否满足,不满足所以不再执行循环体,循环体执行了一次。
这种区别只有在条件在第一次判断就为"0"(假)时才体现出来,若第一次条件判断为非"0"(真),则没有这种区别。
因此答案必然是B。本回答被网友采纳
第3个回答  推荐于2017-11-25
答案应该是B吧。
do while的时候会先执行循环体一次,再判断条件
而while是先判断条件,条件不成立,不会执行循环体。本回答被提问者和网友采纳
第4个回答  2012-12-09
while在执行第一次之前会检查条件,不满足则不会执行,而do while 在执行第一次之前则不会检查条件,至少会执行一次
相似回答