当前位置:首页 >> IT/计算机 >> C语言中循环结构的教学设计探讨

C语言中循环结构的教学设计探讨


第5期 2011 年 3 月 10 日

计 算 机 教 育
Computer Education 中图分类号:G642
No.5 Mar.10,2011 87

文章编号:1672-5913(2011)05-0087-04

文献标识码: B

C 语言中循环结构的教学设计探讨
马宪敏 1,于 延2
(1.哈尔滨师范大学 恒星学院 信息科学系,黑龙江 哈尔滨 150025;2. 哈尔滨师范大学 计算机科学与信息工程学院, 黑龙江 哈尔滨 150025)

摘 要:循环结构是结构化程序设计中的三种基本结构之一,也是程序设计的基础。但是,对于初学者来说, 循环结构与人类日常的思维习惯不同,较难掌握。本文通过精讲 for 循环,推导出 while、do-while 循环,该 方法在日常授课中取得良好的效果。 关键词:C 语言;结构化程序设计;循环结构;计算机课教学方法 循环语句是 C 语言程序设计课中的重点知识, 是编辑程序的关键。笔者根据多年程序设计课程的 教学实践,针对循环语句的特点,通过提问式、启 发式教学方法,将问题层层剖析、层层深入,用简 单浅显的语句讲解循环语句,特别是在如何从 for 语句变形为 while 语句这一知识点的过渡方面体会深 刻、总结独特。该教学方法能够启发学生动用自己的 思维,激发学生的潜能,并使其主动探索,该方法及 选用的一连串的例子能够引导学生自己去发现学习 的乐趣。 条语句的直观印象。 这样做既能克服传统复习枯燥乏 味的缺点,也能抓住学生的好奇心,还能激发学生对 新问题的求知欲。

2

内容讲解过程

2.1 for 语句 在三种循环语句中, 教师应该先讲哪个呢?笔者 认为应该先讲 for 语句,因为 for 语句完全可以变形 为 while 语句,while 语句又能变形为 do-while 语句。 所以当学生深刻理解了 for 语句后,自然能理解和掌 握其他语句。for 语句是循环控制结构中使用最广泛 的一种循环控制语句,特别适合已知循环次数的情 况。 第一次讲解循环实例要通俗易懂, 力求循序渐进。 如求 1+2+3+…+100 的值,并将其结果放在变量 sum 中[2]。引导数生用依次相加的方法求和,推导过程如 以下代码所示。
sum=0; sum=sum+1; sum=sum+2; sum=sum+3; …… sum=sum+100;

1

巧妙复习,引入正题

要使学生轻松容易地理解和掌握 C 语言中的循 环结构程序设计方法和技巧, 教师必须在教学的所有 环节上都进行认真研究和精心设计[1]。在循环结构的 第一节课,我们可以连续抛出几个问题让学生思考。 “例如,问题 1:打印一行十个星号,如何实现?问 题 2:打印两行十个星号,如何实现?问题 3:打印 10 行十个星号如何实现?问题 4: 打印 100 行十个星 学生都能快速解决, 号如何实现?” 对于前 3 个问题, 而第 4 个问题,学生如果还用以前的方法,语句至少 需要 100 条。此时,如果教师指导学生用 for 循环实 现的语句,同学们就可得到用 3 条语句代替这 100

从这个推导过程中找出规律 sum=sum+i,i 的初

基金项目:黑龙江省计算机应用技术重点学科(081203)资助;黑龙江省智能教育与信息工程重点实验室资助。 作者简介:马宪敏,女,讲师,研究方向为软件工程、网络安全;于延,男,副教授,研究方向为数据库理论、智 能教育。

计 算 机 教 育
88

Computer Education

2011

值 i=1, 的范围 i<=100, 每次变化步长。 i i 得出语句: for(i=1;i<=100;i++) sum=sum+i;从例子中引出 for 语 句的一般形式。 2.1.1 for 语句的一般形式

此处可以详细讲解刚才的实例,程序段如下所示。
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 项的和。

