第1章 ANSI C概述 1
1.1 ANSI C 1
1.2 可提供帮助的编程技巧 2
第2章 C语言的变化 4
2.1 预处理器变化 4
2.2 无歧义标识符的变化 6
2.3 类型与类型兼容性 8
2.4 函数原型 11
2.5 外部名称变化 12
2.6 标准头文件 13
第3章 文法约定 15
3.1 注释 15
3.2 标识符 15
3.3 关键字 15
3.4 常量 16
3.5 字符串文字量 18
3.6 运算符 18
3.7 标点 19
第4章 标识符的意义 20
4.1 无歧义名称 20
4.2 对象类型 25
4.3 对象与左值 26
第5章 运算符转换 27
5.1 字符与整数的转换 27
5.2 单精度与双精度的转换 27
5.3 浮点型与整型的转换 27
5.4 指针类型与整型的转换 28
5.5 unsigned整型的转换 28
5.6 算术转换 28
5.7 其它操作数的转换 29
第6章 表达式与运算符 31
6.1 C语言中的优先级和结合性规则 31
6.2 基本表达式 32
6.3 后缀表达式 32
6.4 单目运算符 35
6.5 类型转换运算符 36
6.6 乘法运算符 36
6.7 加法运算符 37
6.8 移位运算符 37
6.9 关系运算符 38
6.10 等号运算符 38
6.11 按位与运算符 39
6.12 按位 异或运算符(AND) 39
6.13 按位或运算符 39
6.14 逻辑与运算符 39
6.15 逻辑或运算符 40
6.16 条件运算符 40
6.17 赋值运算符 41
6.18 逗号操作符 41
6.19 常量表达式 42
6.20 整数和浮点数的例外情况 42
第7章 声明 43
7.1 存储类说明符 43
7.2 类型说明符 44
7.3 结构和联合声明 45
7.4 位字段 47
7.5 枚举声明 48
7.6 类型限定符 48
7.7 声明符 49
7.8 类型名称 54
7.9 隐含声明符 55
7.10 typedef 55
7.11 初始化 56
第8章 语句 59
8.1 表达式语句 59
8.2 复合语句或块 59
8.3 选择语句 60
8.4 迭代语句 61
8.5 转移语句 62
8.6 标号语句 63
第9章 外部定义 64
9.1 外部函数定义 64
9.2 外部对象定义 65
第10章 多重处理指令 66
10.1 OpenMP C/C++API多重处理指令 66
10.2 使用并行区 67
10.3 并行区 68
10.4 C与C++中的并行归纳操作 69
10.5 对C++编译器的限制 72
第11章 多重处理的高级特性 75
11.1 运行时库例程 75
11.2 运行时环境变量 77
11.3 利用线程局部数据在线程间进行通信 78
11.4 同步化本征 80
第12章 在Origin服务器上并行编程 85
12.1 在Origin 2000服务器中调节并行程序的性能 85
12.2 数据分配类型 87
12.3 相似性安排 90
12.4 Origin 2000中的性能调节命令 92
12.5 被分配数组的查询本征 93
12.6 可选环境变量和编译时选项 93
12.7 示例 94
第13章 自动并行选项(APO) 99
附录A 定义实现的行为 100
A.1 翻译(F.3.1) 100
A.2 环境(F.3.2) 101
A.3 标识符(F.3.3) 101
A.4 字符(F.3.4) 101
A.5 整数(F.3.5) 102
A.6 浮点数(F.3.6) 103
A.7 数组和指针(F.3.7) 104
A.8 寄存器(F.3.8) 104
A.9 结构、联合、枚举和位段(F.3.9) 105
A.10 限定词(F.3.10) 106
A.11 说明符(F.3.11) 106
A.12 语句(F.3.12) 106
A.13 预处理命令(F.3.13) 106
A.14 库函数(F.3.14) 107
A.15 地域指定[Locale-specific]的行为(F.4) 120
A.16 公共扩充(F.5) 121
附录B Lint风格的注释 124
附录C 内部函数 125