循环语句for 、while、do while的区别


在编程语言中我们经常会用到循环语句,循环语句常用的有三种,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;
}

猜你喜欢

转载自blog.csdn.net/Pluto_God/article/details/79843111