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
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
答案必然是B。while与do……while的区别体现在判断条件在第一次判断时就为"0"(假)的情况,若第一次判断不为"0"(假),则这两者完全一样。举例如下:
while(0)
{printf("执行循环体。");
}
do
{printf("执行循环体");
}while(0);
前者先判断一次条件是否满足,不满足所以不执行下面的循环体,循环体没有被执行;
后者先执行一次循环体,再判断条件是否满足,不满足所以不再执行循环体,循环体执行了一次。
这种区别只有在条件在第一次判断就为"0"(假)时才体现出来,若第一次条件判断为非"0"(真),则没有这种区别。
因此答案必然是B。
答案应该是B吧。
do while的时候会先执行循环体一次,再判断条件
而while是先判断条件,条件不成立,不会执行循环体。
while在执行第一次之前会检查条件,不满足则不会执行,而do while 在执行第一次之前则不会检查条件,至少会执行一次