本课内容:循环程序设计
教学目的:掌握 while,do…while, for三种循环结构,
掌握语句 格式、功能、并能进行循环程序设计。
重点:循环结构格式、功能、循环概念。
难点:循环结构程序设计的条件确定,for 中各参数的使用。
预习:循环描述
I<=10
A
P
A
P A
一,while 结构及应用
格式,while (条件)
语句(循环体)
功能:条件为真,执行循环体,然后再判断条件,仍为真,继续
执行循环体,直到条件为假结束,执行结构下一语句。
说明:语句一般是复合语句,即由多个语句组成,称循环体,当
多于一个语句时,要用花括号括起来。
如,main()
{
int number=0;
while (number<=1)
{
printg(“%d \n”,number);
number++;
}
}
例:求 ?
?
10
1i
i
二,do …while 结构及应用
格式,do
循环体
while (条件)
功能:先执行循环体语句,然后对条件进行判断,为真(非零),
执行循环体,否则结束。
如:求 100以内偶数和。
main()
{int a=0,b=0;
do
{ ++a;
++a;
b+=a;
}
while (a<100);
printf(“%d \n”,b);
}
#include,stdio.h”
main()
{ int c;
do
{ c=gerchar();
putchar ( c );
}
while (c !=EOF);
} /*EOF值为 -1,键入 ^z时的值为 -1*/
三,for 结构及应用
格式,for (初始表达式;条件表达式;修正表达式)
循环体
功能:先执行初始表达式,判断条件表达式是否为真,为真执行循
环体,然后执行执行修正表达式,再判断条件表达式是否为真,
重复上述过程,直到条件表达式为假结束。
如求
main()
{
int i,sum=0;
for (i=1 ; i<=10;i++)
sum+=i;
printf(“sum=%d \n”,sum);
}
?
?
10
1i
i
执行初始表达式
判断条件表达
执行循环体
执行修正表达式


省略形式的 for 循环,
(1),for (;条件表达式;修正表达式) 语句
(2),for (初始表达式;条件表达式;)语句
(3),for(;条件表达式;)语句
如 (1) sum=0;i=1;
for ( ;i<=100 ; i++) sum+=i ;
(2) sum=0;
for( i=1 ; i<=100 ; ) sum+=i++ ;
(3) sum=0;
i=1;
for ( ; i<=100 ; ) sum+=i++ ;
分析,for ( ; ; ; )的执行情况
又如,main()
{ int i,j,k ;
for ( i=0,j=5 ; i<j ; i++,j- -)
{ k=I+j;
printf(,i=%d j=%d k=%d \n”,i,j,k ); }
}
例,P93_3.23
例:求
Main()
{
int n,i;
double h,s=0.0,t;
scanf(“%d \n”,n);
h=1/n;
for (i=1;i<=n;i++)
{
t=(sin((i-1)*h)+sin(i*h))*h/2;
s+=t;
}
printf(“s=%lf \n”,s);
}
?
1
0
s in x d x
sinx
上底
1/n 0 1

x
y
高,h=(1-0)/n
上底,sin((i-1)*h)
下底,sin(i*h)
面积,hhihi,
2
)*s i n ()*)1s i n ( ( ??
下底
小结,
1,while
2,do…while
3,for
注,1和 2的区别
for中的各表达式的作用
各种不同的算法工具描述形式
作业,p96_3.13(1,4)