【引例5.1】
假设今年我国的人口总数为13亿,若按每年2%增长,计算从现在开始10年内每年人口的数量
【例5.2】
编写程序,计算1-1/4+1/7-1/10+1/13-1/16...的和
while语句是三种循环结构之一,while括号中的表达式为循环条件。
5.2使用for语句实现循环结构
for语句一般形式为:for(表达式1;判断;表达式3)
循环体语句;
for语句的执行过程如下:
①首先计算表达式1
②判断表达式2为真则执行循环体语句然后执行第三步,若为假结束循环
③计算表达式3
④返回②继续执行
⑤循环结束,继续执行for的下一条语句。
for语句执行的流程图:
1.可以应用于计数型的循环
说明:循环变量赋初始值是一个赋值语句,用于给循环变量赋初值;循环条件是一个关系表达式,决定何时终止循环(即确定循环的终值);循环变量增值决定循环变量在完成一次循环后如何变化。
【5.3】输入一个正整数n,求∑i的值
【5.4】输入一个正整数n,求n!=
2.for语句的一般形式中省略表达式1。
说明:省略表达式1时,可以将循环变量赋初值放在for之前。
for(i=1;i<=n;i++)
sum=sum+i;
等价于:
for(; i<=n; i++)
sum=sum+i;
3.for语句的一般形式中省略表达式2。说明:省略表达式2时,表示不对循环进行控制,这时如果没有其他处理的话,会形成死循环。应避免这样使用for结构。
4.for语句的一般形式中省略表达式3。
说明:省略表达式3时,可以在循环体语句中加入修改循环变量的语句。
for(i=1; i<=n; i++)
factorial=factorial*i;
等价于:
for(i=1; i<=n;)
{ factorial=factorial * i;
i++;
}
5.for语句的一般形式中表达式1和表达式3也可以时逗号表达式
sum=0;
for(i=1; i<=n; i++)
sum=sum+i;
等价于:
for(sum=0,i=1; i<=n; i++)
sum=sum+i;
6.for语句的一般形式中表达式2的值只要非0,就可以执行循环体。
for(; (ch=getchar())!='\n';)
printf("%c",ch);
7.for语句的一般形式中循环体语句可以省略
for(i=1;i<=n; i++)
sum=sum+i;
等价于:
for(i=1;i<=n;sum=sum+i,i++);
循环体语句sum=sum+i;放到表达式3中,与i++构成一个逗号表达式,此时循环体语句实际为一个空语句 “;” (单独一个 “;”称为空语句)。
5.2.2for循环使用示例
【5.5】编写程序输入一个整数n,计算1-1/4+1/7-1/10+1/13-1/16...的前n项之和
[5.6]编写程序,输入10个数,输出其中的最大数
【5.7】编写程序输出所有水仙花数