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
C语言中while和do–while循环的主要区别:
1、语法不同:
while语法为:
while (条件)
{
循环体语句
}
do-while语法为:
do
{
循环语句
}while(条件)
2、执行次数不同:
do while先执行循环,然后在判断循环条件,而while循环先判断再执行循环体,如果条件不满足就不会进入循环体。
他们的主要区别就是,前者必须满足条件才可以执行循环,后者的特点是无论如何循环都能执行一次。
用while语句实现循环:
while语句用来实现“当型”循环结构。其一般形式如下:
while(表达式)
语句;
执行顺序:先判断表达式,后执行语句。也就是说当while后面的表达式为真(非零)时,就执行语句。执行完后再次返回while表达式,如果还为真(非零)就再次执行语句,然后再次返回while表达试……直到while后面的表达式为假(为零)时终止执行。看不懂没关系,我们再来看一道例题:
#include
int main() //主函数
{
int i,sum=0; //定义整形i和sum的值,并把0的值赋给sum
i=1; //把1的值赋给i
while(i<=100) //当i的值<=100时执行下面循环体语句。
{
sum=sum+i; //sum=0+1
i++; //i++后此时的i不再是1了,i变成了2
} //然后返回while表达式,发现i的值仍然<=100所以继续往下做语句,直到i<=100为止
printf("%d\n",sum);
}
用do...while语句实现循环:
do...while语句的特点是先执行循环体,热后判断循环条件是否成立。其一般形式为:
do
循环体语句;
while(表达式)
执行顺序:先执行一次指定的循环体语句,然后判别表达式。当表达式的值为真(非零)时,返回重新执行循环体语句,如此反复,直到表达式的值为假(为零)时为止,此时循环结束。下面来看一道例题:
#include
int main()
{
int i,sum=0;
i=1;
do //先做这个语句
{
sum=sum+i;
i++;
}
while(i<=100) //再判断while后面的表达式成不成立
printf("%d\n",sum); //如果成立返回do,继续做语句,不成立则循环结束。
}
这么一总结我们可以知道:
while语句是先判断表达式成不成立。如果成立就做表达式;如果不成立则循环结束。 do...while语句不管条件成不成立,先做一段语句。做完后再去判断表达式成不成立。如果成立返回do后的语句继续做;如果不成立则循环结束。
那有的小朋友就会问了,这一个先判断和一个后判断有什么不一样吗,不都是要判断吗?小编在这里告诉你:while语句后的表达式如果在一开始就为假,就直接跳出循环了,而do...while语句先做语句后再跳出循环 。如果小朋友们还有什么疑惑可以在下方留言提问哦~
while是需要先判断条件是不是满足,满足才执行while内容。
do-while是首先做一次while的内容然后判断是否满足,不满足跳出,满足继续做。