调试技术在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

在c语言中调试作用是什么,调试技术在C语言程序设计教学中作用探讨.doc相关推荐

  1. 计算机在教学应用英文视频,计算机视频截取技术在乡村中学英语教学中的运用...

    [摘要]乡村中学的学生对于英语大多不感兴趣,觉得学习英语作用不大.英语教师恰当运用计算机视频截取技术,截取短视频辅助教学,能够让课堂教学更加生动活泼,增强学生对英语的学习兴趣,改善教学效果. [关键词 ...

  2. 学习c语言的方法类比,类比法在C语言程序设计教学中运用.doc

    类比法在C语言程序设计教学中运用 类比法在C语言程序设计教学中运用 摘要:教学中方法得当,事半功倍.该文重点阐述了类比法在<C语言程序设计>教学过程中的应用,以函数实例介绍了方法的展开过程 ...

  3. c语言程序设计教学要求,C语言程序设计教学中的问题及改革建议①

    摘 要:随着社会的不断进步,市场对人才的需求逐步走向多元化.多方位,这就推动了C语言程序设计教学范围的拓展,特别是在各大院校,C语言程序设计已经成为高校理工科学生必须掌握的一项基本技能,对于计算机科学 ...

  4. 微型计算机在工程实践中作用,交通仿真技术在交通工程实践教学中的应用

    交通仿真技术在交通工程实践教学中的应用 [摘要]本文简要叙述了交通仿真技术的优缺点,并对交通仿真技术在交通工程实践教学中的作用进行了描述.同时,以课程设计中VISSIM的应用为例,阐述了交通仿真技术在 ...

  5. c语言程序设计臧,C语言程序设计教学中计算思维培养.pdf

    Advances in Education 教育进展, 2014, 4, 36-41 Published Online May 2014 in Hans. /journal/ae /10.12677/ ...

  6. 计算机应用技术专业课程视频,微视频技术在计算机专业课程教学中的应用研究...

    摘 要 在当今时代,微视频已经成为我国教育信息化资源建设的关键技术.通过微视频技术在计算机专业课程教学中的应用,真正制作出具备非常高的质量的微视频,能够科学有效地辅助计算机专业课程的教学.本文对于微视 ...

  7. matlab在能量守恒中的应用,MATLAB在《大学物理》课程实践教学中的应用分析

    ll 教育信息化 应 用研发 MATLAB在 <大学物理>课程实践教学中的应用分析 张玲玲 /吉林大学珠海学院公共基础教学与研究中心 摘 要 : ((大学物理 是一 门逻辑抽象.推导复杂. ...

  8. 计算机在识字教学中的应用,【多媒体技术论文】多媒体技术在小学识字教学中的应用(共3090字)...

    摘要:随着时代的发展和科技的进步,多媒体教学已经逐步走进小学语文教学当中.多媒体技术的引入不仅解决了传统识字教学中的诸多问题,还极大地提高了学生的识字能力和兴趣.本文立足于多媒体技术的发展现状,对多媒 ...

  9. 语言中根号打法_知识的诅咒,数学老师在教学中不得不防的陷阱

    数学老师小李教一元二次方程,备课时,他觉得书上讲得够清楚了,于是上课时就先让学生做几个题,接着把书上的概念讲一遍 ,然后给学生布置一道题,要求把方程4(x-3)=(3x+2)²化为一般式. 小李觉得一 ...

最新文章

  1. 为了不复制粘贴,我被逼着学会了JAVA爬虫
  2. ContentProvider初探
  3. Xposed源码剖析——Xposed初始化
  4. ADAMoracle预言机的发展趋势和特点
  5. 漫谈移动开发中的组件化
  6. 请列举你了解的分布式锁_终于搞懂分布式锁是什么了!
  7. linux树莓派网易云音乐,基于树莓派的红外遥控版网易云音乐播放器
  8. 华为摄像机搜索软件_别人的终点华为的起点!用普惠AI守护城市安全
  9. .Net中的多态知识点
  10. 腾讯视频下载安装链接_腾讯视频怎么上传视频
  11. python遗传算法之geatpy学习
  12. (Note)航世BOW G19键盘 —— 使用说明书
  13. Mermaid知识点总结4 - Flowchart 3
  14. 计算机专业论文的创新点怎么说,计算机专业的毕业论文怎么写
  15. php生成本地word文件怎么打开,php生成word文件的简单范例
  16. vue 仿el-table原理实现表格
  17. 20行python代码的入门级小游戏
  18. 第十二届计算智能与软件工程国际研讨会(CiSE-BT 2019)--12月泰国曼谷
  19. Ae 效果快速参考:实用工具
  20. Numpy 基本用法

热门文章

  1. 逆向新手,经典扫雷游戏确定雷区地址的5个方法
  2. 已解决:EasyConnect连接成功,但是无法显示网页
  3. Ubuntu 20中安装SNAP
  4. API接口平台,京东商品详情
  5. 【vulhub】Struts2 S2-059 远程代码执行漏洞(CVE-2019-0230)
  6. 分布式光伏补贴_最新2018年各省市分布式光伏补贴政策汇总
  7. Chrome浏览器如何使用socket5代理?
  8. APP前端和后台怎么进行数据交换的
  9. 性能优化的方法论建设
  10. 《我是一只IT小小鸟》连载九——掉进读书的兔子洞(5)