编辑点评:
c语音学习非常不错的一本参考书籍,C专家编程pdf电子版展示了的C程序员所使用的编码技巧,涵盖了IBM和UNIX系统,真正做到了C语言学习的寓教于乐,对于想要了解更多C语言实现、实用技巧以及C语言奇闻异事的读者来说,本书是必备读物。
c专家编程pdf图片预览
目录介绍
第1章C:穿越时空的迷雾1
1.1C语言的史前阶段1
1.2C语言的早期体验4
1.3标准I/O库和C预处理器5
1.4K&RC8
1.5今日之ANSIC10
1.6它很棒,但它符合标准吗12
1.7编译限制14
1.8ANSIC标准的结构15
1.9阅读ANSIC标准,寻找乐趣和裨益18
1.10“安静的改变”究竟有多少安静22
1.11轻松一下——由编译器定义的Pragmas效果25
第2章这不是Bug,而是语言特性27
2.1这关语言特性何事,在Fortran里这就是Bug呀27
2.2多做之过29
2.3误做之过36
2.4少做之过43
2.5轻松一下——有些特性确实就是Bug51
第3章分析C语言的声明53
3.1只有编译器才会喜欢的语法54
3.2声明是如何形成的56
3.3优先级规则61
3.4通过图表分析C语言的声明63
3.5typedef可以成为你的朋友65
3.6typedefintx[10]和#definexint[10]的区别66
3.7typedefstructfoo{...foo;}的含义67
3.8理解所有分析过程的代码段69
3.9轻松一下——驱动物理实体的软件71
第4章令人震惊的事实:数组和指针并不相同79
4.1数组并非指针79
4.2我的代码为什么无法运行79
4.3什么是声明,什么是定义80
4.4使声明与定义相匹配84
4.5数组和指针的其他区别84
4.6轻松一下——回文的乐趣85
第5章对链接的思考89
5.1函数库、链接和载入89
5.2动态链接的优点92
5.3函数库链接的5个特殊秘密95
5.4警惕Interpositioning99
5.5产生链接器报告文件104
5.6轻松一下——看看谁在说话:挑战Turing测验105
第6章运动的诗章:运行时数据结构111
6.1a.out及其传说112
6.2段113
6.3操作系统在a.out文件里干了些什么115
6.4C语言运行时系统在a.out里干了些什么117
6.5当函数被调用时发生了什么:过程活动记录119
6.6auto和static关键字123
6.7控制线程124
6.8setjmp和longjmp124
6.9UNIX中的堆栈段126
6.10MS-DOS中的堆栈段126
6.11有用的C语言工具127
6.12轻松一下——卡耐基·梅隆大学的编程难题130
6.13只适用于高级学员阅读的材料132
第7章对内存的思考133
7.1Intel80x86系列133
7.2Intel80x86内存模型以及它的工作原理137
7.3虚拟内存141
7.4cache存储器144
7.5数据段和堆148
7.6内存泄漏149
7.7总线错误153
7.8轻松一下——“ThingKing”和“页面游戏”159
第8章为什么程序员无法分清万圣节和圣诞节163
8.1Portzebie度量衡系统163
8.2根据位模式构筑图形164
8.3在等待时类型发生了变化166
8.4原型之痛168
8.5原型在什么地方会失败170
8.6不需要按回车键就能得到一个字符173
8.7用C语言实现有限状态机177
8.8软件比硬件更困难178
8.9如何进行强制类型转换,为何要进行类型强制转换181
8.10轻松一下——国际C语言混乱代码大赛183
第9章再论数组193
9.1什么时候数组与指针相同193
9.2为什么会发生混淆194
9.3为什么C语言把数组形参当作指针199
9.4数组片段的下标202
9.5数组和指针可交换性的总结203
9.6C语言的多维数组203
9.7轻松一下——软件/硬件平衡209
第10章再论指针213
10.1多维数组的内存布局213
10.2指针数组就是Iliffe向量214
10.3在锯齿状数组上使用指针217
10.4向函数传递一个一维数组220
10.5使用指针向函数传递一个多维数组221
10.6使用指针从函数返回一个数组224
10.7使用指针创建和使用动态数组226
10.8轻松一下——程序检验的限制231
第11章你懂得C,所以C++不在话下235
11.1初识OOP235
11.2抽象——取事物的本质特性237
11.3封装——把相关的类型、数据和函数组合在一起238
11.4展示一些类——用户定义类型享有和预定义类型一样的权限239
11.5访问控制240
11.6声明241
11.7如何调用成员函数243
11.8继承——复用已经定义的操作245
11.9多重继承——从两个或更多的基类派生249
11.10重载——作用于不同类型的同一操作具有相同的名字250
11.11C++如何进行操作符重载250
11.12C++的输入/输出(I/O)251
11.13多态——运行时绑定252
11.14解释253
11.15C++如何表现多态254
11.16新奇玩意儿——多态255
11.17C++的其他要点256
11.18如果我的目标是那里,我不会从这里起步257
11.19它或许过于复杂,但却是唯一可行的方案259
11.20轻松一下——死亡计算机协会263
11.21更多阅读材料264
附录A程序员工作面试的秘密265
内容提要
《C专家编程》展示了优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。
《C专家编程》对C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。本书撷取几十个实例进行讲解,对C程序员具有非常高的实用价值。
《C专家编程》可以帮助有一定经验的C程序员成为C编程方面的专家;对于C语言功底深厚的程序员,本书可以帮助他们站在C的高度了解和学习C++。
作者介绍
Peter van der Linden,Sun公司编译器和OS核心开发团队成员,世界知名的专家级C程序员,拥有多年的C开发实战经验,对C/C++语言有深入理解。
推荐理由
这是一本非常与众不同的C语言图书,本书采用轻松、对话式的方式,介绍了作者在实践经验中总结出的许多令人吃惊的案例:聽
将太空探测器炸毁到金星的软件;聽
能关闭整个AT&T电话系统的C语言bug;聽
C程序员工作面试的秘密;聽
程序员为什么分不清万圣节和圣诞节;聽
一个完整的BASIC解释器的C代码。聽
本书揭示了世界上卓-越的C程序员使用的编码技术。本书尽管以C语言为主题,但还是对C++进行了简单介绍。C程序员无须花费数周的时间就可以理解这些C++知识。聽
本书涵盖了IBM和UNIX系统,真正做到了C语言学习的寓教于乐,对于想要了解更多C语言实现、实用技巧以及C语言奇闻异事的读者来说,本书是必备读物。
下载体验