for(表达式 1;表达式 2;表达式 3)循环体语句。 for 语句从结构上很好地体现了循环控制应注意 的三个问题:1)循环的初始条件;2)循环条件;3)循 环的步长[3]。 接着讲解 for 语句中表达式的功能及常见形式。 表达式 1:设计循环的初始条件,常为赋值表达 式,给循环的控制变量赋初值; 表达式 2:确定循环的条件,该表达式的值为逻 辑量真或假,一般为关系表达式或逻辑表达式; 表达式 3:循环的步长,一般为赋值表达式、自 加或自减表达式。 语句:循环体,当有多条语句时,必须使用复合 语句。 所以 for 语句的一般形式又可以变为: for(赋值表达式;关系表达式;自加或自减表达 式)循环体语句。 有了这种对表达式功能的认识, 才能有此表达式 确定的形式,这种形式的确定为下一步讲解如何将 for 语句转变成 while 语句做了最好的铺垫。
2.1.2 for 循环的执行过程 首先计算表达式 1,然后计算表达式 2,若表达 式 2 的值为真,则执行循环体;否则,退出 for 循环, 执行 for 循环外的语句。如果执行了循环体,则循环 体每执行一次,都计算表达式 3,然后重新计算表达 式 2,依此循环,直至表达式 2 的逻辑量值为假,退 出循环。流程图如图 1 所示。
执行表达式 1

通过例子得出结论之后, 教师要不失时机地再次 设疑。在此处,教师可以让学生思考和解决难度相同 的问题,并由他们自己做出正确答案,以加深对循环 语句的理解和认识。平行问题如下所示。 问题 1:1-100 内所的奇数/偶数之和? 问题 2:1-100 内所有为 5 倍数的数值之和? 1 1 1 问题 3: 1 + + + + 之和? 2 3 100 对于上述问题,教师只要稍加点拨,或经学生互 相讨论, 大多数同学都可以从表达式条件对执行过程 影响这一角度加以理解,并顺利得出正确的程序。 这些问题解决之后, 教师可以逐步加深问题的难 度,提高问题如下所示。 问题 4:键盘输入 10 个学生的成绩,输出各成 绩和平均成绩。 问题 5:在两行上分别按顺序和逆序输出 26 个 英文大写字母。 问题 6: 输出斐波纳契(Fibonacci)级数的前 30 项。 上述例子, 可以使学生由感性认识上升到理性认 识,在认识上产生了质的飞跃。 2.1.3 for 语句的几种格式


判断表达式 2


执行循环体语句

for 语句的三个表达式都是可以省略的,但分号
“; ”绝对不能省略。还是以刚才的例子分别讲解表达 式 1、表达式 2 和表达式 3 省略的情况。

执行表达式 3

1) for(;表达式 2;表达式 3) 循环体语句。 for 语句执行过程的第一步是执行表达式 1,我
们可以将表达式 1 放到 for 循环的前面,这就形成了 省略表达式 1 的情况。使用条件是:循环控制变量的

执行循环体外语句

图 1 for 循环流程图

第5期

学科建设与教学改革

89

初值是执行在循环体前已经赋值,如下面代码:
i = 1; for (;i<=100;i++) sum = sum + i;

可以清楚地看到,在执行循环前,循环控制变量 的初值已经被事先赋值了。执行时,跳过求解“表达 式 1”这一步,其他的执行步骤不变。 ;表达式 3) 循环体语句。 2) for(表达式 1; 表达式 2 省略时,循环条件默认为真,此时,循 环体中一定要有一条语句能够跑出循环, 否则就是一 个死循环。为了以后避免出现死循环,可以演示死循 环的执行过程,给学生留下深刻的印象。 3) for(;表达式 2;) 循环体语句。 表达式 3 也可以省略,根据它的执行顺序可知, 它是在执行循环体语句后面执行的, 那么我们可以把 “表达式 3”放到循环体中所有语句的最后面,以保 证循环能正常结束。如以上代码可以变为如下形式。
i = 1; for (; i <= 100;) {sum = sum + i; i++;}

其中 while 为语句的关键词, 表达式为循环条件, 语句部分一般包括两部分:循环体和步长,所以一般 为多条语句构成,应使用复合语句,以符合语法规范 的要求。 while 语句的传统流程图如图 2 所示,其特点是 先判断, 后执行, 若条件不成立, 有可能一次也不执行。

表达式 0

非0

循环体

图2

while 语句的流程图

特别要注意的是,如果循环体有多条语句,要用 一对大括号括起所有语句,构成复合语句。 这种形式就是也 while 语句最为接近的形式。 也 可以从这里推导出 while 语句。 表达式 1; while(表达式 2) {循环体;表达式 3; } 代码形式变为:
i=1; while (i <= 10) {sum = sum + i; i++;}

