浅谈C语言循环语句的教学
%%
福建电脑!""#年第$期
浅谈!语言循环语句的教学
石利平
!广东女子职业技术学院计算机系广东广州
!""#!$"
!摘要"目前许多高校已经将!语言作为程序设计的入门语言!且!语言程序设计也是"!!!程序设计#$"数据结构%等计算机专业课程的前导课程&循环语句是!语言教学中的一个难点与重点&本文结合笔者的教学实践!从循环体的设置$循环体条件的确定和多重循环的教学等几个方面!浅谈!语言循环语句的教学&
!关键字"!语言’循环’多重循环’内循环’外循环循环结构是结构化程序设计的基本结构之一!在程序设计中许多问题需要用到循环语句!如处理学校学生成绩!求若干个数的和!求一个数的阶乘等等"循环语句是实现程序设计中许多有规律#需要多次重复执行某些操作的最为有效的方法"循环结构是程序设计中的一个重点和难点!在函数#数组及指针等部分的教学上!常涉及循环语句"根据几年的%语言教学经验!笔者深感循环语句教学的难度"主要原因$一是%语言循环语句种类较多!使用灵活!容易出错%二是%语言是学生所学的首门程序设计语言!没有以往的先学&’()%或*’(%’+语言作铺垫!掌握循环语句确实有一定的难度"如何帮助学生释疑解惑!轻松掌握#灵活运用循环语句!值得教师研究探讨"笔者给合自己的教学实践!谈谈%语言中循环语句的教学"
一#循环体的设置
学生初学循环语句时!常常搞不清楚循环体包括哪些语句!不知哪些语句应该放在循环体内"读程序时!因对循环体认识不清!误解程序的作用%编写程序时!因循环体语句设置不准确!造成程序的逻辑错误"循环体是指在程序中要重复执行的语句"当循环体是多条语句时!要用花括号括起来!以复合语句形式出现!否则程序会出错或引起逻辑错误"对于,-./0123循环语句!即位于,-与/0123间的语句即为循环体%对于/0123或4-5语句!如果其后无花括号!即说明其循环体只有一条语句!范围只到其后的第一个分号处"如下例$
67189:
;18<1=>?@A6="B/012391C=>":@A6=@A6D1B1DDB
E518<49F@A6=G,F?@A6:BH
果要累加的量用8A6表示!则每次循环都要判断8A6是否小于或等于>""!
的循环条件即为8A6C=>"""!直
".$!若是则累加当前的项!否则终止循环!循环条件即为47J@9<:k>".$"
三#多重循环的教学
多重循环即多重循环结构!也称循环嵌套层!是指一个循环结构的内部又包含另一个完整的循环结构"许多实用程序中都包含有多重循环"学习这部分时!多重循环的执行过程#内外循环体语句的位置安排等都是学生易出错知识点"
(一)用一些常见#简单#形象的实例帮学生理解多重循环的执行过程"学生常认为多重循环的执行由外到内!外循环执行一次!内循环也执行一次!然后重复该过程!直到外循环结束"多重循环的执行过程可归结为一句话$外循环每循环一次!内循环就要完整的循环一遍"多重循环的执行可看作是一个*时钟+概念"如下例
例$输出九九乘法表程序
67189:;18<6?8B
4-596=>B6C=LB6DD:4-598=>B8C=LB8DD:
E518<49FI,MI,=I.N,O?6?8?6M8:BE518<49FP8F:B
HH
该程序的目的原本是求>到>"的累加和"但例中因/0123语句后无花括号!则其循环体只是@A6=@A6D1一条语句!程序会嵌入无限循环"将程序改为
67189:
;18<1=>?@A6="B/012391C>":&@A6=@A6D1B1DDB’
E518<49F@A6=I,F?@A6:BH
这时/0123语句的循环体即为@A6=@A6D1和1DD两条语句!编程的目的实现了!程序也能正常结束"从本上例也可看出!循环体内一定要有使循环趋向结束的语句的(本例中为1DD)!否则程序会陷入无限循环"编程时!解题中需要重复执行的那部分!写成语句!即为循环体"
二#循环条件的确定
循环条件的确定也是学生应用循环语句中的一个难点"循环条件是循环中很关键的一部分"循环条件的设置不正确常导致程序陷入死循环或循环不执行等问题"在循环结构中!每次循环都要根据题目中的某个条件做出继续循环!还是结束循环的判断!这个判断条件即为循环条件"如求>到>""的累加和!如
其主要执行过程是$当外循环变量6!>时内循环变量8就要从>到L循环一遍%当外循环变量6变为!时内循环变量8就又要从>到L再完整地循环一遍!直到外循环变量6的值超过L则整个多重循环运行结束"就像时针走>圈!分针走Q!"圈?分针走>圈!秒针走R$""圈"
为进一步帮助学生透彻理解该执行过程!笔者采用以下两种方法相结合$
>S手工运行程序!写出程序执行的每一步"笔者讲解时!找一些简单#直观的例子和学生一起手工运行程序!板书出程序中内外循环每执行一步!内外循环变量的当前值!对每次循环的开始和结束要重点强调!让学生参与经历整个手工运行过程!使学生*身临其境+!加深对于循环执行过程的理解"
!S利用现代技术手段!增强感性认识"通过多媒体设备!直接将单步运行程序过程投影!将内外循环变量设置为观察变量!让学生清楚看到多重循环的执行过程!俗话说的好*百闻不如一见+"
(二)从典型#直观的例子入手!明确内#外循环各语句的安排"设计多重循环!学生常分不清哪些语句应放在外循环!哪些语句放在内循环"设计多重循环!要特