学习目标
理解并掌握循环的概念及其算法描述
理解并掌握程序设计中构成循环的方法
熟练掌握for语句的结构及使用
重点
for语句的结构及其使用方法
正确区分for语句、do…while语句与while语句
难点
for语句的结构及其使用方法
分析总结常用的程序设计方法及算法特点,并能编写相应的程序
一、for语句格式
for语句使用灵活,不仅可用于循环次数已经确定的情况,也可用于循环次数不确定而只给出循环结束条件的情况。可以用for循环代替while循环和do...while循环。
for语句的格式如下:
for(表达式1; 表达式2; 表达式3)
语句
例如:
for(i=1;i<=10;i++)
sum+=i;
二、for语句流程
for循环的流程图如图5.3所示,执行过程如下:
(1) 若表达式1存在,则先计算表达式l的值,然后转向步骤(2);若表达式1不存在,则直接进入步骤(2)。
(2) 计算表达式2的值,若其值为真(值为非0),则执行for语句中指定的循环体语句,然后执行步骤(3);若表达式2为假(值为0)则转到步骤(4)。
(3) 若表达式3存在,则计算表达式3的值,然后转向步骤(2);若表达式3不存在,则直接转向步骤(2)。
(4) 循环结束,执行for语句下面的语句。

图5.3 for语句流程图
三、应用举例
例5.4 从键盘输入100个数,求这100个数的和。
例5.5 输入一个正整数,存放变量n中,计算1+1/2+1/3+1/4+…+1/n。
1. for语句说明
(1) 若表达式1被省略,则应在for语句之前给循环变量赋初值。如下所示:
i=2; sum=0;
for(; i<=100; i=i+2) sum+=i;
(2) 若表达式2被省略,即不判断循环条件,则循环无终止地进行下去。也就是认为表达式2始终为真。
(3) 若表达式3被省略,则应在循环体中出现能够保证循环正常结束的语句。如下所示:
sum=0;
for(i=2;i<=100; )
{sum+=i; i=i+2;}
(4) 若省略表达式1和表达式3,只有表达式2,即只给循环条件,则在这种情况下,完全等同于while语句。如下所示:
i=2;sum=0;
for(; i<=100; )
{sum+=i; i=i+2;}
(5) 表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其它表达式。如下所示:
for(sum=0,i=2; i<=100; i+=2)
sum+=i;
(6) 表达式2可以是任何合法的C语言表达式,只要其值为非零,就执行循环体。

