调试技术在C语言程序设计教学中作用探讨
调试技术在C语言程序设计教学中作用探讨
摘要:C语言程序设计是计算机相关专业的一门重要课程,但是在实际教学中该课程的教学效果并不能令人满意。本文认为学生没有掌握调试技术是根本的原因。因此,本文讨论了如何在C语言程序设计的各部分内容中使用调试技术加深学生的理解,从而培养学生独立调试程序的能力,提高编写程序的兴趣。
关键词:程序设计;调试;C语言
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)24-0080-03
Discussion of the Usefulness of Debug Techniques in Teaching of C Programming Language
CHEN Sheng-lei, LIU Lin-yuan
(Department of Electronic Commerce, Nanjing Audit University, Nanjing 211815, China)
Abstract:C programming language is an important course for computer related majors. However, the teaching effect of this course is not satisfying in practice. The paper argues the fundamental reason is that students did not master debug technique. Consequently, the paper discusses how to use debug techniques to deepen the students’ understanding of different part of C language. This could train the students’ capabilities to debug the program independently and increase the interests of programming.
Key words: Programming; Debug; C language
C语言程序设计是计算机相关专业的一门重要课程,它能让学生理解程序设计中流程控制、模块化设计的概念,为后续课程奠定基础。大多数学校也对这门课程给予了足够的重视,设置了较多的学分和学时。但是在实际教学中,这门课程的教学效果并不令人满意,学生普遍反映这门课程的内容较难掌握,老师总是觉得自己尽了最大努力,却不能取得令人满意的效果。
根据近年来讲授C语言程序设计这门课程的观察,笔者发现妨碍学生掌握程序设计能力的原因在于没有掌握调试技术,学生不能把自己所写的程序调试正确。这会使学生在编写程序时没有成就感,慢慢对编写程序失去兴趣。因此学生在学完这门课程后,读程序仍然非常吃力,当然也不能熟练地编写程序了。
许多教育工作者已经意识到调试技术的掌握对于提高教学效果的重要作用,黎自强等[1]探讨了宏getch()在程序调试中的应用,谢红霞等[2]强调了程序调试在C程序设计教学中的重要性,潘黎阳[3]探讨了让高职高专院校中的学生学好C语言程序设计这门课程的方法,吴奇英[4]阐述了C语言程序设计中的调试技术,宋雅娟等[5]提出如何使用调试工具辅助C语言程序设计的教学。本文认为调试技术不应该仅仅被看做是教学内容的一部分,而是应该贯穿于C程序设计教学的始终。因此,本文阐述了VC++6.0中的调试技术在变量的存储、程序的流程控制、数组以及函数的调用中如何加深学生的理解。通过让学生掌握调试技术,培养学生独立调试程序的能力,提高编写程序的兴趣。
1 变量的存储
变量的概念以及数据如何在变量中存储是在C程序设计教学中的第一个难点。学生需要理解变量是计算机内存中的一段存储空间,这样才能理解数据的各种存储形式以及变量的赋值等操作。在实际教学中,我们可以通过调试技术让学生“看见”内存中的存储空间是如何存储数据、以何种形式存储数据的,从而加深对变量的理解。
比如,对于程序片段,
int a;
a=4;
a=-5;
我们在第2行程序上设置断点,然后按F5键进入调试模式,单击Debug工具栏中的Memory按钮打开Memory窗口,在Address后面填写&a后按回车键,这里需要给学生解释&a表示变量a的地址,那么在第2行程序执行之前、第2行执行后、第3行执行前,我们观察到的Memory窗口如图1所示。
程序的第一行声明了变量a,我们观察到在图1(1)中变量a