- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈调试技术在非计算机专业的C语言程序设计教学中的应用.doc
浅谈调试技术在非计算机专业的C语言程序设计教学中的应用
摘要:“C语言程序设计”是一门非计算机专业大学生必修的专业基础课,但在实际教学课堂中,对一些概念如变量的补码、指针变量、函数的嵌套调用与递归调用,学生普遍反映概念抽象难以理解。针对这种问题,提出了一种基于Visual Studio 2013调试工具的教学方法。通过单步调试的“慢动作回放”,使学生能够直观地看到计算机底层所表示的内容。经过课堂实践证明,这种方法实现起来简单、方便,并且可以达到很好的教学效果。
关键词:非计算机专业;C语言程序设计;调试工具;VS2013
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)42-0177-02
一、引言
“C语言程序设计”课程对非计算机专业的理工科学生来说,是一门非常重要的基础课程,但相比于其他程序设计语言,C语言初学起来十分困难。其主要原因是:(1)C语言数据类型和运算符多,表达式复杂;(2)初学者在学习过程中暂时不能使用机器思维。为了使学生学习好“C语言程序设计”这门课程,许多教育工作者对教学方法进行了深入的探索,积累了丰富的教学经验[1-3]。尽管如此,如何使学生能更好地掌握C语言程序设计仍然值得教育工作者进一步探索。本文准备从调试的目的和任务入手,给出若干程序设计和调试的技巧,使学生更好地掌握C语言程序设计。
学习调试之前需要弄清楚两个问题:为什么要调试?怎样去调试?从英文单词debug上可以看出,调试的本意是“解除程序中的错误(bug)”。为了能对程序进行查错和改错,就有必要对程序的局部进行专门的分析,观察程序的运行过程。这样做的另一个好处是辅助程序员对C语言语法进一步地理解。
二、Visual Studio 2013的调试工具在C语言程序设计教学中的使用
1.使用Memory和Watch探析简单变量。
对于C语言中的如下程序段
int main() {int a = -1;float b = 100.625;return 0;}
通过F10单步跟踪程序,在执行return语句之前,通过在watch窗口输入amp;a获得了变量a的地址,在本例中为:0x0046f890,得到图1,其内容为十六进制的FF FF FF FF,它对应的十进制数为:-1,这样可以使学生理解负数补码的作用。
在watch窗口中输入amp;b获得了变量b的地址,在本例中为:0x0046f884,得到图2,其内容为十六进制的42 C9 40 00,它对应的十进制数为100.625,这样可以使学生对单精度浮点数的编码格式有一个直观的了解。
2.使用Memory和Watch理解字符串。字符串在C语言中是以字符数组形式存储的,并以‘\0’作为结束标志。对于如下代码段:
char string[10] =”bbbbb”;
通过在Watch窗口获得的string值为0x0031fe90,则得到字符串的首地址,在Memory中加以查看,结果如图3。
在图中,从0x0031fe90到0x0031fe96处四个字节的内容分别为0x62,0x62,0x62,0x62,0x62,0x62,十六进制的62对应十进制的98,而98为字符b的ASCII码,0为’\0’的ASCII码,通过该图,学生可以直观地看到字符在内存中是如何以ASCII码形式存储的,并且C语言字符串又是如何以‘\0’为结束标志的。
3.使用Memory和Watch理解指针。指针和指针变量在C语言程序设计教学中属于重点和难点。在教学中,学生经常容易混淆两者的概念。指针代表变量的地址,指针变量用于存放地址。通过Memory查看内存情况,可以使学生对地址产生感性的认识,对内存分布情况有直观的印象。对于如下的代码:
char ch = ‘b’,* p = NULL;p = amp;ch;
通过在内存中查看p的内容,可以看到它的值为,正好与ch的地址相同。除上述内容外,还可以使用同样的方法对结构体和结构体成员,共用体和共用体成员之间的关系进行解析,使学生对构造类型在计算机内存中是如何分布的有一定直观的了解。
4.使用Call Stack查看函数调用堆栈。函数的嵌套调用与递归调用在教学中属于难点,学生对函数的调用顺序经常感到迷惑,通过VS 2013的Call Stack图形化工具,可以形象直观地展示函数的调用过程。对于如下的代码段:
#include lt;stdio.hgt;
void funb() {printf(This is funb!\n);}
void funa() {funb();}
int main(){funa(
您可能关注的文档
最近下载
- 2024年辅警招聘考试题库(含答案).pdf VIP
- 2022年辅警招聘考试题题库(含答案).pdf VIP
- 2.2 第3课时气候特征影响气候的主要因素 课件 2025地理商务星球版八年级上册.ppt
- 2024公安辅警招聘知识考试题(附含答案) .pdf VIP
- 2024—2025学年黑龙江省大庆铁人中学高一上学期第一次月考数学试卷.doc VIP
- dp-modeler v2 0图像快速建模系统使用手册.pdf VIP
- 2022-2023学年黑龙江省大庆铁人中学高一上学期第一次月考地理试题(解析版).docx VIP
- 中国文化概论(第三版)·第二章·第四节明清中国文化的继往与开来.ppt VIP
- 中国文化概论·第二章·第四节明清中国文化的继往与开来.pdf VIP
- 2-2饮茶思源-中国气候的自然特征和影响因素课件2023-2024学年人教版地理八年级上册.pptx VIP
文档评论(0)