夏百花,郑 岚,徐丽萍
(安徽三联学院,安徽 合肥 230601)
《C语言程序设计》教学方法探讨
夏百花,郑 岚,徐丽萍
(安徽三联学院,安徽 合肥 230601)
针对学生在C语言教学过程中存在的重理论、轻实践的现象,可以确定让学生更好地理解和掌握学习方法是教学中的重中之重.本文主要从改进教学方法、精心设计实验内容和加大习题量三个方面进行分析和总结,以促进后续教学.
C语言;教学方法;实践
《C语言程序设计》作为本科理工类院校开设的一门高级程序设计语言,有其自身的特点:应用广泛、使用灵活、表达能力强、可移植性好、目标代码执行效率高等.它既具有高级语言的优点,同时又兼有低级语言的特点,因此《C语言程序设计》课程在本科教学中占有举足轻重的地位.
《C语言程序设计》是计算机、电子等相关专业的一门专业基础核心课程.该课程集应用性和实践性于一身,其开设目的在于使学生能够掌握程序设计的基本方法和基本思路.该课程涉及的主要内容包括C语言的基本概念、基本语法以及程序设计的三种基本方法即顺序、选择和循环等.本文主要结合自己的教学经验,阐述了在教学过程中应该注意的几个方面.
C语言一般在低年级开设,而学生对程序的概念不太理解,加上有些学生上课精力不够集中,跟不上教师思路,久而久之学生就会失去学习的兴趣.因此在教学过程中,要加强师生交流,充分发挥教师的主观能动性,调动学生的学习积极性,使学生能够独立思考,培养学生分析问题和解决问题的能力.
1.1 反复强调概念
由于C语言牵扯概念较多,规则也较多,因此在教学过程中,要对概念反复强调.比如在讲到自增(++)和自减(--)运算符时,前置运算(x++)和后置运算(++x)所得到的结果完全不同,学生很容易混淆.
1.2 化抽象为具体
在C语言中,有较多抽象化的问题,比如数组、指针等.对于这类问题,学生理解起来较为困难,因此,在实际教学过程中,可以将这类较为抽象化的问题具体化.
举一个具体的例子来说.
上面程序完成的功能是将一个整型数组中的10个元素逆序输出.在教学过程中,我们可以将程序说明语句部分定义中含有10个元素的整型数组int a[10]理解为整体,而程序执行语句部分中所使用的任意一个元素a[i]理解成这个整体中的某个成员.也就是说,在程序中,要想使用成员必须首先指定这个成员属于哪个整体.这类似于要想找到某个学生,必须要先知道要找的这个学生属于哪个班级一样.
1.3 精讲三大算法
在程序设计的三大基本方法中,循环无疑是学生最难理解和掌握的设计方法.归根结底其原因在于学生不会将遇到的问题向循环语句执行过程靠拢,因此遇到问题就会束手无策.例如,在C语言中能够影响循环执行过程的break和continue语句.
请读者认真分析下面这个程序:
若将程序的第8行中的break替代为continue,结果又会怎样?
通过上面这个程序,可以看出:虽然两者在程序中所起到的作用完全不同,但它们的共同特点是仅仅影响内层循环,而与外层循环无关.
1.4 采取多样化教学手段
教师上课时如果仅仅采用传统的黑板教学,很难让学生对于程序运行的过程、结果、函数的调用、变量值的变化等方面认识清楚.而采用多媒体的教学方式,教师就能够在课堂利用Turbo C或者Visual C++等编程软件进行一步步操作演示,这样学生一看就清楚明了了.
由于C语言这门课程的实践性和操作性较强,因此学生在学习过程中就需要不断练习才能更好地掌握.同时,只有自己动手编写程序并且经调试运行出结果时,学生才会有成就感.但是,由于教材上面的题目较为简单,大部分学生在利用C语言来解决实际问题时,仍然会感觉到束手无策.因此,为了培养学生解决实际问题的能力,教师在安排实验内容时,可以将某个大题目作为长期任务,再按照不同的功能模块将其分解形成一个个短期任务.以“信息管理系统”为例,可以把整个系统作为一个长期任务,然后将这个系统分成若干个小模块作为短期任务,比如输入输出信息、添加信息、修改信息等模块.每次实验课时,可以要求学生完成一个或几个小模块.
为了更好地了解学生的具体的学习情况,教师根据教学计划和要求,在课后可适当布置一些作业,在每章结束时进行集中讲解.同时鼓励学生对于同一问题提出不同解法,以培养学生的创新能力.
任何一门课程的教学,都包含了两个方面——教与学.我们只有很好的组织好这两个方面才能从根本上提升教学效果,让学生学到更多更好更有用的知识,避免理论和实践脱钩.本文主要结合本人的教学实践,从教师和学生的角度探讨了一些切实可行的C语言教学方法,供读者参考.
〔1〕周强.C语言教学方法探讨[J].滁州学院学报,2004,6(4).
〔2〕徐大华.程序设计语言教学方法探讨[J].高等理科教育,2007,71(1);36-38.
〔3〕曾正军.在教学中对学生C语言编程能力的培养[J].南昌高专学报,2004(1).
TP312;G642
A
1673-260X(2014)02-0258-02
本文基于安徽三联学院校级项目(2013Z017)