用渗透式渐进案例解析C语言的循环结构
2019-08-12崔孝凤
崔孝凤
摘要:对于C语言的初学者来说,循环结构的学习既是重点又是难点,本文从初学者的角度出发针对循环结构采用渗透式渐进案例的形式依次设计了3个案例,通过这3个案例依次清楚描述了C语言中常用的循环结构的三种形式,对于C语言的初学者能够起到很好的入门引导作用。
关键词:C语言;循环结构;渗透式;渐进;案例教学
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2019)16-0140-02
开放科学(资源服务)标识码(OSID):
1 引言
C语言实现循环结构的语句主要有while语句、do-while语句和for语句,对于C语言的初学者来说,对于这三种语句的理解和应用既是重点又是难点。很多初学者对于这三种语句的应用不能很好地掌握,所以如何用浅显易懂的程序案例帮助初学者理解并应用好这三种循环结构语句是摆在每一位C语言任课教师面前的一项艰巨的任务。本文从初学者的角度出发,遵从由易到难的自然学習规律,采用渗透式渐进案例的方法设计出3个案例,依次清楚描述了C语言中常用的三种循环结构形式,对于C语言的初学者能够起到很好的入门引导作用。
2 具体案例
2.1 用while语句实现的程序案例
【例题1】已知鲁中候机楼第一班车是5:10,每隔40分钟一趟,晚上最晚到23点,请输出一天的班车时间,输出时为了更加清晰请分别按上午、下午、晚上分行显示,请用while语句实现。
程序运行结果如下所示:
鲁中候机楼的车次时间如下,请您根据自己的需要灵活选择:
上午的车次时间如下所示:
5:10 5:50 6:30 7:10 7:50 8:30 9:10 9:50 10:30 11:10 11:50
下午的车次时间如下所示:
12:30 13:10 13:50 14:30 15:10 15:50 16:30 17:10 17:50
晚上的车次时间如下所示:
18:30 19:10 19:50 20:30 21:10 21:50 22:30
算法分析:这是一个循环结构中包含选择结构的程序,功能很明确,第一班车是5:10,每隔40分钟一趟,晚上最晚到23点,要求输出一天的班车时间。这里需要创建两个变量,一个用来表示小时(比如用h表示),一个用来表示分钟(比如用m表示)。按照要求依次输出变量h和m对应的值即可。这里要考虑的要点有两点:第一,表示小时的变量h的值要控制在5到23之间,考虑用循环实现;第二,表示分钟的变量m的值每增加40后要注意是否超过60?如果超过了那么表示小时h的值应该增加1,同时m的值减去60。还有一点就是要考虑到在上午、下午和晚上的时间节点处注意换行。
2.2 用do-while语句实现的程序案例
【例题2】题目要求同例题1,只是要求用do-while语句实现程序中的循环部分。
算法分析:while循环语句是首先进行循环条件的判断,如果条件为真则执行循环结构体中的语句,否则不执行,所以对于while语句来说,如果一开始条件不为真的话,循环体一次也不执行。对于do-while语句来说,是首先执行循环体一次(不管条件是否为真),然后再判断条件是否为真,如果条件为真则继续执行下一次循环,否则结束循环。所以对于do-while循环语句来说,循环体部分至少执行一次。
2.3 用for语句实现的程序案例
【例题3】请设计一个程序,功能同例题1,只是要求用for语句实现程序中的循环部分。
算法分析:for语句是C语言中实现循环用得最频繁的语句,任何的程序循环结构都可以使用for语句来实现。所以说for语句功能强大,而且使用格式灵活,有多种变化形式,这也是让初学者感到迷惑的地方。与while和do-while语句相比较而言,在while和do-while语句之前必须对循环控制变量赋初值,在循环中必须对循环控制进行运算以使得其值发生变化从而让循环能够结束。在for语句中则可以把对循环控制变量赋初值的语句放在for语句中(当然也可以放在之前),同样,对循环控制变量值的运算表达式也放在for语句中(当然也可以放在循环体中)。从程序的结构上总体相比较而言,for语句比while和do-while语句显得更加紧凑、简洁,这也就是为什么编程者更喜欢使用for语句的原因之一,当然这也是初学者感觉for语句比while和do-while语句难以理解的原因之一,对于水平较高的编程者则已经习以为常。
3 结束语
以上3个案例采用渗透式渐进案例的方式具体展示了C语言中的三种循环语句结构,目的是抛砖引玉,引起学生的学习兴趣,从而逐步深化下去,取得更好的学习效果,这3个案例对初学者有极好的引导作用,在此基础上初学者可以更容易地区分三种循环结构语句而且掌握好循环程序的设计。
参考文献:
[1] 曹海英, 元元, 郝兵. C语言中的循环嵌套结构程序设计[J]. 电脑编程技巧与维护, 2017(24).
[2] 李娟, 张燕. C 语言循环结构教学的设计与实践[J]. 计算机教育, 2018-03-10.
[3] 辛凌洁, 贾玉宁, 杨颖. C语言程序设计学习兴趣和方法[J]. 中国教育技术装备,2017(33).
[4] 王亮. 《C 语言程序设计》循环结构教学案例研究[J]. 科技视界, 2018-01-05,
[5] 刘芝怡. “项目引领,任务驱动,案例主导”的 C 语言程序设计教学改革[J]. 教育现代化, 2018-02-12.
[6] 许金兰, 徐岗. “兴趣驱动+案例教学模式”在C语言教学中的应用[J]. 中国信息技术教育,2018-03-23.
【通联编辑:王力】