在整个循环中, 初始条件只在循环开始时执行一 次,以后进行的是循环条件、循环体和步长之间的循 环, 一般初始条件以变量初始化或变量赋值语句的形 式在循环语句之前已经实现,所以在 while 语句中没 有这一条件的体现。 在讲解 while 语句时,教师可以将讲解 for 语句 的例子用 while 语句来实现一遍。从问题的求解中让 学生自己总结出两者之间的区别。 2.3 do-while 语句

这时可以直观地看出 for 语句与 while 语句的联 系。也可以说如果表达式 1,表达式 2,表达式 3 完 全相同的话,while 语句完全等同于 for 语句。 2.2 while 语句 有些问题用 for 语句不方便或解决不了时,可以 用 while 语句。 如问题: 从键盘输入若干个非 0 数据, 求它们的和?用 0 结束循环的执行[2]。 while 语句是当型循环语句,一般形式为: while(表达式)语句;

do-while 和 while 很相似:while 先判断表达式 的值,后执行循环体;do-while 先执行循环体,再判 断表达式[3]。它的一般形式为: do 循环体 while(表达式); 其中语句通常为复合语句,基本组成同 while 语句。 do-while 语句的流程图如图 3 所示,其基本特点 是:先执行后判断,因此,循环体至少被执行一次。

循环体

表达式 0

非0

图 3 do-while 语句的流程图

计 算 机 教 育
90

Computer Education

2011

可以用 do-while 语句实现前一个例子, 比较它们 的异同。

3

结语

“C 语言程序设计”课程中循环结构是重点也是 难点,如何在课堂上激发学生学习的兴趣,培养学生 发现问题和解决问题的能力,充分发挥学生的潜
参考文献:

能, 这是每一位教师必须面对的问题。 只有教师采用 秩序渐近的教学方法, 学生才能掌握规律、 活学活用、 举一反三。在课堂上,充分发挥学生的主体作用和教 师的主导作用,采用启发式,并遵循循序渐进的教学 原则,引导学生不断设疑、析疑、解疑。总之,教学 是一个需要持续改进和完善的过程, 我们将不断总结 课程教学的经验,使 C 语言教学迈向新的台阶。

[1] 孙英,徐顺琼,李兴美. C 语言中循环结构程序课的教学设计与探讨[J]. 计算机教育,2009(12):188-189. [2] 崔武子. C 程序设计教程[M]. 2 版. 北京:清华大学出版社,2008:88-91. [3] 谭浩强. C 语言程序设计[M]. 3 版. 北京:清华大学出版社,2008:118-119.

Teaching Methods of the Cycle Structure in C Language
MA Xianmin1, YU Yan2 (1.Information Science Department, Harbin Normal university Star College, Harbin 150025, China; 2.Institute of Computer Science and Information Engineering, Harbin Normal University, Harbin 150025, China )

Abstract: Cycle structure is structured programming, one of the three basic structure. But for beginners, the cycle structure of thinking and human daily thinking are different, more difficult to master. the text by using for loops is said, and then follow a while, do-while cycle, these methods in their daily lessons achieved good results. Key words: C language; structured programming; cycle structure; computer teaching method (编辑:郭小明)

计算机组成与系统结构(普通高等教育“十一五”国家级规划教材)
作 者:袁春风 丛书名: 世纪大学本科计算 21 机专业系列教材 ISBN:9787302219057 出版日期:2010 年 4 月 开 本:16 开 字 数:676 千字 定 价:39.00 元 出版者:清华大学出版社 本书主要介绍计算机组成与系统结构涉及的相 关概念、 理论和技术内容, 主要包括指令集体系结构、 数据的表示和存储, 以及实现指令集体系结构的计算 机各部件的内部工作原理、 组成结构及其相互连接关 系。本书共分 9 章:第 1 章对计算机系统及其性能评 价进行概述性介绍;第 2~3 章主要介绍数据的机器 级表示、运算,以及运算部件的结构与设计;第 4 章主要介绍包含主存、cache 和虚拟存储器在内的存 储器分层体系结构;第 5~7 章介绍指令系统以及各 种 CPU 设计技术; 8~9 章介绍总线互连以及输入 第 输出系统。 本书内容详尽、 反映现实、 概念清楚、 通俗易懂、 实例丰富,并提供大量典型习题以供读者练习。本书 可以作为计算机专业本科或大专院校学生计算机组 成原理与系统结构课程的教材, 也可以作为有关专业 研究生或计算机技术人员的参考书。


更多相关文档:

C语言中循环结构的教学设计探讨.doc

