当前位置:主页 > 书籍配套资源 > C语言配套资源
《C语言核心技术(原书第2版)》源码

《C语言核心技术(原书第2版)》源码

  • 更新:2022-02-28
  • 大小:32.5 MB
  • 类别:C语言
  • 作者:彼得?普林茨
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

相信很多工科专业的同仁与我一样,在入门编程时学习的第一门编程语言就是C语言。这是大学本科几乎全部理工专业必修的一门课程。随着技术的不断发展,编程已经从“程序开发”演变为“与机器交流”,新语言、新工具层出不穷。然而,通过C语言打下的基础仿佛内化为了一种认知模式,只要从事与编程相关的工作,那些语法概念、算法模型和编译方式总能帮助我更快地摸索新语言与新工具的特性,理解它们的运行机理,然后运用它们完成任务。

具体领域中的程序开发,很多情况下只会对部分语言特性或者说特定的几个函数库有非常深入的应用,例如,在工业智能元件程序开发过程中,我的大量时间花费在处理运算效率和硬件通信上。“工欲善其事,必先利其器”,当程序员要用到语言的更高级特性、更深层机理时,迫切所需的是一本“集大成”的工具书。它应该具有这样的特点:在宏观上脉络清晰、可读性好,在微观上具体细致、操作性强,使得程序员可以快速查阅所需知识在语言体系上的“分支”,并通过实例举一反三,高效解决当前问题。本书则是这样一种针对C程序员的非常理想的“生产力工具”。
本书为《C语言核心技术》的第2版。在第1版基础上,第2版增加了ISO/IEC 9899:2011(简称为C11)的新特性,例如多线程、泛型宏、安全函数等。全书共包括三个部分:

第一部分介绍C语言基础知识,包括基本概念、数据类型、语句、函数、数组、指针、输入/输出与多线程等。与入门类书籍相比,本书更为侧重语法的内部机理,讲述了很多语法规则的“来龙去脉”,深入浅出、易于理解。
第二部分介绍C语言标准链接库,包括标准头与标准链接库函数。读者可以快速查阅到主要应用领域下的标准链接库函数。

第三部分介绍C语言编程工具的基础知识,包括GCC、make、GDB与IDE。在介绍工具的同时,还阐述了C程序编译与调试的机理,对于在Unix、Linux下进行C语言开发的读者尤其具有参考价值。

本书作者Peter Prinz是一名研讨会领导者和关键课程开发者,他向数以千计的软件开发人员教授Unix和Windows系统技术,同时也是多本有关C/C++软件开发书籍的作者。本书另一位作者Tony Crawford,是一名来自德国柏林的自由作家、编辑与译者。虽然本书内容全面、篇幅较大,但两位作者逻辑清晰、用词严谨,在深入浅出地介绍语法机理与函数功能的同时,配合以大量极富价值的示例代码,充分展现了他们深厚的理论功底与丰富的实践经验。

本书的翻译能够顺利完成,得益于家人与朋友的鼎力支持,在此深表谢意。特别要感谢我的妻子刘昱,当我遇到难译词句时,她凭借同传的丰富经验,从翻译技巧方面给予了耐心的指导与帮助。同时,在我埋头工作时,她悉心照料起居,让我得以专心致志。另外,在本书的翻译出版过程中,还得到了机械工业出版社华章公司的大力相助,特此表示衷心感谢。

本书包含C语言的方方面面,其内容的全面性与深刻性给翻译工作带来了巨大挑战。为了力求准确无误地表达作者原意,虽然查阅了大量资料、仔细求证、反复斟酌,但难免会有疏漏之处,望广大读者批评指正。

封面图

