for:
for(表达式1;表达式2;表达式3)
{
loop;
}
这个执行过程是:首先执行表达式1,然后判断表达式2是否成立,如果成立,
则执行loop,然后再是执行表达式3。
顺序:表达式1 > 表达式2 > loop > 表达式3
如果判断表达式2不成立,则返回,不会执行loop。因此for循环最少循环0次。
使用方法1:标准形式
#include <stdio.h>
#include <stdlib.h>
#define LEFT 1
#define RIGHT 100
int main()
{
int i;
int start,end = 10;
int sum = 0;
for(i = LEFT; i<=RIGHT;i++)
{
sum +=i;
}
printf("sum = %d\n",sum);
return 0;
}
使用方法2:省掉第一个表达式
#include <stdio.h>
#include <stdlib.h>
#define LEFT 1
#define RIGHT 100
int main()
{
int i;
int start,end = 10;
int sum = 0;
i = LEFT;
for(; i<=RIGHT;i++)
{
sum +=i;
}
printf("sum = %d\n",sum);
return 0;
}
使用方法3:省掉第三个表达式
#include <stdio.h>
#include <stdlib.h>
#define LEFT 1
#define RIGHT 100
int main()
{
int i;
int start,end = 10;
int sum = 0;
i = LEFT;
for(; i<=RIGHT;)
{
sum +=i;
i++;
}
printf("sum = %d\n",sum);
return 0;
}
使用方法4:省掉第二个判断表达式
#include <stdio.h>
#include <stdlib.h>
#define LEFT 1
#define RIGHT 100
int main()
{
int i;
int start,end = 10;
int sum = 0;
i = LEFT;
for(; ;)
{
sum +=i;
i++;
if(i>RIGHT)
break;
}
printf("sum = %d\n",sum);
return 0;
}
最后的结果都是 sum = 5050;
注意:即使上述for三个表达式都省去了,但两个分号不能省掉。