C语言程序设计中程序调试的教学探讨

时间:2022-10-02 07:54:15

【摘要】2.当前C语言教学中面临的形势和任务 C语言是大多数刚刚起步的学生接触到的第一门程序设计语言,不仅因为其函数、指针等困难的语法使得课程的难度较大,而且学生没有任何的编程基础...

C语言程序设计中程序调试的教学探讨

摘要:C语言是计算机专业的一门重要基础课程。本文介绍了C语言程序设计中关于程序调试教学探讨,针对C语言编程过程中出现的问题以及调试工具的使用提出了具体的课程教学改革措施。

关键词:教学改革 debug调试工具 中断

随着计算机技术的飞速发展,计算机早已深入人心,越来越多的学子在选择大学学习方向时选择计算机专业。大学的计算机专业是一门知识性和技能性相结合的专业,我们不仅要培养学生对计算机知识的掌握,更重要的是培养学生的动手操作能力,培养学生的专业技能。中国计算机战略研究报告中指出,新世纪的计算机教育不仅要重视扎实的专业基础理论学习,更要强调硬件开发、软件设计的能力培养。要提高学生的硬件开发、软件设计能力不是一朝一夕的事情,必须从学生踏入计算机专业的大门时就要培养对C语言这门计算机基础课程的掌握程度。

1.大学计算机专业里C语言的重要地位和作用

C语言为什么这么重要呢?因为C语言可以深入到计算机系统的底层,在编制程序的时候大多数的程序员更愿意使用C语言去描述算法本身,并且很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl……哪个不是呢?掌握了C语言,可以说就掌握了很多门语言,经过简单的学习,就可以用这些新型的语言去开发了,这再一次验证了C语言是计算机程序设计课的重要基础。并且现在招聘程序员,考试都是考C语言,如果要加入IT行业,那么就一定要掌握好C语言。

2.当前C语言教学中面临的形势和任务

C语言是大多数刚刚起步的学生接触到的第一门程序设计语言,不仅因为其函数、指针等困难的语法使得课程的难度较大,而且学生没有任何的编程基础。C语言教学不仅要求熟练掌握C语言的相关命令,还要求有清晰的逻辑思维能力,并且对于几乎所有的编程分析方法、学习重点、学习难点,学生都是完全陌生的,没有任何的相关知识和经验可供借鉴。因此在编写C语言的程序时,学生往往感到没有头绪。

在C语言教学刚开始的几个章节里,比如数据类型、运算符与表达式,顺序程序设计,选择结构的程序设计等,内容比较简单,学生比较容易接受,因而上机作业也基本上能够编写出来。到了后面的循环结构、数组、函数和指针等章节,因为内容本身比较复杂,编写的程序稍不注意就会出现这样或者那样的错误。

当前C语言程序的编制都是在计算机机房中进行的,在教师按照教学目的和要求布置上机任务以后,学生开始构思,努力完成程序设计的内容。但是由于没有相关的知识和经验,学生很容易在编写程序的过程中遇到各种各样的问题,再加上学生的英语水平掌握有限,出了问题往往会手忙脚乱,这时候可能有很多学生需要教师帮忙调试程序。但是现在每个计算机专业的学生人数都相当的多,而教师基本只有一个,这时候问题就更加突出了。教师不仅要帮着学生调试程序,还要安排课堂任务,检查上机作业等等,那么一节课很快就过去了,最后也只能是帮着部分学生调试了程序。教师如果只帮着部分学生,那么另外一部分学生因为程序调试不出来就很可能对C语言的学习失去信心,而且帮助学生调试程序虽然可以暂时找出程序中存在的问题,但同时也让学生对教师产生了依赖,学生会认为只要不会的地方问老师就可以了,不能够培养学生独立调试程序的能力,以后他们还是会犯同类型的错误。因此如果程序调试过不了关的话,很多学生就会对C语言产生反感,也会对程序设计产生厌烦,觉得程序设计太难,那么不仅会使C语言在教学方面面临严峻的形势和考验,而且会使后续程序设计课的教学面临困境。

3.C语言程序调试的探讨

