《C语言程序设计》教案
第六章 循环控制——for语句
教师姓名授课班级授课形式讲授授课日期授课地点授课时数2章节名称第6章 循环控制 6.5 for语句
教学目的要求1、了解GOTO语句及用GOTO语句构成循环
2、熟练掌握WHILE,DO—WHILE,FOR语句
3、掌握三循环之间的特特和区别,掌握典型例题程序。教学重点1.While和do-while的区别
2.for循环语句的嵌套。
教学难点1.While和do-while的区别
2.for循环语句的嵌套。
教学方式手段1、运用讲述和演示的教学方法,处理好理论与具体操作的关系。重视上机练习,加强学生的上机实践。
2、制作电子教案,运用多媒体教学手段。教材参考书1、《C程序设计》? 谭浩强? 清华大学出版社?
2、《C程序设计题解与上机指导》? 谭浩强? 清华大学出版社
3、《C高级实用程序设计》? 王士元? 清华大学出版社
4、《C常用算法程序集》? 徐士良 清华大学出版社
教学内容
一、复习回顾:
循环结构是结构化程序设计的基本结构之一,它和顺序、选择结构共同作为各种复杂程序的基本结构单元。
goto语句:用goto语句和if语句构成循环
while语句: while 语句用来实现“当型”循环结构。 while(表达式) 语句, 当表达式为非0时,执行while语句中的内嵌语句。
do-while语句: do 循环体语句 while(表达式)
二、本节教学内容:
for语句
for语句的一般形式:
for(表达式1;表达式2;表达式3)语句
执行过程:
(1)先求解表达式1;
(2)求解表达式2,若值为真,则执行for语句中指定的内嵌语句,执行(3);若值为假,则结束循环执行(5)步。
(3)求解表达式3。
(4)转回上面(2)继续执行。
(5)循环结束,执行for语句下面的一个语句。
说明:
(1)for语句的一般形式中的“表达式1”可以省略,此时应在for语句前给循环变量赋初值。但表达式1后的“;”不能省去。
(2)如果表达式2省略,即不判断循环条件,循环无终止进行下去。也就是认为表达式2始终为真。
(3)表达式3也可以省略,但此时程序设计者应另外设法保证循环正常结束。
(4)可以省略表达式1和表达式3,只有表达式2,即只给出循环条件。
(5)3个表达式可以都省略,即无终止的执行循环体。
(6)表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。
(7)表达式一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。
(8)表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式。
(9)如果循环次数在执行循环体之前就已确定,一般用for语句;如果循环次数是根据循环体的执行情况确定的,一般用while语句或者do-while语句。
例 求Fibonacci数列20个数。
分析:这个数列有以下特点:第1,2两个数都为1,从第3个数开始,每个数是其前两位置上的数的和。程序如下:
main()
{long int f1,f2;
int i;
f1=1;f2=1;
for(i=1;i<=10;i++)
{ printf("%12ld %12ld",f1,f2);
if(i%2==0)
printf("\n");
f1=f1+f2;
f2=f2+f1; }
}
运行结果为:
1 1 2 3
5 8 13 21
34 55 89 144
233 377 610 987
三、课程小结:
(1)四种循环都可以用来处理同一问题,一般情况下它们可以互换。但一般不提倡使用got