C 语言教学方法探讨
2015-12-10陈浩
陈浩
摘要:目前很多高校都开设C语言这门课程,该文针对C语言的特点,结合自己的教学经验
提出了几个教学方法,通过实际教学中的验证,验证了这些方法的可行性。该文从几个方面来探讨C语言教学,包括开阔学生眼界,让学生从零基础学起;在教学过程中注意理论联系实际,给学生更深刻的体验;通过解决一些实际问题来组织教学过程;采用多种方法来组织教学;最后在实验过程中培养学生的程序能力。
关键词:理论;实践;创新;算法
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)26-0058-02
Discussion of Teaching Method with “C Programming Language ”
CHEN Hao
(Department of Computer Science, Huashang College, Guangdong University of Finance and Economics, Guangzhou 510000,China)
Abstract: At present many colleges and universities have opened the C programming language , according to the characteristic of C language, Several teaching methods are put forward with its own teaching experiences, and the feasibility of these methods is verified by the verification of practical teaching. This paper discusses teaching c language from several aspects, including broaden students' horizons, let the students learn from the zero based; in the teaching process of attention theory with reality, to give students a more profound experience. Solving some practical problems to organize the teaching process; using a variety of methods to organize teaching. Finally culturing the program ability of students.
Key words: theory; practice; innovation; algorithm
1概述
《C语言》是一种目前比较流行的一门高级语言,C语言有以下一些主要特点[1]:1)语言简洁,紧凑,使用方便,灵活,C语言的运算符包含的范围很广泛,表达式类型多样,C语言提供了丰富的数据类型,包括整型,浮点型,字符型,数组类型,指针类型,C语言具有结构化的控制语句,用函数作为程序的模块单位,便于实现程序的模块化。2)C语言语法限制不太严格,程序设计自由度大,C语言允许程序编写者有较大的自由度,放宽了语法检查。C语言中具有大量的数据类型,并且可以使用指针来进行程序设计。通过学习本门课程,学生应该能够熟练的编写和调试C语言程序,熟悉一些算法的使用,掌握一些程序设计的思路和方法,能够使用C程序来解决一些问题。
C语言主要包括四个方面的内容,第一个是算法,也就是为了解决一个问题而采取的方法和步骤。第二个方面是程序设计的三种方法,顺序程序设计,选择结构的程序设计,循环结构的程序设计,顺序结构还包括数据类型和数据的输入输出。选择结构适用于需要进行判断和选择的情况,比如从北京出发上高速,就有2个选择,一个选择是去上海方向,一个选择是去沈阳方向,可以先进行判断再来进行选择。循环结构用于需要重复处理的问题,比如求从1到100这100个数的和,循环结构有多种形式,比如while ,do while ,for等,这些循环结构在处理同一问题时候,一般情况下它们可以互相代替。第三个是数组和函数,使用数组和函数可以把一些比较复杂的问题简单化,数组中的每一个元素都属于同一个数据类型,不能把不同类型的数据放在同一个数组中。每一个函数用来实现一个特定的功能,函数的名字应反映其代表的功能。第四个部分是指针,地址形象化地称为指针,通过它能找到以它为地址的内存单元[4]。
2 C语言教学方法
对于初学程序设计的学生来说,存在着不少困惑,可以从如下几个方面去提高C程序设计的教学效果:
2.1 开阔眼界,从基础学起
对于大多数学生来说,中学阶段都没有接触过程序设计,在最初学习C语言的过程中,很多概念,语法,数据类型让学生迷惑,前面的基础语法,数据类型没有搞懂,后面的程序结构设计等就更加不容易学好。有些学生在学习C语言的时候有好高骛远的情绪,认为现在应用的比较多的是面向对象的程序设计,对C语言的认识不够深刻,觉得C语言学习起来难度大,没有信心去学习。因此在教学的第一步应该让学生对学习这门语言树立信心,由于C语言对后续的课程起到一个打基础的作用,因此学好这门课程是很有必要的,学好了C语言,后续的很多专业课程学起来会轻松很多。
2.2 在教学中,应该注意理论和实践相结合
在教学过程中要注意教学内容和教学方法的使用,不能只是枯燥的讲授C语言的语法,而应该把教学内容进行有序的组织起来,否则学生会因为讲授的内容比较沉闷而提不起兴趣,如何激发学生的兴趣成了教学过程中的一个大问题。在课件的准备上也要下一些功夫,在课本的基础上可以加入一些自己的想法和见解,使学生更能接受。结合现在社会的需求,可以讲解现在企业,公司的需求和待遇,现在计算机程序人才的需求量还是比较大,而且薪水也比较客观,一方面让学生在课堂上就能了解社会工作的需求,更加坚定学生学习的信心,当学生想到自己通过学习程序设计语言,可以找到高薪的工作,有了学习的动力。
2.3 通过解决实际问题来组织教学
C语言是一门实验性很强的课程,教材上的例题以及课后的习题都需要通过实验来实现,设计合理的实验对整个教学有很重要的意义。刚刚接触程序设计的学生往往动手能力不强,对于程序设计很陌生。为了培养学生的动手能力和创新能力,我们采取循序渐进的方法,把一个复杂的程序分成几个小的程序来讲解,先做基本的实验,然后逐步提高,这样符合认知的习惯,通过一段时间的实验和学习,学生的动手能力和理解能力都会有不同程度的提高。采用启发式的教学方法,比如在讲解循环结构时,[2]举例s=1+2+3+4...+100,当学生了解程序设计方法后,再提出一个例题[3]s=1-1/2+1/3-1/4+...1/100,从而引导学生逐层深入的学习循环结构的程序设计思想。在程序设计中还可以通过一些趣味性的程序来调动学生的学习兴趣,比如猴子吃桃问题等,让学生通过编写这些程序来提高实际解决问题的能力,通过课堂上的讲解,课后的作业能很大程度的提高学生的程序能力。学生做实验时,如果通过程序设计能得出最后正确的结果,学生也会有一定的成就感。
2.4 采用多种教学方法来进行教学
要使教学达到比较好的效果,我们采用了灵活多变的教学方法,充分调动学生的学习积极性,把学生吸收到程序设计中来,我们通过下面两个方面来进行:
1)在做有些程序的时候,不一次性的把程序写出来,只写出程序的一部分,其余的部分让学生自己去补充,从而引导学生去思考这个程序,或者故意把程序的一部分内容写错,当运行出一个结果的时候,让学生去检查修改这个程序,对于在课堂上主动发言或者修改程序的学生给予一定的分数奖励,比如可以平时成绩加3分,学生通过上课修改程序可以提高自己的平时成绩。
2)针对上课时候有些学生开小差的问题,可以布置一些习题让学生去解答,如果学生能设计出正确的思路或者算法,给予学生每次2分的奖励,让学生对后面的学习充满信心,这样学生的创造性也能激发出来,有些学生的思路是很开阔的,只要采用正确的教育方法,就能产生很好的教学效果。在实际教学中,我们发现有些学生能解答出很复杂的程序,通过这样的教学方法可以丰富教学手段[5]。
2.5 在教学实验过程中培养学生的程序能力
C语言这门课程比较强调实验,只有把C语言的实验做熟练了,才能更好的掌握c程序,理论和实践要结合起来学习,在考试的这个环节,也可以安排上机操作的环节,上机实验成绩占20%,在上机的过程中,每个学生做几道题目,让学生写出相应的代码,然后调试成功能运行才行。采用这种上机考核的方式,可以提高学生上机写代码的积极性,当程序出现错误的时候,能自己把错误找出来,并调试正确是程序设计的一种基本能力[6]。通过上机考试可以看出学生的程序能力,与理论考试想结合,能更好的了解学生的程序设计能力。如果要培养应用能力强,素质较高的学生,可以在平时的上机学习时,增加一些难度稍大的题目,让学生有更多思考的机会,最后通过自己独立编写程序来解答问题。
3结束语
课程的教学包括教和学两个方面,教师的教是为了学生的学,认真组织好这两个环节,就可以提高我们的教学效果,从而让学生学到更多的知识,理论和实际也要注意结合起来,让学生既懂得编写程序,又能上机调试运行程序。C语言是很多学科的专业基础课,组织好课程的教学,需要我们不断努力,精心组织实施,这样才能使我们的教学有更大的发展,使学生的学习效果不断提高。
参考文献:
[1] 徐大华. 程序设计语言教学方法探讨[J]. 高等理科教育,2007,71(1):36-38.
[2] 谭浩强. C程序设计[M]. 北京:高等教育出版社, 2010.
[3] 谭浩强, 张基温. C语言习题集与上机指导[M]. 北京:高等教育出版社, 2005.
[4] 陈国英. 提高计算机语言课上机实践教学的改革与实践[J]. 洛阳农业高等专科学校学报, 2002(3).
[5] 杨忠. 仪器仪表类课程教学改革的研究与实践[J]. 电气电子教学学报,2001,23(6):20-22.
[6] 沈军. C程序设计语言课程的教学新思路[J]. 电气电子教学学报, 2000(4).