C语言中循环结构的教学设计探讨 - C 语言中循环结构的教学设计探讨 摘要: 循

C语言中循环结构程序课的教学设计与探讨.doc

C 语言中循环结构程序课的教学设计探讨 摘要:循环结构的程序设计是面向过程的程序设计课程的核心部分,掌握好循 环结构的程序设计技术对学好此类课程至关重要。...

C语言中循环结构的教学设计探讨.doc

C语言中循环结构的教学设计探讨 - C 语言中循环结构的教学设计探讨 摘要: 循

C语言循环结构教学设计方案.doc

C语言循环结构教学设计方案 - 《C 语言循环结构教学设计方案 一、教学内容分析 循环结构是面向过程编程中三种结构中最重要一种结构, 学好它是学好这门课程...

C语言中循环结构的教学设计探讨.pdf

C语言中循环结构的教学设计探讨 - 第5期 2011 年 3 月 10 日 计算

浅谈C语言中“循环结构”的教学设计_论文.pdf

浅谈C语言中循环结构的教学设计 - 一 一 j 纛 一篓 浅谈 C语言中循环结构 ’’ 的教 学设计 高宏娟 ( 宁夏 大 学新华 学院 宁夏 银...

C语言循环结构教学设计.doc

C语言循环结构教学设计 - C 语言循环结构教学设计 一. 教学设计(包括教学背景、教学目标) 1. 关于“C语言程序设计”课程 C语言是在 70 年代初问世的。一九七...

C语言循环结构教学设计方案.pdf

C语言循环结构教学设计方案 - 《C 语言循环结构教学设计方案 一、教学内容分析 循环结构是面向过程编程中三种结构中最重要一种结构, 学好它是学好这门课程...

《C语言循环结构》课程教学设计研究_论文.pdf

C语言循环结构》课程教学设计研究 - 第1 3卷第6 期 2014年6月 软件

C语言教学中循环结构的教学法探讨.doc

C语言教学中循环结构的教学探讨 - 龙源期刊网 http://www.qikan.com.cn C 语言教学中循环结构的教学探讨 作者:宋建萍 来源:《科技视界》2016 年第 06 ...

C语言循环结构的教学设计探析.doc

C语言循环结构的教学设计探析 - C 语言循环结构的教学设计探析 摘要:c 语言循环结构设计是程序设计的基础,其也是结构化程 序设计中三种基本结构中最为基本的结构...

C语言循环结构的教学设计探析_论文.pdf

C语言循环结构的教学设计探析 - C语言循环结构设计是程序设计的基础,其也是结构化程序设计中三种基本结构中最为基本的结构之一。目的是为了能够提高教师在C语言循环...

《C语言中的for循环》教案.doc

在课堂讨论和实践过程中,教师适 当引导,学生主动探究、归纳总结学习内容,既有...三、教学内容设计 教学重点:C 语言程序设计循环结构程序中,要使用 for 循环语句...

C语言中循环结构的教学方法探析_论文.pdf

C语言中循环结构的教学方法探析 - 第3 0卷第 2期(上) 2014年 2月

_C语言程序设计_中_循环结构_教学探析.pdf

_C语言程序设计_中_循环结构_教学探析 - 第 24卷 第 5期 2008年

C语言程序设计中循环结构教学与实践的研讨_论文.pdf

C语言程序设计中循环结构教学与实践的研讨 - 对于任何一种计算机程序设计语言来说,程序设计的基本结构不外乎三种,即顺序结构、选择结构、循环结构。循环结构是算法...

C语言中-循环结构_图文.ppt

C语言中-循环结构_工学_高等教育_教育专区。主要介绍C语言中循环结构这一章节,

C语言教学设计.doc

XX 学院 C 语言教学设计 教学部门 任课教师 教学...C 语言在程序设计语言 (内容提纲、 中的地位 教与...与要求 掌握 C 语言的三种循环结构: while 结构 ...

for循环结构教案.doc

for循环结构教案_教育学_高等教育_教育专区。C语言for循环结构教学设计方案 2016 年新疆自治区教师资格证认证 教学设计 教师姓名:金强山 讲授内容:for 循环结构 ...

五年制高职C语言课程中算术运算符与表达式的教学设计与....pdf

五年制高职C语言课程中算术运算符与表达式的教学设计与实践_杨阳 - 2013 年第 9期 教学实践研究 五年制高职 C 语言课程中算术运算符与 表达式的教学设计与实践 ...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com