摘要:C语言程序设计是一门为许多高校包括独立学院的非计算机专业理工系学生开设的一门公共选修课程,其课程设置目标是培养理工类非计算机专业学生的编程思维和编程能力。笔者基于多年来对“C语言程序设计”课程的实际教学经验,发现把编程错误案例进行搜集和分析以及讨论的教学法融入C语言教学中,能让学生有更好的分析问题、解决问题的能力,并且可以大大提高编程效率。
关键词:C语言程序;编程思维;错误案例教学法
1C语言中错误类型和产生的原因
1.1C语言程序中的错误分类
在C语言学习编程过程中,一般是三种错误,语法错误、逻辑错误以及运行错误。
(1)语法错误:没有按照语言的规范进行编程而产生的错误。如缺少标点符号,变量没有申明,变量类型出错,函数名称写错等等,这些语法错误机器一般会给出提示,比如Error和Warning,在运行的时窗口下会显示错误的个数以及出错的原因等信息,很容易被发觉,如果没有修改则会影响整个程序的运行。
(2)逻辑错误:程序可以正常运行,但是得不到预期的结果。常见错误有复合语言的花括号后加分号,输入输出的数据类型与所用格式说明符不一致等等。而这样的逻辑错运行时候并没有提示,比较难发现,对于初学者而言比较困难,只有在编程中进行系统和全面的考虑才能避免逻辑错误。
(3)运行错误:在既没有语法编译错误,也无语法逻辑错误的情况下程序运行时发生的错误或者程序会忽然停止运行,比如类型溢出,数字表达式格式有误,除零错误等等。
1.2程序错误解析
(1)为申明变量或使用一些没有赋值的自动变量:C语言是一门十分严谨的程序语言,必须严格遵守变量必须先申明后使用的原则,但是很多初学者没有养成良好的编程习惯就会忘记,直接使用,这样就会不断有提示变量未定义的错误。
(2)不区分字母的大小写:在C语言中,大小写字母是不同的字符,比如A和a表示的是两个不同的变量。
(3)分号的乱用:由于分号是C语言的重要组成部分,比如简单语句以分号为结束标志,复合语句是用一对花括号括起来的一组语句,空语句只有一个分号。学生很容易忘记加分号,或者多加分号。
(4)赋值符号当成“=”使用:在很多人的思维里面“=”符号是“等于”的关系,如A=36,就认为是左边的A等于右边的36,实际上是把右边的36赋值给左边的A,如果学生的思维停留在前者“等于”的关系,就会明显出现编译的错误。
(5)数据类型定义错误,造成数据的溢出:C语言中的整数数据类型在-32768到32767之间,由于很多时候编写程序都是用的是inta,b,一些初学者都会默认用int来定义所有的变量,忽略了数据类型的范围,一旦结果超出了这个范围,甚至是小数,就会得到不一样的结果,而这个结果可能在程序的运行并不报错,也比较难发现。综上所述,这些错误很多都是学习程序的学生没有养成良好的.编程习惯而造成,这样的错误防不胜防。只有在错误中学习,不断对错误进行分析,才能提高自身的编程能力。
2基于错误案例培养的C语言程序设计改革的具体措施
2.1对错误案例进行搜集和分类
搜集错误案例是一项艰苦的劳动,需要花费一定的时间和精力。首先教师需要明确C语言课程的所有教学内容,对错误案例的搜集也要有针对性,对于教师的要求就是需要研读教材,根据教学的对象和教学内容知识点分布,搜集实践教学中记录的错误日志文件,进行错误案例设计,并对错误案例进行评估,记录学生在分析错误案例中遇到的问题和反应,从而拟定相应的教学方案。其次可以让学生组织兴趣小组,大约5-6人一组,这样可以减轻教师的工作,可以由组长协助教师和组员对于提交的错误进行分类和整理,甚至可以按章节按知识点进行分类,因为学生编程过程中肯定有很多重复的错误,如果一一进行上报和记录会非常繁琐,组长只需对错误的类别和错误的频率进行记录,就会很有利的协助教师进行错误案例的设计。最后即学生自己的工作,因为真正需要学习实践的是学生本人,虽然每个组有组长,但是组长同样也是学生,他(她)的工作是既要保证自己的学习,也要汇总其他组员的学习情况,工作比较繁重,所以最好要求每一个学生自己也准备错误日志笔记本,对自己在实践练习中出现的问题,涉及到的知识点,疑问,错误的原因进行整理和记录,当然如果学生觉得时间有限,也可以用手机进行拍照,如果能通过翻阅图书,搜索网络的方式改正错误更好,实在没有能力改正可以去请教其他组员和教师,这样更能加深对错误的记录,尤其需要关注编程过程中经常出现的典型问题,这类问题可能经过多次调试也没有结果,需要加强对待,如果经过大家的帮忙或老师的指导后有了解决方案也需要记录下来,以备下次练习出现相关性问题可以自行解决。
2.2对错误案例进行分析和讨论
通过上面的途径,教师汇总了课堂教学中的错误案例后,就可以进行典型错误案例设计,可以在课堂正常教学中穿插讲解,比如可以先对学生提出错误案例问题,引导学生探索错误案例涉及的知识点,疑问,最终的解决方案等等。比如讲解选择结构的错误案例代码,可以先询问学生这段错误的案例代码主要是什么结构?如果是选择结构,再从头到尾分析代码的步骤,根据所学流程图的知识,让学生根据此段代码画出该程序的简单流程图。再通过对流程图的讲解很自然引出选择结构的语法知识点,并找出该代码真正错误的原因,最后让学生列举出日常生活中涉及到选择结构即条件判断的例子。教师还可以根据错误的类型在实践环节中给出相应的错误代码,让学生检验课堂学习的效果,避免编程过程中犯同类错误,在更正错误的过程中发现积极性,培养良好的编程习惯。
2.3教学效果及评价
通过在C语言程序课教学中引入错误案例学习,既能提高学生自主学习的效率、在实践中取得了更好的教学效果,也能大大提高学生的编程能力,例如,学生在定义数组的时候容易忽视数组的个数,可能会错误地使用下标的数字,只要教师在错误案例中重复申明该类错误,学生才会加深记忆,经过强调学生则会避免此类错误。通过对上课学生进行匿名问卷调查发现,100%的学生认为采用错误案例分析和讨论的学习模式比传统教师课堂填鸭式讲授语法知识点的模式更能提高自己的学习能力和学习效率。
3结论
想要提高C语言的编程能力,以及提高教学效果,可以从错误案例的搜集与分类开始,再引导学生通过错误案例分析与讨论解决实际问题,理清课程知识体系。错误案例教学法的运用有利于学生程序思维的建立,有利于学生程序设计能力的提高,同时对促进教学改革和加强素质教育有着积极的意义。在实际编程过程中还有其他的可能性,这需要教师在以后的教学过程中更要留心,更要注意错误经验的积累,所以研究此问题不仅仅可以提高学生的编程能力,而且对于教师自身教学技能理论加强也有着重要的实际意义。
参考文献:
[1]余丽红,龙诺春,林春景.C语言实践中易出现的编程错误及解答[J].数字技术与应用,2014(8):220-221.
[2]杨冬云.C语言学习中几个常见典型错误分析[J].电脑知识与技术,2017,13(13):65-66.
[3]薛非.品悟C:抛弃C程序设计中的谬误与恶习[M].北京:清华大学出版社,2012.
[4]于启红.案例教学法在编程语言课程中的作用探讨[J].计算机时代,2014(11):62-64.
【错误案例教学法在C语言教学的应用论文】相关文章:
本文来源:https://www.010zaixian.com/shiyongwen/2280602.htm