C语言循环结构教学设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言循环结构教学设计
一.教学设计(包括教学背景、教学目标)
1.关于“C语言程序设计”课程
C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C 语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。当代最优秀的程序设计语
早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。
C语言的特点
C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。
C语言版本目前最流行的C语言有以下几种:
·Microsoft C 或称MS C
·Borland Turbo C 或称Turbo C
·AT&T C
这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
面向对象的程序设计语言
在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更为深入的概念,它所支持的这些面向对象的
概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。
2.学习方法建议
学习本章内容时,应重点掌握3种循环语句的基本流程,并在此基础上理解循环嵌套的应用,要求多读程序,理解编程的算法、编程的思路,并仿照例题多编程序、上机练习,真正掌握循环结构程序设计。
3.教学目标
1)知识层面:掌握循环结构程序设计
2)能力层面:在编程语言环境熟练应用循环结构编写程序
3)认知层面:深刻理解循环结构for语句、while语句、do-while语句在编程序时应用
4.教学重点与难点
1)教学重点:for 语句、do -while语句、while语句
处理方法:结构流程图和实列帮助学生理解循环结构执行过程2)教学难点:循环的嵌套
处理方法:详细列举循环的嵌套结构形式以及流程图,加上练习帮助学生理解
环体语句。有了这种对表达式功能的认识,才能有此表达式确定的形式,这种形式的确定为下一步讲解如何将for 语句转变成while语句做了最好的铺垫。
2.1.2 for循环的执行过程
首先计算表达式1,然后计算表达式2,若表达式2
的值为真,则执行循环体;否则,退出for循环,执行for 循环外的语句。如果执行了循环体,则循环体每执行一次,都计算表达式3,然后重新计算表达式2,依此循环,直至表达式2的逻辑量值为假,退出循环。流程图如图1所示。
此处可以详细讲解刚才的实例,程序段如下所示。
for (i = 1; i <= 100; i++)
sum = sum + i;
即i=1; 1<=100为真,sum=sum+1;前1项的和,执行后i=2; i=2; 2<=100为真,sum=sum+2;前2项的和,执行后i=3; i=3; 3<=100为真,sum=sum+3;前3项的和,执行后i=4;…i=100;100<=100为真,sum=sum+100;前100项的和,执行后i=101; i=101;101<=100为假,循环终止。此时sum中的值即为所求前100项的和。通过例子得出结论之后,教师要不失时机地再次设疑。在此处,教师可以让学生思考和解决难度相同的问题,并由他们自己做出正确答案,以加深对循环语句的理解和认识。平行问题如下所示。
问题1:1-100内所的奇数/偶数之和?
问题2:1-100内所有为5倍数的数值之和?
问题3:1+1/2+1/3+……+1/100 之和?
对于上述问题,教师只要稍加点拨,或经学生互相讨论,大多数同学都可以从表达式条件对执行过程影响这一角度加以理解,并顺利得出正确的程序。这些问题解决之后,可以逐步加深问题的难度,提高问题如下所示。
问题4:键盘输入10个学生的成绩,输出各成绩和平均成绩;
问题5:在两行上分别按顺序和逆序输出26个英文大写字母;
问题6:输出斐波纳契(Fibonacci)级数的前30项。上
从这里推导出while语句。
它们理解表达式1;
while(表达式2)
{循环体;表达式3;}
代码形式变为:
i=1;
while (i <= 10)
{sum = sum + i; i++;}
这时可以直观地看出for语句与while语句的联系。也可以
说如果表达式1,表达式2,表达式3完全相同的话,while
语句完全等同于for语句。
2.2 while语句
有些问题用for语句不方便或解决不了时,可以用
while语句。如问题:从键盘输入若干个非0数据,求它们
的和?用0结束循环的执行。while语句是当型循环语句,
一般形式为:
while(表达式)
语句;
其中while为语句的关键词,表达式为循环条件,语句部
分一般包括两部分:循环体和步长,所以一般为多条语句
构成,应使用复合语句,以符合语法规范的要求。while
语句的传统流程图如图2所示,其特点是先判断,后执行,
若条件不成立,有可能一次也不执行。
在整个循环中,初始条件只在循环开始时执行一次,以后
进行的是循环条件、循环体和步长之间的循环,一般初始
条件以变量初始化或变量赋值语句的形式在循环语句之前
已经实现,所以在while语句中没有这一条件的体现。在
讲解while语句时,教师可以将讲解for语句的例子用while
语句来实现一遍。从问题的求解中让学生自己总结出两者
之间的区别。
2.3 do-while语句
do-while和while很相似:while 先判断表达式的值,
后执行循环体;do-while先执行循环体,再判断表达式[3]。