目录

  • 前言 1
  • 第一部分 语言
  • 第1章 C语言基础 11
  • 1.1 C语言特性 11
  • 1.2 C语言程序的结构 12
  • 1.3 源代码文件 14
  • 1.4 注释 15
  • 1.5 字符集 16
  • 1.6 标识符 22
  • 1.7 C编译器运行原理 26
  • 第2章 数据类型 29
  • 2.1 数据类型分类 29
  • 2.2 整数类型 30
  • 2.3 浮点类型 36
  • 2.4 复数浮点类型 38
  • 2.5 枚举类型 39
  • 2.6 void类型 40
  • 2.7 对象在内存中的对齐方式 41
  • 第3章 字面量 43
  • 3.1 整数常量 43
  • 3.2 浮点常量 44
  • 3.3 字符常量 46
  • 3.4 字符串字面量 49
  • 第4章 类型转换 53
  • 4.1 算术类型的转换 54
  • 4.2 非算术类型的转换 61
  • 第5章 表达式和运算符 69
  • 5.1 如何计算表达式 70
  • 5.2 运算符细节 75
  • 5.3 常量表达式 98
  • 第6章 语句 100
  • 6.1 表达式语句 100
  • 6.2 语句块 101
  • 6.3 循环 102
  • 6.4 选择语句 106
  • 6.5 无条件跳转 110
  • 第7章 函数 114
  • 7.1 函数定义 114
  • 7.2 函数声明 121
  • 7.3 函数如何被执行 122
  • 7.4 指针作为参数和返回值 122
  • 7.5 内联函数 124
  • 7.6 无返回函数 125
  • 7.7 递归函数 126
  • 7.8 可变参数函数 127
  • 第8章 数组 129
  • 8.1 定义数组 129
  • 8.2 获取数组元素 131
  • 8.3 初始化数组 132
  • 8.4 字符串 134
  • 8.5 多维数组 136
  • 8.6 数组作为函数参数 138
  • 第9章 指针 140
  • 9.1 声明指针 140
  • 9.2 指针运算 143
  • 9.3 指针和类型限定符 147
  • 9.4 数组的指针和指针的数组 151
  • 9.5 指向函数的指针 155
  • 第10章 结构、联合与位字段 157
  • 10.1 结构 157
  • 10.2 联合 167
  • 10.3 匿名结构与联合 169
  • 10.4 位字段 170
  • 第11章 声明 173
  • 11.1 对象与函数声明 174
  • 11.2 类型名称 181
  • 11.3 typedef 声明 182
  • 11.4 _Static_assert 声明 184
  • 11.5 标识符的链接 185
  • 11.6 对象的存储周期 186
  • 11.7 初始化 187
  • 第12章 动态内存管理 190
  • 12.1 动态内存分配 190
  • 12.2 已分配内存的特性 192
  • 12.3 调整内存大小和释放内存 193
  • 12.4 通用二叉树 194
  • 12.5 特性 195
  • 12.6 二叉树的实现 195
  • 第13章 输入和输出 205
  • 13.1 流 205
  • 13.2 文件 207
  • 13.3 打开和关闭文件 209
  • 13.4 读操作和写操作 211
  • 13.5 文件随机访问 230
  • 第14章 多线程 233
  • 14.1 线程 233
  • 14.2 访问共享数据 238
  • 14.3 线程间的通信:条件变量 245
  • 14.4 线程对象和线程存储 249
  • 第15章 预处理命令 253
  • 15.1 插入头文件的内容 254
  • 15.2 定义和使用宏 256
  • 15.3 泛型宏 263
  • 15.4 条件式编译 264
  • 15.5 定义行号 266
  • 15.6 生成错误消息 266
  • 15.7 #pragma命令 267
  • 15.8 _Pragma运算符 267
  • 15.9 预定义的宏 268
  • 第二部分 标准库
  • 第16章 标准头 273
  • 16.1 使用标准头 273
  • 16.2 边界检查函数 277
  • 16.3 标准头的内容 278
  • 第17章 函数简介 308
  • 17.1 输入和输出 308
  • 17.2 数学函数 309
  • 17.3 字符分类和转换 316
  • 17.4 字符串处理 318
  • 17.5 多字节字符 319
  • 17.6 在数字与字符串之间转换 321
  • 17.7 搜索和排序 322
  • 17.8 内存区域处理 322
  • 17.9 动态内存管理 323
  • 17.10 日期和时间 323
  • 17.11 进程控制 324
  • 17.12 国际化 325
  • 17.13 非本地跳转 326
  • 17.14 多线程(C11) 327
  • 17.15 调试 331
  • 17.16 错误消息 331
  • 第18章 标准库函数 333
  • 第三部分 基本工具
  • 第19章 使用GCC编译C程序 673
  • 19.1 GNU编译器套件 673
  • 19.2 获取和安装GCC 674
  • 19.3 使用GCC编译C程序 675
  • 19.4C方言 685
  • 19.5 编译器警告 686
  • 19.6 优化 688
  • 19.7 调试 692
  • 19.8 剖析 692
  • 19.9 选项和环境变量汇总 692
  • 第20章 使用make构建C程序 698
  • 20.1 目标、依赖和命令 698
  • 20.2 Makefile 699
  • 20.3 规则 699
  • 20.4 注释 706
  • 20.5 变量 707
  • 20.6 伪目标 714
  • 20.7 其他目标属性 716
  • 20.8 宏 717
  • 20.9 函数 718
  • 20.10 命令 722
  • 20.11 执行make命令 725
  • 第21章 使用GDB调试C程序 733
  • 21.1 安装GDB 733
  • 21.2 调试过程示例 734
  • 21.3 启动GDB 738
  • 21.4 使用GDB命令 743
  • 21.5 在GDB内分析核心文件 765
  • 第22章 使用IDE 767
  • 22.1 针对C语言的IDE 767
  • 22.2 针对C/C++的Eclipse IDE 768
  • 22.3 使用Eclipse开发一个C程序 770
  • 22.4 使用Eclipse调试一个C程序 773
  • 22.5 关于Eclipse的更多信息 775

资源下载

资源下载地址1:https://pan.baidu.com/s/1-0ZNOs9cwHvVryKxS19JAA

相关资源

网友留言