在编程语言中我们经常会用到循环语句,循环语句常用的有三种,for 、while、do while,那么我们在用的时候应该如择用哪一个呢?
我们以对一个数字n,求1+2+3+...+n为例,做以下实验,分别用三个语句来实现它。
1、for语句
我们定义一个变量tmp,tmp保存和的值,再定义一个i,让i通过for循环,从i到n遍历,tmp累加i的值。
int main()
{
int tmp = 0;
for(int i=1;i<=n;i++)
{
tmp += i;
}
printf("%d\n",tmp);
return 0;
}
2、while语句
我们定义一个变量tmp,在定义一个变量i,让i通过while循环,从i到n遍历,tmp累加i的值。
int main()
{
int tmp = 0;
int i = 1;
while(i <= n)
{
tmp += i;
i++;
}
printf("%d\n",tmp);
return 0;
}
3、do while 语句
我们定义一个变量tmp,在定义一个变量i,让i通过 do while循环,从i到n遍历,tmp累加i的值。
int main()
{
int tmp = 0;
int i = 1;
do
{
tmp += i;
i++;
}while(i <= n);
printf("%d\n",tmp);
return 0;
}
通过以上三个语句的比较,我们发现他们三个都得定义2个变量tmp 和i,来达到函数的目的,不同的是for和while的区别就在于判断语句的位置不同而已,其他地方都相同。然而do while与他们两个的区别是,当判断语句一开始就不成立时,do while比while多了一次循环。
int Sum_while(int n)
{
int tmp = 0;
int i = 1;
while(i <= n)
{
tmp += i;
i++;
}
return tmp;
}
int Sum_dowhile(int n)
{
int tmp = 0;
int i = 1;
do
{
tmp += i;
i++;
}while(i<=n);
return tmp;
}