作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。
全书分为 8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。后,作者用一章的篇幅给出了若干具有实用价值的建议。
本书适合有一定经验的C程序员阅读学习,即便你是C编程高手,本书也应该成为你的案头必备书籍。
Andrew Koenig自己在Bell实验室时发表的论文为基础,结合自己的工作经验扩展成这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。
本书所揭示的知识,至少能够帮助你减少C代码和初级C 代码中90%的Bug。
——Francis Glassborow,ACCU主席
Andrew Koenig AT&T大规模程序研发部(莉贝尔实验室)成员。他从1 986年开始从事C语言的研究,1977年加入贝尔实验室。在1989年ISO/ANSI C 委员会成立时,他就加入了该委员会,并一直担任项目编辑;他还是《Rumirlatio rls on C 》(C 沉思录)、《CTraps and Pitfalls》的
第0章 导读
第1章 词法“陷阱”
1.1 =不同于==
1.2 &和|不同于&&和||
1.3 词法分析中的“贪心法”
1.4 整型常量
1.5 字符与字符串
第2章 语法“陷阱”
2.1 理解函数声明
2.2 运算符的优先级问题
2.3 注意作为语句结束标志的分号
2.4 switch语句
2.5 函数调用
2.6 “悬挂”else引发的问题
第3章 语义“陷阱”
3.1 指针与数组
3.2 非数组的指针
3.3 作为参数的数组声明
3.4 避免“举隅法”
3.5 空指针并非空字符串
3.6 边界计算与不对称边界
3.7 求值顺序
3.8 运算符&&、||和!
3.9 整数溢出
3.10 为函数main提供返回值
第4章 连接
4.1 什么是连接器
4.2 声明与定义
4.3 命名冲突与static修饰符
4.4 形参、实参与返回值
4.5 检查外部类型
4.6 头文件
第5章 库函数
5.1 返回整数的getchar函数
5.2 更新顺序文件
5.3 缓冲输出与内存分配
5.4 使用ernlo检测错误
5.5 库函数signal
第6章 预处理器
6.1 不能忽视宏定义中的空格
6.2 宏并不是函数
6.3 宏并不是语句
6.4 宏并不是类型定义
第7章 可移植性缺陷
7.1 应对C语言标准变更
7.2 标识符名称的限制
7.3 整数的大小
7.4 字符是有符号整数还是无符号整数
7.5 移位运算符
7.6 内存位置0
7.7 除法运算时发生的截断
7.8 随机数的大小
7.9 大小写转换
7.10 首先释放,然后重新分配
7.11 可移植性问题的一个例子
第8章 建议与答案
8.1 建议
8.2 答案
附录A:PRINTF,VARARGS与STDARG
附录B:Koenig和Moo夫妇访谈
我是搞C++的,但学学C也是有好处的,因为对很多人来说C与C++的区别,有很多相似的东西,学好了C本身就能把C++中的东西搞懂
算是我买的书当中最便宜的了,而且还被唱的这么响
粗略翻了一下,这本书的英文原版比较老了,里面的很多代码看起来不是那么优美。不过无所谓了,本书主要目的就是在学C的过程中少走一些弯路,抓住重点即可
很经典的书,总结了很多C语言编程容易犯的错误,是一本值得反复翻阅的C语言进阶书
教给你一些C程序设计中没有说到的东西~~C的一些易错点和注意点,也是C的缺陷呀
如果你有一定的C语言开发经验的话,那么你会发现这本书真的不错,他把以前你所犯的错误基本上给支出来了,还有一些原来理解不透彻的东西,不管是谁读了,我相信都会有收获的!呵呵
C语言博大精深,要想真正掌握C语言,谈何容易?阅读此书,可以帮助我们客观评价C语言,汲取营养,避免陷阱,可谓受益匪浅。
这本书对于学习C语言编程人员来说,是本好书
三剑客里最薄的一本,但是是字体最大,看得最舒服的一本。c程序员进阶之书。折扣买的,很实惠,但是配送有点慢
C语言的精华,不仅提醒我注意编程时容易发生的错误,还让我对C有了更加深刻的认识,而且对C++的低级编程也有很大帮助!
C语言陷阱和缺陷就是在你编程到一定基础了之后会慢慢的出现一些常见的和不常见的错误,本书可以很好的总结出这些典型的错误,来提高编程的能力。
将C使用过程中容易发生的错误列举了出来,很实用
这本书我看了两遍!真是不看不知道啊!BUG真是无处不在!在编写程序方面,真是事无巨细,都得认真的完成!(当然这还不一定能排除所有的BUG)但是这对于现阶段的我而言,只能做到这些!相信不久的将来自己也能够成为大师!
C程序员的进阶必读书籍~~从这本书中感觉收获了非常多
C语言的必读书,但是如果不是有经验的C程序员可能会体会不到它的价值。。。。
C学习路上的重要经典书籍,我身边搞C开发的小伙伴基本都有这本书。
无论怎样选星星,评价的标语都是对本书实质内容的评价,我想说的是,毫无疑问这事一本好书,内容无可挑剔。但是质量不敢恭维。与盗版无异。我想,这不是作者的问题,也不可能是出版社的问题,仔细看来这还未必是真的出自人民邮电
这是C语言编程领域的经典教材,常看到别人引用这本书,所以就买了。
C语言的创始人,写的东西确实很经典,虽然很多错误很容易规避,但是一些平时想不到的位置,作者也指出来了,,,很好,,,这本书应该算是C语言的必备书籍之一吧....虽然很薄,但是处处是精华....
C语言经典之作,很多编程的细节讲的很清楚,有些陷阱有经验的C语言程序员也犯的错误,让我受益匪浅。
这本书是老师建议才买的,书拿到手,还没有仔细看,但是书中对于程序的书写,印刷上虽说很清楚但是与其他C程序方面的书来讲就不怎么好了。快递因为某些原因耽误了一天,但是当当上给我发了邮件。服务态度很好拉~
要想深入理解C语言,没有这本书和《C专家编程》是不行的。薄薄一本小册子,适合随身携带,偶尔翻一两页,总会有新的收获。不过,由于成书太早,本书中也有部分内容比较陈旧,但这丝毫不影响它在C语言书籍中的地位。
这本书虽然著于1989年,但其中的要点却不过时,讲的全是C语言的精华,不仅使我可以注意编程时容易发生的错误,还让我对C有了更加深刻的认识,而且对C++的低级编程也有很大帮助,与《C专家编程》,两者配合,会对C有一个更加深刻机全面的认识,比如数组和指针的问题。
这书是本好书,介绍的很好,让人很容易看到C语言的问题,让我们明白自己对C语言的了解和对自身的不足,提高了我们对C语言的认识,我很喜欢,可以让我们对C语言进一步的了解,希望以后能在出现类似的好书,让我们加深学习。谢谢作者
应该说对于每一个用C写程序的人来说都是一本常读常新的参考书,如果你曾经因为一个程序在编译过程中出现问题,百思不得其解,不妨回忆下这本书所归纳的内容,查找是否落入陷阱。作者把工作中的所遇到的麻烦和问题总结在这本书上,很多内容或许你曾亲身经历,或者深有体会,再度重温一下那些写C过程的经历和感受还是很好的...推荐