编写优质无错C程序秘诀!《经验谈》

编写优质无错C程序秘诀!《经验谈》

ID:38631338

大小:61.00 KB

页数:20页

时间:2019-06-16

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

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

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

2、有许多是微软 microsoft 的老程序员开发 word 和 excel 的经验之谈,这也是我当初学习他们的经验时的体会和材料的总结和整理。总之,这些对于在c道路上前进的人们是非常重要的,不敢独占,先拿出来以供大家享受 (第一个问题)考虑自己所用的语言和编程环境?使空语句明显化!充分利用语言的特性和编程环境,把所有环境下的调试报错等级开关都打开,注意使用语言的保留字,例如下面的两段程序对比:首先,当发现错误时,要不断就以下两个问题追问自己的结果:1、怎样才能自动地查出这个错误?2、怎样才能避免这个错误?关于错误:错误可以分为两类:1、开发某一功能时产生的错误。2、程序员认为该功能已经开

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

4、,先拿出来以供大家享受 (第一个问题)考虑自己所用的语言和编程环境?使空语句明显化!充分利用语言的特性和编程环境,把所有环境下的调试报错等级开关都打开,注意使用语言的保留字,例如下面的两段程序对比:首先,当发现错误时,要不断就以下两个问题追问自己的结果:1、怎样才能自动地查出这个错误?2、怎样才能避免这个错误?关于错误:错误可以分为两类:1、开发某一功能时产生的错误。2、程序员认为该功能已经开发完成之后仍然遗留在代码中的错误。第一种错误好解决,可以把编译器可以设置的警告等级开关打开,以及语法检查来排除;逻辑错误也可以使用跟踪手段来排除。跟踪逻辑错误就相对麻烦一些,要消除这些麻烦就要养成一

5、个好的编程习惯和方法。第二种错误时非常隐蔽的,需要长期的实践和经验在其中,还要对c语言具有深刻的了解才能够提高上来,这里就是要告诉大家一些这样的事情,通过代码解说来阐明具体事实。以下的文章里,实际上有许多是微软 microsoft 的老程序员开发 word 和 excel 的经验之谈,这也是我当初学习他们的经验时的体会和材料的总结和整理。总之,这些对于在c道路上前进的人们是非常重要的,不敢独占,先拿出来以供大家享受 (第一个问题)考虑自己所用的语言和编程环境?使空语句明显化!充分利用语言的特性和编程环境,把所有环境下的调试报错等级开关都打开,注意使用语言的保留字,例如下面的两段程序对比:

6、/*复制一个不重叠的内存块*/void *memcpy(void *pvto, void *pvfrom,size_t size){    byte *pbto = (byte *)pvto;    byte *pbfrom = (byte *)pvfrom;    while(size-- > 0);        *pbto++ = *pbfrom++;    return (pvto);}从以上缩进格式可以看出,while后的分号肯定是一个错误。但编译器认为这是一个合法的语句,允许循环体为空语句。报警开关都打开时,大多编译器都能够报出这一错误。但需要用空语句时,最好实用null(大

7、写)明确出来:char *strcpy(char *pchto, char *pchfrom){    char *pchstart = pchto;    while(*pchto++ = *pchfrom++)        null;/*此处null大写*/    return (pchstart);}这样,编译器编译程序接受显式的null语句,把隐式空语句自动地当做错误标出。(第二个问题)无意的赋值。例如:if(ch = '

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

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

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