编写优质无错C程序秘诀!

编写优质无错C程序秘诀!

ID:38631678

大小:69.50 KB

页数:15页

时间:2019-06-16

编写优质无错C程序秘诀!_第1页
编写优质无错C程序秘诀!_第2页
编写优质无错C程序秘诀!_第3页
编写优质无错C程序秘诀!_第4页
编写优质无错C程序秘诀!_第5页
资源描述:

《编写优质无错C程序秘诀!》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编写优质无错C程序秘诀!《经验谈》分类:其他  发布时间:2007-06-20  来源:Auto5.info编写优质无错C程序秘诀!《经验谈》编写优质无错C程序秘诀!《经验谈》这里我将陆续给大家载出我在以前学习和编写c代码时遇到的问题和解决方法、学习的心得,有些是经过查询一些曾经参加微软microsoft的开发小组的老程序员的书籍和资料后提供给大家!首先,当发现错误时,要不断就以下两个问题追问自己的结果:1、怎样才能自动地查出这个错误?2、怎样才能避免这个错误?关于错误:错误可以分为两类:1、开发某一功能时产生的错误。2、程序员认为该功能已经开发完成之后仍然遗留在代码中的错误。第一

2、种错误好解决,可以把编译器可以设置的警告等级开关打开,以及语法检查来排除;逻辑错误也可以使用跟踪手段来排除。跟踪逻辑错误就相对麻烦一些,要消除这些麻烦就要养成一个好的编程习惯和方法。第二种错误时非常隐蔽的,需要长期的实践和经验在其中,还要对c语言具有深刻的了解才能够提高上来,这里就是要告诉大家一些这样的事情,通过代码解说来阐明具体事实。以下的文章里,实际上有许多是微软 microsoft 的老程序员开发 word 和 excel 的经验之谈,这也是我当初学习他们的经验时的体会和材料的总结和整理。总之,这些对于在c道路上前进的人们是非常重要的,不敢独占,先拿出来以供大家享受 (第一个

3、问题)考虑自己所用的语言和编程环境?使空语句明显化!充分利用语言的特性和编程环境,把所有环境下的调试报错等级开关都打开,注意使用语言的保留字,例如下面的两段程序对比:编写优质无错C程序秘诀!《经验谈》分类:其他  发布时间:2007-06-20  来源:Auto5.info编写优质无错C程序秘诀!《经验谈》编写优质无错C程序秘诀!《经验谈》这里我将陆续给大家载出我在以前学习和编写c代码时遇到的问题和解决方法、学习的心得,有些是经过查询一些曾经参加微软microsoft的开发小组的老程序员的书籍和资料后提供给大家!首先,当发现错误时,要不断就以下两个问题追问自己的结果:1、怎样才能自

4、动地查出这个错误?2、怎样才能避免这个错误?关于错误:错误可以分为两类:1、开发某一功能时产生的错误。2、程序员认为该功能已经开发完成之后仍然遗留在代码中的错误。第一种错误好解决,可以把编译器可以设置的警告等级开关打开,以及语法检查来排除;逻辑错误也可以使用跟踪手段来排除。跟踪逻辑错误就相对麻烦一些,要消除这些麻烦就要养成一个好的编程习惯和方法。第二种错误时非常隐蔽的,需要长期的实践和经验在其中,还要对c语言具有深刻的了解才能够提高上来,这里就是要告诉大家一些这样的事情,通过代码解说来阐明具体事实。以下的文章里,实际上有许多是微软 microsoft 的老程序员开发 word 和 

5、excel 的经验之谈,这也是我当初学习他们的经验时的体会和材料的总结和整理。总之,这些对于在c道路上前进的人们是非常重要的,不敢独占,先拿出来以供大家享受 (第一个问题)考虑自己所用的语言和编程环境?使空语句明显化!充分利用语言的特性和编程环境,把所有环境下的调试报错等级开关都打开,注意使用语言的保留字,例如下面的两段程序对比:/*复制一个不重叠的内存块*/void *memcpy(void *pvto, void *pvfrom,size_t size){    byte *pbto = (byte *)pvto;    byte *pbfrom = (byte *)pvfro

6、m;    while(size-- > 0);        *pbto++ = *pbfrom++;    return (pvto);}从以上缩进格式可以看出,while后的分号肯定是一个错误。但编译器认为这是一个合法的语句,允许循环体为空语句。报警开关都打开时,大多编译器都能够报出这一错误。但需要用空语句时,最好实用null(大写)明确出来:char *strcpy(char *pchto, char *pchfrom){    char *pchstart = pchto;    while(*pchto++ = *pchfrom++)        null;/*此处n

7、ull大写*/    return (pchstart);}这样,编译器编译程序接受显式的null语句,把隐式空语句自动地当做错误标出。(第二个问题)无意的赋值。例如:if(ch = 't')    expandtab();有些编译器允许在程序&&和

8、

9、表达式以及if、for和while中直接使用赋值的地方禁止简单赋值,如果以上五种情况将==偶然地键入为=号,就会报错。while(*pchto++ = *pchfrom++)    null;编译程序就会产生警告信息

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。