do while循环和while循环的区别
do while循环和while循环的区别
·
目录
如上图,左边是 do while循环,右边是while循环。这两个循环最本质的区别就是while循环先判断是否满足条件,而do while循环则是最后执行完循环体后再来判断是否满足条件。下面我举个例子。
一、do while 循环
#include <stdio.h>
int main()
{
int x;
scanf("%d",&x);
int n=0;
do
{
x/=10;
n++;
}while(x>0);
printf("%d\n",n);
return 0;
}
在这个程序中计算机先执行循环体x/=10;n++;然后在判断x是否大于0。
二、while循环
1.输入0时,结果仍为0
#include<stdio.h>
int main()
{
int x;
int n=0;
scanf("%d",&x);
while(x>0){
n++;
x/=10;
}
printf("%d/n",n);
return 0;
}
在这个程序中,计算机会先判断x是否大于0,然后在执行循环体n++;x/=10.但这里有一个问题,那就是当x=0时,输出的结果为0,下面我没来试着解决这个问题。
2.输入0时,结果为1
#include <stdio.h>
int main()
{
int x;
int n=0;
scanf("%d",&x);
n++;
x/=10;
while(x>0){
n++;
x/=10;
}
printf("%d\n",n);
return 0;
}
在这个程序中,计算机先要执行n++;x/=10;然后在执行while循环,这样当x=0时,n=1,计算机不进行while循环,直接输出结果为1。
3.用if else解决输入为0,输出也为0的问题
#include <stdio.h>
int main()
{
int x;
int n=0;
scanf("%d",&x);
if(x>0){
while(x>0){
n++;
x/=10;
}
}else{
n=1;
}
printf("%d\n",n);
return 0;
}
在这个程序之中,计算机先判断x是否大于0,如果大于0执行while循环,否则n=1,然后直接输出结果。如果x=0的话,直接执行n=1,然后输出结果1。
三、总结
while语句是一个循环语句,它会首先判断一个条件是否满足,如果条件满足,则执行后面紧跟着的语句或语句括号,然后再次判断条件是否满足,如果条件满足则再次执行,直到条件不满足为止。后面紧跟的语句或语句括号,就是循环体。
do-while循环和while循环很像,唯一的区别是我们在循环体执行结束的时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。与while循环相同的是,条件满足时执行循环,条件不满足时结束循环。
更多推荐
已为社区贡献1条内容
所有评论(0)