for 语句
for语句是一个循环语句,有点类似与易语言的判断循环和计次循环,格式如下:
for (表达式1;表达式2;表达式3)
其中,表达式1,进入循环前的初始化过程,我们可以在这里初始化循环控制变量;
表达式2,是循环条件的判断,在循环的每一次轮回开始之前,都要判断一下表达式2是否成立,如果成立,那么继续执行
循环体的内容;
表达式3,是对于循环控制变量修改
举一个例子,计算1到10所有数相加的和:
#include <stdio.h>
void main()
{
int sum = 0; //定义一个用来存储和的变量sum
for (int i=1; i<=10; i++); //i++相当于i = i + 1;自增1的意思
{
sum = sum + i;
}
}
复制代码
代码中定义了一个sum变量,用保存和,进入循环的一开始,我们申请一个控制变量i,并初始化为1,
然后程序开始做出判断,即i<=10 ,因为i = 1,所以表达式成立,进入循环体
sum = sum + i , 把第一个数加到sum中,sum初始值为0,第一次执行完循环体后,sum的值为1;
然后执行表达式3,即i++ , i = 2;再判断表达式2,2 < 10 ,表达式成立,执行循环体;
sum = sum + i , 把2加到sum中,sum为1,加2后,等于3 , 所以第二次执行完循环体,sum的值为3;
......
一直到i = 11时,表达式2不成立后,跳出循环,执行接下来的语句,那么这样,我们就完成了1到10的所有数和的计算
加入在把i <= 10 写成i<10,那么循环值加到9,就会跳出循环体,因为当i=10的时候,10<10不成立;这是很多人喜欢疏忽的地方,叫"差一错误"!
由此我们可以看出,for语句的执行顺序是:
表达1 -- 判断表达式2 -- 成立进入循环体执行循环内容 -- 执行表达式3 --回到判断表达2
|
|
不成立 -- 跳出循环
for语句的三个表达式都可以省略的,例如:
for ( ; ; )
语句