循环使用频率:for>while>do while

for循环:

语法:(表达式1:表达式2;表达式3)(就是说在分号以前的都是一个表达式)

表达式1相当于初始化,表达式2相当于判断,表达式3作为调整。在while循环中初始化、判断、调整之间的距离相隔比较远。for循环就很好的解决 了这个问题。执行顺序是有初始化进入—>判断(真)—>

进入语句结构—>进入调整-->判断真假,直到为假为止。/判断(假)直接跳出循环。值得注意的是:在while循环和for循环中break都是终止循环的意思,但continue的效果不一定相同。在for循环中continue能够跳过后面代码进入调整部分,而在while 循环中却有可能跳过调整,进入死循环。

在for循环中初始化,判断,调整都可以省略,但是如果判断部分被省略,那么判断条件就恒为真。

如果不是很熟练,那么就不要省略代码(省略代码可能会带来一定的后果)

#include <stdio.h>
int main()
{
	int i = 0;
	int n = 0;
	int ret = 1;
	int sum = 0;

	for (n = 1; n <= 3; n++)
	{
		ret = 1;//没有ret=1这个条件就会使得ret具有累积效果,当n=3时,原先的ret=2被保留了下来,for进入
		//计算就是ret=2*1(i=1),ret=2*2(i=2),ret=2*2*3=12(i=3)ret就被赋值到15
		for (i = 1; i <= n; i++)
			ret = ret * i;
		sum = sum + ret;

	}

		printf("sum=%d ", sum);
	return 0;