信息技术教案

5.3 用for语句实现循环

时间:2015-10-23 来源:无忧教育网 编辑:森林狼 点击:

5.3 用for语句实现循环

5.3.1 for语句的一般形式和执行过程
for语句不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况
for语句完全可以代替while语句
for语句的一般形式为
    for(表达式1;表达式2;表达式3) 
                语句
【表达式1】设置初始条件,只执行一次。可以为零个、一个或多个变量设置初值执行
【表达式2】循环条件表达式,用来判定是否继续循环。在每次执行循环体前先执行此表达式,决定是否继续执行循环
【表达式3】作为循环的调整器,例如使循环变量增值,它是在执行完循环体后才进行的
for语句的执行过程:
(1) 先求解表达式1
(2) 求解表达式2,若其值为真,执行循环体,然后执行下面第(3)步。若为假,则结束循环,转到第(5)步
(3) 求解表达式3
(4) 转回上面步骤(2)继续执行
(5) 循环结束,执行for语句下面的一个语句

for(i=1;i<=100;i++) 
       sum=sum+i;
等价于
i=1;
while(i<=100)
{
     sum=sum+i;
     i++;
}
 
5.3.2 for循环程序举例
例5.4 在象棋的棋盘第1个格子中放1粒麦子,第2个格子中放2粒麦子,第3个格子中放4粒麦子,以后按此比例每一格加一倍,一直放到第64格(象棋的棋盘是8×8=64格),共放多少?
麦子总粒数=1+2+22+23+…+263
1m3=1.42×108粒

#include <stdio.h>
void main()
{  double p=1, t=1, v;    int i;
    for(i=1; i<64; i++) 
    {  p = p * 2; 
        t = t + p; 
}
    v = t / 1.42e8; 
    printf(“total=%e\n”,t);
    printf(“volume=%e\n”,v); 
}
p是当前一个格子中麦子粒数
t是当前麦子总粒数
v是总体积
total=1.844674e+019
volnme=1.299066e+011

#include <stdio.h>
void main()
{  double p=1, t=1, v;    int i;
    for(i=1; i<64; i++) //若改为i=1;i<=64;i++会怎样?再或者改为i=0;i<64;i++会怎样?
 
    {  p = p * 2; 
        t = t + p; 
}
    v = t / 1.42e8; 
    printf(“total=%e\n”,t);
    printf(“volume=%e\n”,v); 
}

例5.5 人口增长预测。据2005年末统计,我国人口为130756万人,如果人口的年增长率为1%,请计算到哪一年中国总人口超过15亿。
解题思路:
假设原来人口为p0 ,则一年后的人口为:p=p0*(1+r) ,r是年增长率
每算出一年的人口后就检查是否达到或超过15亿。如果未达到或超过,再计算下一年的人口,直到某一年的人口达到或超过15亿为止
#include <stdio.h>
void main()
  double p=1.30756e9,r=0.01;
  int y;
  for(y=2006; p<1.5e9; y++)
      p=p*(1+r); 
  printf("year=%d,p=%e\n",y-1,p);
}
year=2019,p=1.503007e+009
2019年达到15.03007亿人口

详细内容可下载幻灯片细看:
http://www.edu399.com/kejian/C/C.rar
 

  [个人简历模板专题]   [世博作文专题]   [教师工作总结专题]   [残疾人优惠政策]

本文地址:http://www.edu399.com/jiaoan/xxjs/142337.html
本文标题:5.3 用for语句实现循环
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)