C语言核心技术
C语言核心技术
Peter Prinz, Tony Crawford
O'Reilly Taiwan公司 译
出版时间:2007年08月
页数:589
C程序员在编写程序时手头一定要有这本书。在这本书中,C 语言专家 Peter Prinz和Tony Crawford为你提供大量的编程参考信息。全书叙述清晰,语句简洁,分析深刻。本书主题包括:
●C 语言的语法
●GNU编译器选项
●标准链接库函数
●GDB和make
●预处理指令
●C99特色和扩充
本书内容丰富,总共包含21章,能够让你深刻了解C 语言关键概念,比如类型转换、动态内存管理、指针处理等。想知道 GNU make 或 GNU 调试器的细节吗?本书开辟专门的章节来讲解。一书在手,程序开发会更加顺利!Peter 和 Tony 所编写的这本书会成为C语言程序员必备的工作利器!
“这本书覆盖你希望知道的关于 C语言的一切知识。本书作者完成了一项相当杰出的任务,把语言、标准链接库以及一些重要工具的用法都包含其中。”
—Kyle Loudon,Yahoo!资深工程师
“本书精选的范例非常有利于读者学习,这比苍白的语言叙述更加有效。这本书不会被放在书架上落灰尘,因为你需要常常翻阅它。”
—Matthias Kalle Dalheimer,Klaralvdalens Datakonsult AB,董事长兼首席执行官
“25年来我始终使用C语言编写程序,这本书是我见过的这方面最清楚,最完整的书。所有知识点都使用准确的语言和有序的方式进行描述,这是程序员希望看到的。”
—Matt Crawford,Wide Area Systems,Fermilab,集团领导人
“结合阅读和参考双重功效,你不能错过这本书。这本书可以让你与时俱进,让你的 C 语言编程能力紧跟最新的C99 标准。”
—Dave Kitabjian,NetCarrier, Inc., 软件开发经理
  1. 前言
  2. 第一部分 语言
  3. 第1章 C语言基础
  4. C语言特性
  5. C程序的结构
  6. 源代码文件
  7. 注释
  8. 字符集
  9. 标识符
  10. C编译器运行原理
  11. 第2章 数据类型
  12. 数据类型分类
  13. 整数数据类型
  14. 浮点数据类型
  15. 复数浮点数据类型(C99)
  16. 枚举数据类型
  17. void数据类型
  18. 第3章 字面值
  19. 整数常量
  20. 浮点常量
  21. 字符常量
  22. 字符串字面值
  23. 第4章 类型转换
  24. 算术类型的转换
  25. 非算术类型的转换
  26. 第5章 表达式和运算符
  27. 计算表达式
  28. 运算符全面剖析
  29. 常量表达式
  30. 第6章 语句
  31. 表达式语句
  32. 语句块
  33. 循环
  34. 选择语句
  35. 无条件跳转
  36. 第7章 函数
  37. 函数定义
  38. 函数声明
  39. 函数如何被执行
  40. 指针当作自变量和返回值
  41. Inline函数
  42. 递归函数
  43. 可选性自变量
  44. 第8章 数组
  45. 定义数组
  46. 存取数组元素
  47. 初始化数组
  48. 字符串
  49. 多维数组
  50. 数组作为函数的自变量
  51. 第9章 指针
  52. 声明指针
  53. 指针的运算
  54. 指针和类型的限定符
  55. “数组的指针”和“指针的数组”
  56. 指向函数的指针
  57. 第10章 结构、联合、位字段
  58. 结构
  59. 联合
  60. 位字段
  61. 第11章 声明
  62. 一般语法
  63. 类型名称
  64. typedef声明
  65. 标识符的链接
  66. 对象的生存周期
  67. 初始化
  68. 第12章 动态内存管理
  69. 已分配内存的特性
  70. 调整内存大小和释放内存
  71. 通用的二叉树
  72. 特性
  73. 实践
  74. 第13章 输入和输出
  75. 文件
  76. 打开和关闭文件
  77. 读操作和写操作
  78. 文件随机访问
  79. 第14章 预处理指令
  80. 插入头文件的内容
  81. 定义和使用宏
  82. 条件式编译
  83. 定义行号
  84. 产生错误信息
  85. #pragma预处理指令
  86. _Pragma运算符
  87. 预定义的宏
  88. 第二部分 标准链接库
  89. 第15章 标准头文件
  90. 使用标准头文件
  91. 标准头文件的内容
  92. 第16章 函数简介
  93. 输入和输出
  94. 数学函数
  95. 字符分类和转换
  96. 字符串处理
  97. 多字节字符
  98. 在数字和字符串之间转换
  99. 搜索和排序
  100. 内存区域处理
  101. 动态内存管理
  102. 日期和时间
  103. 进程控制
  104. 国际化
  105. 非局部性跳转
  106. 调试
  107. 错误信息
  108. 第17章 标准链接库函数
  109. 第三部分 基本工具
  110. 第18章 GCC编译器
  111. GNU 编译器集合
  112. 获取和安装GCC
  113. 使用GCC编译C程序
  114. C 方言
  115. 编译器警告
  116. 优化
  117. 调试
  118. 剖析
  119. 选项和环境变量汇总
  120. 第19章 使用make创建C程序
  121. 目标、前提和命令
  122. Makefile
  123. 注释
  124. 伪目标
  125. 其他目标属性
  126. 函数
  127. 预处理指令
  128. 执行make
  129. 第20章 使用GDB调试C程序
  130. 安装GDB
  131. 调试过程范例
  132. 启动GDB
  133. 使用GDB命令
