C语言核心技术,第二版 [德] Peter Prinz著 袁野译 PDF下载

转载至:  https://www.jb51.net/books/664775.html

下载链接: 

下载声明:  本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!

本书是一本关于C编程语言与C语言链接库的完整参考手册。作为一本阐述核心技术(In a Nutshell)的书,它的目的是在日常工作中为C语言程序员提供方便、可靠的辅助作用。本书介绍了C语言的所有元素,并通过大量的示例展示了这些元素的用法。

最新的C语言规范是2011年发布的C语言国际标准,ISO/IEC 9899:2011,通常称为C11。该标准取代了C99标准(ISO/IEC 9899:1999)及其技术修正,这些修正包括2001年的TC1、2004年的TC2,以及2007年的TC3。第一个C语言国际标准于1990年发布,名为ISO/IEC 9899:1990,它于1995年增补了规范性附录1(ISO/IEC9899/AMD1:1995)。1990年的ISO/IEC标准对应于ANSI标准X3.159,后者于1989年发布,通常称为ANSI C或C89。

并非所有编译器以及标准库实现版本都支持2011年所发布C语言标准的新特性。因此,在本书中,我们会在2011年C语言标准的新特性上标注C11(例如多线程、泛型宏,以及新的标准库函数)。在C99标准所引入的扩展特性上标注C99。

本书不是针对C语言编程的入门书籍。虽然它涵盖了该语言的所有基础,但这些内容并非以教程的形式组织编写。如果你尚未接触过C语言,我们建议你先学习至少一本C语言入门书籍。如果你有其他编程语言的经验,例如Java或C++,也可以直接参考本书。

image.jpg

前言 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.4 C方言 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

打赏 支付宝打赏 微信打赏

如果文章对您有帮助,欢迎移至上方打赏按钮...

随手一点
  • 打酱油

    73人

  • 173人

  • 呵呵

    7人

  • 草泥马

    8人

文章评论 抢沙发