C语言的程序调试分为自己检查和上机调试,自己检查是初步的,而且很难找出其中的错误,特别对于刚刚学习C语言的学生来说,自己检查往往检查不出问题,因此程序的调试一般要上机进行。在上机调试程序时一般系统都会提示出现语法错误,语法错误包括错误(error)和警告(warning)两种。语法错误,比如单词拼写错误、比较两个数是否相等的运算符“==”和赋值运算符“=”混淆、数组的下标越界等等都是学生比较容易犯的,出现这些错误时系统会提示在程序的哪一行出现了什么类型的出错,这时候我们要告诉学生这些错误信息的含义,以及为什么会有这样的错误。对于这些小的语法错误的调试能力我们要在一开始的教学过程中就教给学生,日积月累,积少成多,这样随着学生写的程序越来越多,对于常见的错误他们就可以自己找出问题。

错误和警告信息是比较简单的错误,很容易排查,但是对于大多数的逻辑错误,往往需要仔细检查和分析才能够发现。因为逻辑错误是非常难发现的,程序在出现逻辑错误时不会出现提示信息,只是运行结果不正确。那么这时候要找到这些错误,除了仔细分析程序以外,我们还需要借助于调试工具,用调试工具帮我们检查,我们要将怎样使用调试工具教给学生,这是C语言教学中一个很重要的内容。

4.调试工具的使用

教给学生使用调试工具是一个很重要的内容,因为不仅C语言的编译器中提供了程序调试的功能,几乎所有的语言,比如C++语言、java语言,以及以后的任何一种面向对象的编程工具Visual studio系列的、Visual studio 2005系列的、delpi系列的等等,都提供了debug调试工具,用来帮助编程者找出程序中存在的错误。因此如果我们从一开始就给学生树立程序调试的概念,对以后学习其他的编程语言或者编程工具有百利而无一害,并且学生在学会了使用调试程序以后,就可以自己独立找出程序中存在的错误。

在教学生使用程序调试工具的时候,我在课堂上首先给学生灌输了程序中断的概念。所谓中断就是让程序在运行的过程中,在运行到某一条程序语句的时候暂时停下来不再继续运行,就像我们读一篇文章一样,遇到不认识的字我们就暂时停下来先去查字典一样。我们在程序中断的时候可以借助于调试工具观察当前变量的值,观察当前的状态,通过观察当前状态和我们预期的是否一样就可以判定程序在中断的位置是否已经出了问题,如果出了问题,就表明错误在中断以前就存在了,这时我们就到前面去寻找错误,如果没有出问题,就表明错误应该在后面的程序当中,这时候我们就到后面继续寻找错误。这样通过一次中断,我们就缩小了寻找错误的范围。

对于调试工具的使用我用了一个完整的程序来演示,通过一步步缩小范围,告诉学生怎样设置中断,然后怎样使用调试工具观察当前程序的状态,从而找出其中的错误,并且改正这个错误,学生普遍比较乐于接受。通过给学生教这些调试工具的使用,大多数学生在遇到问题的时候,不再是急于求助于教师,而是自己先看看哪里出现了问题,并力求自己找出错误,每当学生自己找出程序存在的错误时,那种兴奋和成就感往往洋溢在他们的脸上。当学生掌握了调试工具的使用,对于一些问题就可以自己判别哪里出现了问题,从而进一步培养了独立调试程序的能力,也减轻了教师的负担。

5.结束语

学生编程能力的培养要从多方面入手,以上是我在计算机教学中教学生进行程序调试的一些探讨,在实践中收到了良好的教学效果,学生的调试程序能力、接受知识的能力和逻辑思维能力都有较大的提高,创造能力也初露锋芒。

总之,计算机教育是素质教育的一部分,我们不仅要把知识传授给学生,还要培养学生的技能,真正把素质教育向前推进。

参考文献:

[1]教育部计算机科学与技术专业教学指导分委员会.中国计算机本科专业发展战略研究报告,http://www.省略/20050518/3137796.shtml.

[2]徐晓飞, 廖明宏. 论“研究型、个性化、精英式”人才的素质教育.北京:第七届全国计算机系系主任论坛论文集,2004.8.

[3]中国计算机科学与技术学科教程2002研究组.中国计算机科学与技术学科教2002.清华大学出版社,2002.8.

[4]谭浩强.C语言程序设计(第三版).北京:清华大学出版社,2005.

[5]谭浩强.C程序设计题解与上级指导(第二版).北京:清华大学出版社,2005.

[6]谢乐军.C语言程序设计及应用.北京:冶金工业出版社,2004.

上一篇:填充色:矢量图绘制的要素之一 下一篇:关注残疾人运动 构建和谐体育