for 循环语句的一般形式为:
for (表达式 1; 表达式 2; 表达式 3)
{
语句;
}
首先要强调两点:
- 表达式 1、表达式 2 和表达式 3 之间是用分号;隔开的,千万不要写成逗号。
- for(表达式 1;表达式 2;表达式 3)的后面千万不要加分号,很多新手都会犯这种错误—
—会情不自禁地在后面加分号。
因为 for 循环只能控制到其后的一条语句,而在 C 语言中分号也是一个语句——空语句。
所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句
就不属于 for 循环了。
下面来看看它的执行过程:
求解表达式 1。
求解表达式 2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第 3 步;若表
达式 2 值为假,则结束循环,转到第 5 步。
4 / 6
求解表达式 3。
转回上面第 2 步继续执行。
循环结束,执行 for 语句下面的语句。
从这个执行过程中可以看出,“表达式 1”只执行一次,循环是在“表达式 2”“表达式 3”和“内嵌
语句”之间进行的。
for 语句最简单的形式是:
for (循环变量赋初值; 循环条件; 循环变量增值)
{
语句;
}
下面给大家写一个程序,求 1+2+3+4+…+100 的总和。
include <stdio.h>
int main(void)
{
int i;
int sum = 0; //sum 的英文意思是“总和”
for (i=1; i<=100; ++i) //++是自加的意思, ++i 相当于 i = i + 1
{
sum = sum + i; /等价于 sum += i;但是不建议这么写, 因为 sum = sum + i 看起
来更清楚、更舒服/
}
printf(“sum = %d\n”, sum);
return 0;
5 / 6
}
输出结果是:
sum = 5050
这个程序的功能是实现求 1+2+3+4+…+100 的和,如果不用循环,加一次就要一条语句,
加 100 次就要 100 条语句。这里是从 1 加到 100,要是从 1 加到 10000 那就要 10000
条语句。但有了循环就很方便了,你想加到多少就加到多少,只要改一个参数就可以了。
所以循环很重要。
下面按照执行过程看看上面这个程序是怎样执行的。
- 首先定义一个循环变量 i。定义的时候可以不给它赋初值,在 for 循环里面再给它赋初
值也行。但前面说过,最好在定义变量的时候就对它进行初始化,如果值不确定就初始化
为 0。所以程序中也可以在定义 i 的时候就给它赋初值,那么 for 循环里的“表达式 1”就
可以省略了,但分号不可以省略