书名:C语言核心技术
译者:O'Reilly Taiwan公司 译
国内出版社:机械工业出版社
出版时间:2007年08月
页数:589
书号:978-7-111-22050-3
原版书出版商:O'Reilly Media
Peter Prinz
 
Peter Prinz是积极的研讨会组织者和关键课程开发者,向成百上千的Unix和Windows系统开发者授课。作为德国IT公司Authensis AG的主要开发者和合伙人,他拥有计算机电话通信软件的丰富开发经验。Peter也是多本有关C/C++软件开发图书的合著者,其中大多数图书是与Ulla Kirch-Prinz合著的,其中就包括O'Reilly出版的《C Pocket Reference》。
 
 
Tony Crawford
 
Tony Crawford是一个技术作家,具有很好的C语言功底。除了定期参与软件本地化项目之外,他还翻译很多有关网络管理和ATM的书籍,把德文版本的书籍和文章翻译成英文版本。
 
 
C in a Nutshell的封面动物是个母牛,从广义上讲,它是熟知的Western或者European牛的一个驯养的种群(Bos taurus)。在术语定义中,单词“牛”指的是一个成熟的母牛(或者专指已经生犊的母牛),而不是小母牛(年轻的母牛),食用牛(阉割的公牛)或者公牛(未被阉割的公牛)。
所有驯养的牛都是从欧洲野牛演化的,这是一种远古的、带长角的牛,有六英尺高,大概有犀牛的一半那么大。现在,欧洲野牛的头是罗马尼亚武装部队和高加索旗帜的盾徽,这个传统可以追溯到1359年Bogdan一世的皇家旗帜,Bogdan一世是Bogdania(后来更名为摩尔多瓦)的罗马尼亚公国的创立者。旧石器时代欧洲的壁画有这个动物的身体侧面,也可以在有些电子游戏中看到虚构的形象;多个世纪以来,在很多国家,欧洲野牛已经成为人们敬畏和崇拜的对象。
据说,在200万年以前,欧洲野牛起源于印度;随着时间的流逝,它们逐渐出现在相邻的大陆上,并被驯养和进化为至少三种不同的种群。在8000到10000年以前,高加索南部和美索不达米亚北部开始出现驯养的欧洲野牛;欧洲的牛就是衍生自这个种群。在中世纪,欧洲的东部森林还存在数量很少的野生的欧洲野牛,据说在1627年,最后一只被一个偷猎者所捕杀。在19世纪早期,使用诸如高原牛(Highland Cattle)等原始变种,德国曾经尝试繁殖和放生欧洲野牛(受达尔文之前返祖概念的影响);最终繁衍出熟知的Heck Cattle。
在哥伦比亚的第二次航海历程中,他把欧洲牛带到美洲,现在美洲出现成百上千的品种。只有雄性牛才有角,其实这是个经常出现的误解;实际上,雄性牛和雌性牛天生都有角(只有很少种群的角被磨掉了,或者根本就没有角)。之所以很少见到非公牛有角,原因是年幼的母牛会在牛角长大之前就会把它磨掉。
牛角外层由很多角蛋白组成,曾经在出版的书籍或者字母表中使用。在欧洲的15到17世纪以及殖民时代的美洲,文字是在某种特殊的纸张或者羊皮纸上书写的,外面包装一只木制的板子,并且纸张表面覆盖一层薄薄的透明的物质,这就是牛角。这个木板像个很小的船桨(把柄处有孔,以便于把书和板子系起来),这样书籍会更加牢固,便于多人使用和传阅。牛角保护层延长了纸张的寿命(当时,纸张是非常匮乏和昂贵的资源),因此人们把这种书籍称为:牛角书。