- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言编程总结--程序员必须知道的77条编程细节
分类: C语言学习 心得体会 2010-08-08 19:33 63人阅读 评论(1) 收藏 举报
转载请注明出处:/ecorefeng
在编程过程中会遇到各种各样的错误与警告,这里我对编程过程中经常遇到的细节或者说常出错的地方进行了简单的总结,希望对正在编程的“童鞋”有所帮助:
C语言编程提示的总结:
1:使用 #include 指令避免重复声明
2:使用 #define 指令给常量值取名
3:在 #include 文件中放置函数原型
4:在使用下标前先检查它们的值
5:在 while 或 if 表达式中蕴含赋值操作
6:如何编写一个空循环体
7:始终要进行检查,确保数组不越界
8:良好的程序风格和文档将使程序容易阅读和维护
9:为了保持最佳的可移植性,把字符的值限制在有符号和无符号字符范围的交集之内,或者不要在字符上执行算术运算
10:用它们在使用时最自然的形式来表示字面值
11:不要把整型值和枚举值混在一起使用
12:不要依赖隐式声明
13:在定义类型的新名字时,使用 typedef 而不是 #define
14:用 const 声明其值不会修改的变量
15:使用名字常量而不是字面值常量
16:不要在嵌套的代码块之间使用相同的变量名
17:在一个没有循环体的循环中,用一个分号表示空语句,并让它独占一行
18: for 循环的可读行比 while 循环强,因为它把用于控制循环的表达式收集起来放在一个地方
19:在每个 switch 语句中都使用 default 子句
20:使用符号赋值符可以使用程序更容易维护
21:使用条件操作符代替 if 语句以简化表达式
22:使用逗号操作符来消除多余的代码
23:不要混用整型和布尔型值
24:一个值应该只具一种意思
25:如果指针并不指向任何有意义的东西,使它非法地指向了数组第 1 个元素的前面的内存位置
26:在函数原型中使用参数名,可以给使用该函数的用户提供更多的信息
27:抽象数据类型可以减少程序对模块实现细节的依赖,从而提高程序的可靠性
28:当递归定义清晰地优点可以补偿它的效率开销时,就可以使用这个工具
29:一开始就编写良好的代码显然比依赖编译器来修正劣质代码更好
30:源代码的可读性机会总是比程序的运行时效率更为重要
31:只要有可能,函数的指针参都应该声明为 const
32:在有些环境中,使用 register 关键字提高程序的运行时效率
33:在多维数组的初始值列表中使用完整的多层花括号能提高可读性
34:不要试图自己编写功能相同的函数来取代库函数
35:使用字符分类和转换函数可以提高函数的移植性
36:把结构标签声明和结构的 typedef 声明放在头文件中,当源文件需要这些声明时可以通过 #include 指令把它们包含进来
37::结构成员的最佳排列形式并不一定就是考虑边界对齐而浪费空间最少的那种排列形式
38:把位段成员显示地声明为 signed in 或 unsigned 类型
39:位段是不可移植的
40:位段时源代码中位的操作表达得更为清楚
41:动态内存分配有助于消除程序内部存在的限制
42:使用 sizeof 计算数据类型的长度,提高程序的可移植性
43:消除特殊情况使代码更容易维护
44:通过锻炼语句消除 if 语句中的重复语句
45:不要仅仅根据代码的大小评估它的质量
46:如果并非必要,避免使用多层间接访问
47: cdecl 程序可以帮助你分析复杂的声明
48:把 void* 强制转换为其他类型的指针时必须小心
49:使用转移表时,应始终验证下标的有效性
50:破坏性的命令行参数处理方式使你以后无法再进行处理
51:不寻常的代码始终应该加上一条注释,描述它的目的和原理
52:避免用 #define 指令定义可以用函数实现的很长序列的代码
53:在那些对表达式求值的宏中,每个宏参数出现的地方都应该加上括号,并且在整个宏定义的两边也加上括号
54:避免使用 #define 宏创建一种新语言
55:采用命名约定,使程序员很容易看出某个标识符是否为 #define 宏
56:只要合适就应该使用文件包含,不比担心它的额外开销
57:头文件只应该包含一组函数和(或)数据的声明
58:把不同集合的声明分离到不同的头文件中可以改善信息隐藏
59:嵌套的 #include 文件使我们很难判断源文件之间的依赖关系
60:在可能出现错误的场合,检查并报告错误
61:操纵文本行而无需顾及它们的外部标识形式,这个能力有助于提高程序的可移植性
62:使用 scanf 限定提高可移植
文档评论(0)