c语言教学中的编程、程序调试.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言教学中的编程、程序调试 在c语言课程中,经常发现学生提出的许多问题。编程和编程考试。这里就学生问题较多, 性质最典型, 而一般教材中没有详述的问题给出解答, 有些经验仅指Turbo-C而言。 (1) 初学C语言时, 如何使学生克服入门难?教学经验表明, 当初学者面对一大本C语言使用说明书和几百个库函数时, 常常无从下手。可以让学生先模仿教材或其他参考书中的一些实例, 实例键入调通后, 给自己定一个修改任务, 加进或改进功能, 这样工作量较小, 又能带着问题学, 对记不住的函数、保留字, 可把光标置该字上, 用Ctrl+F1联机求助。只要调试通过1000行程序, 就算入门了。把已经调试通过的Pascal程序改写为C程序也是一种较好的实践方法。 (2) 程序调试、执行过程中, 如何处理因结果显示过快而没等看清就返回了编辑屏幕?有两种方法: (1) 采用ALT-F5或菜单返回用户屏 (User Screen) 查看执行结果, 但当调试过程中需要多次执行并查看结果时就显得很麻烦。 (2) 采用调试之前, 在程序末尾加入一条语句——getch () ;每次执行后就会直接看到结果, 仅当按任意键时才返回编辑屏幕, 当最后调试成功后再去掉该语句。 (3) 在程序编译过程中, 如何作最有效的存盘操作?在程序编译过程中, 每一次修改后按F2存盘一次, 存盘后再编译发现还有错, 有时偶然一次不存, 程序一运行就死机了, 辛辛苦苦改了几个小时的程序又没保存下来。可以在程序最后加一个未定义的变量, 如aaaa或Last Error等, 编译后, 如报告只剩这一个错时, 去掉它, 再按F2存盘。此法经济、有效、安全, 在Turbo-C中选c/c, 或C/M, 而不选Run, 也可达此目的。 (4) 书写函数名、变量名用什么样的风格较好?一般的书中说:“尽量采用好记、易识别的具有一定英文含义或其它特征的一串字符作函数名、变量名”, 但实际上常与C的库函数名等冲突, 因此采用由用户自定义的函数名、变量名中每个单词的首字母用大写, 既可增加可读性, 又能与C中预定义的函数名、变量名区分开而不冲突。C语言区分大小写, A和a是不同的两个变量, 如果一个程序中同时有A和a, 则极易张冠李戴, 建议学生一开始就养成良好的风格和习惯。 (5) 如何解决变量名太长, 录入时较困难, 而变量名太短则影响可读性的矛盾?先用短名录入, 然后用^Q^A把短名通换为长名, 二者兼顾。 (6) 如何对付程序中的栈溢出错误?可以采用以下四种方法: (1) 修改栈空间默认值。 (2) 把大变量改为指针量。 (3) 把程序中的递归改为迭代。 (4) 动态局部变量改为static类型定义。 (7) 程序编译时成功, 但运行时还有错, 为什么?此时程序中没有静态 (语法) 错误, 但有动态 (语义) 错误。打个比方:“猫吃桌子。”这个句子中主、谓、宾的语法正确, 但语义不合理, 是错的。编写、调试C程序时往往会遇到这种隐藏较深的错误。 (8) 如何使用Turbo-C中的Debug和Watch来加快调试速度?这是加快调试程序速度的最有力工具, 可以在源程序级调试, 好比人体内部安置了各种传感仪, 不需开刀, 就知内脏参数和状态。程序员可一步步地运行程序, 同时观察各个变量的变化情况, 特别在排除死循环时有用。Watch实行长期监视, 监视结果显示在下窗口。而Debug实行短期监视, 监视结果在弹出式菜单中, 按Esc就消失, 二者各有长短。这里介绍一个对自学有用的方法。在主菜单中选Debug或Watch中的某一项, 不按Enter而按F1, 可以显示出关于该项目的联机求助内容。相信这一方法比零星的知识有用。编辑C源程序时光标置于欲观察的表达式, 再按F10选Debug中Evaluate或Watch中add Watch, 则该表达式会显示在弹出窗口中, 此时有三种处理: (1) 按回车, 既显示出该表达式值或加入监视窗口中; (2) 按右箭头, 则继续把源程序中表达式紧接的字符串送入监视窗口; (3) 按一个可打印字符, 则从头输入一个表达式。 有几种显示格式, 例如Debug/Evaluate中: Name显示年龄 Name, c显示首字符 Name, 3, m显示3字节内存内容 Age, d显示年龄数值 Age, x显示年龄16进制位数 (9) 如何保证#include头文件名不多不少?如果应包含的文件没有包含, 则可能出错或出警告, 如果包含了不必包含的文件, 则浪费时间, 采用下面的“等候警告”法可使其不多不少。先从零开始, 编译后会出警告, 例如指出Printf没有原型 (prototype) , 此时, 光标置于Printf上, 按Ctrl-F1, 显示出关于Printf的

文档评论(0)

xcwwwwws + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档