作者:
[美] Andrew Koenig
出版社: 人民邮电出版社
副标题: C语言调试指南
原作名: C Traps and Pitfalls
译者: 高巍 / 王昕(审校)
出版年: 2008-2-1
页数: 172
定价: 30.00元
装帧: 平装
丛书: C和C++经典著作
ISBN: 9787115171795
出版社: 人民邮电出版社
副标题: C语言调试指南
原作名: C Traps and Pitfalls
译者: 高巍 / 王昕(审校)
出版年: 2008-2-1
页数: 172
定价: 30.00元
装帧: 平装
丛书: C和C++经典著作
ISBN: 9787115171795
内容简介 · · · · · ·
作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。..
全书分为8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章的篇幅给出了若干具有实用价值的建议。..
本书适合有一定经验的C程序员阅读学习,即便你是C编程高手,本书也应该成为你的案头必备书籍。
C陷阱与缺陷的创作者
· · · · · ·
-
安德鲁·凯尼格 作者
作者简介 · · · · · ·
Andrew Koenig
AT&T公司Shannon实验室大规模编程研究部门成员,同时是C++标准委员会的项目编辑。他的编程经验超过30年,其中有15年在使用C++,他已经出版了超过150篇和C++有关的论文,并且在世界范围内就这个主题进行过多次演讲。
目录 · · · · · ·
第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 使用errno检测错误
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夫妇访谈
· · · · · · (收起)
第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 使用errno检测错误
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夫妇访谈
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
许多系统中的标准输入/输出库都允许程序打开一个文件,同时进行写入和读出的操作: (查看原文) —— 引自第85页 -
上面的例子代码打开了文件名由变量file指定的文件,对于存取权限的设定表明程序希望对这个文件进行输入和输出操作。 编程者也许认为,程序一旦执行上述操作完毕,就可以自由地交错进行读出和写入的操作。遗憾的是,事实总难遂人所愿,为了保持与过去不能同时进行读写操作的程序的向下兼容性,一个输入操作不能随后直接紧跟一个输出操作,反之亦然。如果要同时进行输入和输出操作,必须在其中插入fseek函数的调用。 (查看原文) —— 引自第85页
> 全部原文摘录
丛书信息
· · · · · ·
C和C++经典著作(共10册),
这套丛书还有
《C++Templates中文版》《C和指针》《C专家编程》《C和指针》《C陷阱与缺陷》
等
。
喜欢读"C陷阱与缺陷"的人也喜欢的电子书 · · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
喜欢读"C陷阱与缺陷"的人也喜欢 · · · · · ·
-
- C专家编程 9.2
-
- C和指针 9.1
-
- 算法导论(原书第2版) 9.3
-
- C++沉思录 8.6
-
- UNIX编程艺术 9.0
-
- 代码大全(第2版) 9.3
-
- TCP/IP详解 卷1:协议 9.2
-
- C语言参考手册 9.3
-
- Effective STL中文版 8.9
C陷阱与缺陷的书评 · · · · · · ( 全部 30 条 )


你该读的第二本C语言书
这本书是我的第二本C语言书,大学学的谭老的书不算。 也许是《C语言程序设计现代方法》一书过于详尽的原因,而且毕竟也有着一些编程基础,在读这本书的时候我读的很快。 这不是讲C语言基础的书,而是从一些C语言的特性入手,讲C语言编程时容易出现的错误,以及一些最佳实践。...
(展开)
> 更多书评 30篇
论坛 · · · · · ·
第18、19页的signal函数声明到底是怎么回事? | 来自Jackindata | 3 回应 | 2017-10-05 22:11:20 |
5.3章节的程序不能运行 | 来自iCat | 2010-01-29 12:15:28 | |
不错 | 来自bigrat | 2009-12-18 10:33:55 | |
有点历史了 | 来自小幺 | 2008-05-21 00:10:46 | |
麻烦同学们选张大封面投票 | 来自哗呀哩呜 | 2008-03-01 16:01:41 |
这本书的其他版本 · · · · · · ( 全部6 )
-
Addison-Wesley Professional (1989)8.6分 97人读过
-
人民邮电出版社 (2003)8.8分 884人读过
-
人民邮电出版社 (2020)9.5分 23人读过
-
人民邮电出版社 (2013)暂无评分 6人读过
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- C语言书籍 (sagasw)
- 编程C语言,Python等类书籍+知乎话题 (IVAN)
- C语言经典书籍 (lanjing)
- 程序员必读 (sagasw)
- linux网络开发必读 (Alan)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于C陷阱与缺陷的评论:
feed: rss 2.0
1 有用 qiao 2010-09-01 15:15:55
“本书所揭示的知识,至少能够帮助你减少C代码和初级C++代码中90%的Bug”,Francis Glassborow如是说。我认为,这不是夸张
0 有用 Joard Spike 2010-01-15 20:33:10
出彩的地方不多,但值得一读
0 有用 mark 2011-03-15 13:12:35
一口气读完,很爽
0 有用 空气 2010-03-03 21:31:19
一些C语言编程时的注意事项,推荐有一定代码量之后读。
0 有用 硅胶鱼 2008-07-19 21:30:04
好的教材就应该是这个样子