为你推荐
前言
第一篇 预备知识篇
第1章 C魔法概览
1.1 例说编程语言
1.2 用C语言编程的基本注意事项
1.3 主流C语言编译器介绍
1.4 关于GNU规范的语法扩展
1.5 用C语言构建一个可执行程序的流程
1.6 本章小结
第2章 学习C语言的预备知识
2.1 计算机体系结构简介
2.2 整数在计算机中的表示
2.3 浮点数在计算机中的表示
2.4 地址与字节对齐
2.5 字符编码
2.6 大端与小端
2.7 按位逻辑运算
2.8 移位操作
2.9 本章小结
第3章 C语言编程的环境搭建
3.1 Windows操作系统下搭建C语言编程环境
3.2 macOS系统下搭建C语言编程环境
3.3 本章小结
第二篇 基础语法篇
第4章 C语言中的基本元素
4.1 C语言中的字符集
4.2 C语言中的token
4.3 关于C语言中的“对象”
4.4 C语言中的“副作用”
4.5 C语言标准库中的printf函数
4.6 本章小结
第5章 基本数据类型
5.1 整数类型
5.2 浮点类型
5.3 数据精度与类型转换
5.4 C语言基本运算操作符
5.5 sizeof操作符
5.6 投射操作符
5.7 本章小结
第6章 用户自定义类型
6.1 枚举类型
6.2 结构体类型
6.3 联合体类型
6.4 位域
6.5 字节对齐与字节填充
6.6 复数类型
6.7 本章小结
第7章 C语言的数组与指针
7.1 一维数组
7.2 多维数组
7.3 变长数组
7.4 一级指针与对象地址
7.5 多级指针
7.6 指向用户自定义类型的指针
7.7 指针与数组的关系
7.8 指向数组的指针
7.9 void类型、指向void类型的指针与空指针
7.10 字符数组与字符串字面量
7.11 完整与不完整类型
7.12 灵活的数组成员
7.13 本章小结
第8章 C语言的控制流语句
8.1 逗号表达式
8.2 条件表达式
8.3 if-else语句
8.4 switch-case语句
8.5 while与do-while迭代语句
8.6 for迭代语句
8.7 goto语句
8.8 本章小结
第9章 C语言的函数
9.1 函数的声明与定义
9.2 函数调用与实现
9.3 数组类型作为函数形参
9.4 带有不定参数类型及个数的函数声明与调用
9.5 函数的递归调用
9.6 内联函数
9.7 函数的返回类型与无返回函数
9.8 指向函数的指针
9.9 C语言中的主函数main
9.10 函数与函数调用作为sizeof操作符
9.11 本章小结
第10章 C语言预处理器
10.1 宏定义
10.2 C语言中预定义的宏
10.3 条件预编译
10.4 源文件包含预处理指示符
10.5 #error预处理指示符
10.6 #line预处理指示符
10.7 #undef预处理指示符
10.8 pragma预编译指示符与操作符
10.9 空指示符与C语言中的程序注释
10.10 本章小结
第11章 C语言程序的编译上下文
11.1 C语言程序中的作用域和名字空间
11.2 全局对象与函数
11.3 静态对象与函数
11.4 局部对象
11.5 对象的存储与生命周期
11.6 _Thread_local对象
11.7 本章小结
第三篇 高级语法篇
第12章 C语言中的类型限定符
12.1 const限定符
12.2 volatile限定符
12.3 restrict限定符
12.4 _Atomic限定符
12.5 本章小结
第13章 C语言的类型系统
13.1 对象类型与函数类型
13.2 对声明符的进一步说明
13.3 更复杂的声明
13.4 typedef类型定义
13.5 本章小结
第14章 C11标准中的表达式、左值与求值顺序
14.1 常量表达式
14.2 泛型选择表达式
14.3 静态断言
14.4 C语言中的左值
14.5 C语言中表达式的求值顺序
14.6 C语言中的语句
14.7 本章小结
第15章 函数调用约定与ABI
15.1 Windows操作系统环境下x86处理器的函数调用约定
15.2 Unix/Linux操作系统环境下x86处理器的函数调用约定
15.3 ARM处理器环境下的函数调用约定
15.4 本章小结
第16章 创建静态库与动态库
16.1 Windows系统下创建静态库与动态库
16.2 macOS系统下创建静态库与动态库
16.3 Linux系统下创建并使用静态库与动态库
16.4 本章小结
第四篇 语法扩展篇
第17章 GCC对C11标准的语法扩展
17.1 在表达式中使用复合语句与声明
17.2 声明语句块作用域的跳转标签
17.3 跳转标签作为值
17.4 嵌套函数
17.5 使用typeof来获取对象类型
17.6 使用__auto_type做类型自动推导
17.7 对复数操作的扩展
17.8 半精度浮点类型
17.9 长度为零的数组
17.10 对可变参数个数的宏的语法扩展
17.11 case语句中使用范围表达式
17.12 投射到一个联合体类型
17.13 使用二进制整数字面量
17.14 使用__attribute__指定函数、对象与类型的属性
17.15 本章小结
第18章 Clang编译器对C11标准的扩展
18.1 特征检查宏
18.2 _Nullable与_Nonnull
18.3 函数重载
18.4 Blocks语法
18.5 本章小结
第19章 对C语言的未来展望
19.1 C语言中的属性
19.2 fallthrough属性
19.3 数组片段
19.4 其他语法特性
19.5 本章小结
第五篇 项目实践篇
第20章 制作UTF-8与UTF-16编码字符串的转码器
20.1 UTF-8字符编码格式
20.2 UTF-16字符编码格式
20.3 代码示例
20.4 本章小结
第21章 制作控制台计算器
21.1 对数字的解析
21.2 对操作符的优先级处理
21.3 代码示例
21.4 本章小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