欢迎来到天天文库
浏览记录
ID:35294318
大小:37.00 KB
页数:4页
时间:2019-03-23
《c语言编程总结--程序员必须知道的77条编程细节》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言编程总结--程序员必须知道的77条编程细节分类:C语言学习心得体会2010-08-0819:3363人阅读评论(1)收藏举报转载请注明出处:http://blog.csdn.net/ecorefeng在编程过程中会遇到各种各样的错误与警告,这里我对编程过程中经常遇到的细节或者说常出错的地方进行了简单的总结,希望对正在编程的“童鞋”有所帮助:C语言编程提示的总结:1:使用#include指令避免重复声明2:使用#define指令给常量值取名3:在#include文件中放置函数原型4:在使用下标前先检查它们的值5:在while或if表达式中蕴含赋值操作6:如何编写一个空循环体7:始终要进行
2、检查,确保数组不越界8:良好的程序风格和文档将使程序容易阅读和维护9:为了保持最佳的可移植性,把字符的值限制在有符号和无符号字符范围的交集之内,或者不要在字符上执行算术运算10:用它们在使用时最自然的形式来表示字面值11:不要把整型值和枚举值混在一起使用12:不要依赖隐式声明13:在定义类型的新名字时,使用typedef而不是#define14:用const声明其值不会修改的变量15:使用名字常量而不是字面值常量16:不要在嵌套的代码块之间使用相同的变量名17:在一个没有循环体的循环中,用一个分号表示空语句,并让它独占一行18:for循环的可读行比while循环强,因为它把用于控制循环的表达
3、式收集起来放在一个地方19:在每个switch语句中都使用default子句20:使用符号赋值符可以使用程序更容易维护21:使用条件操作符代替if语句以简化表达式22:使用逗号操作符来消除多余的代码23:不要混用整型和布尔型值24:一个值应该只具一种意思25:如果指针并不指向任何有意义的东西,使它非法地指向了数组第1个元素的前面的内存位置26:在函数原型中使用参数名,可以给使用该函数的用户提供更多的信息27:抽象数据类型可以减少程序对模块实现细节的依赖,从而提高程序的可靠性28:当递归定义清晰地优点可以补偿它的效率开销时,就可以使用这个工具29:一开始就编写良好的代码显然比依赖编译器来修正劣
4、质代码更好30:源代码的可读性机会总是比程序的运行时效率更为重要31:只要有可能,函数的指针参都应该声明为const32:在有些环境中,使用register关键字提高程序的运行时效率33:在多维数组的初始值列表中使用完整的多层花括号能提高可读性34:不要试图自己编写功能相同的函数来取代库函数35:使用字符分类和转换函数可以提高函数的移植性36:把结构标签声明和结构的typedef声明放在头文件中,当源文件需要这些声明时可以通过#include指令把它们包含进来37::结构成员的最佳排列形式并不一定就是考虑边界对齐而浪费空间最少的那种排列形式38:把位段成员显示地声明为signedin或uns
5、igned类型39:位段是不可移植的40:位段时源代码中位的操作表达得更为清楚41:动态内存分配有助于消除程序内部存在的限制42:使用sizeof计算数据类型的长度,提高程序的可移植性43:消除特殊情况使代码更容易维护44:通过锻炼语句消除if语句中的重复语句45:不要仅仅根据代码的大小评估它的质量46:如果并非必要,避免使用多层间接访问47:cdecl程序可以帮助你分析复杂的声明48:把void*强制转换为其他类型的指针时必须小心49:使用转移表时,应始终验证下标的有效性50:破坏性的命令行参数处理方式使你以后无法再进行处理51:不寻常的代码始终应该加上一条注释,描述它的目的和原理52:避
6、免用#define指令定义可以用函数实现的很长序列的代码53:在那些对表达式求值的宏中,每个宏参数出现的地方都应该加上括号,并且在整个宏定义的两边也加上括号54:避免使用#define宏创建一种新语言55:采用命名约定,使程序员很容易看出某个标识符是否为#define宏56:只要合适就应该使用文件包含,不比担心它的额外开销57:头文件只应该包含一组函数和(或)数据的声明58:把不同集合的声明分离到不同的头文件中可以改善信息隐藏59:嵌套的#include文件使我们很难判断源文件之间的依赖关系60:在可能出现错误的场合,检查并报告错误61:操纵文本行而无需顾及它们的外部标识形式,这个能力有助于
7、提高程序的可移植性62:使用scanf限定提高可移植性63:当你打印长整数时,即使你所使用的机器并不需要,坚持使用1修改符可以提高可移植性64:滥用setjmp和longjmp可能导致晦涩难懂的代码65:对信号进行处理将导致程序的可移植性变差66:使用断言可以简化程序的调试67:避免使用具有副作用的函数可以使程序更容易理解68:一个模块的接口应该避免暴漏它的细节69:将数据类型参数化,是它更容易修改70:只有
此文档下载收益归作者所有