目录 1
第一章 引论 1
第一节 C语言的发展及特点 1
第二节 C语言程序一览 3
第三节 C语言程序编译和运行 12
第四节 标准C语言的基本词法及语法成分 15
第五节 语法规则的表示 19
第六节 小结 20
练习 21
第二章 变量、常量、类型及其转换 23
第一节 标识符 23
第二节 基本数据类型和变量说明 24
第三节 const和volatile 32
第四节 常量 35
第五节 字符串直接量 42
第六节 类型转换 44
第七节 小结 49
练习 50
第三章 表达式与运算符 52
第一节 表达式和简单赋值运算符 52
第二节 基本类型初始化 56
第三节 基本算术运算符 57
第四节 关系运算符与相等性比较运算符 61
第五节 移位运算符 62
第六节 按位运算符 63
第七节 逻辑运算符 65
第八节 增量运算符 66
第九节 条件运算符 69
第十节 复合赋值运算符 71
第十一节 运算符优先级与结合性 73
第十二节 副作用与序点 75
第十三节 小结 77
练习 78
第四章 语句与控制流 81
第一节 表达式语句 81
第二节 复合语句 82
第三节 选择语句之一——if语句 83
第四节 迭代语句之一——whle语句 88
第五节 迭代语句之二——for语句 91
第六节 迭代语句之三——do-while语句 95
第七节 标号语句和转向语句 96
第八节 选择语句之二——switch语句 101
第九节 小结 104
练习 105
第一节 函数定义 108
第五章 函数 108
第二节 函数返回值的类型及其说明 114
第三节 函数调用与说明 123
第四节 函数模型 135
第五节 参数个数可变及前导文件<stdarg.h> 138
第六节 递归函数与函数的递归调用 144
第七节 C语言的分程序结构与辖域 154
第八节 C语言程序的部分编译 157
第九节 小结 160
练习 161
第六章 数据存储类 163
第一节 自动类和寄存器类 163
第二节 外部类 165
第三节 静态类 170
第四节 静态及外部类数据的初始化 174
第五节 类型定义 175
第六节 标识符 177
第七节 小结 183
练习 183
第七章 数组和指针 186
第一节 数组的说明和使用 186
第二节 指针和地址 190
第三节 指针和数组 202
第四节 字符指针和字符串 210
第五节 构造复杂的数据类型 213
第六节 命令行参数 225
第七节 小结 228
练习 229
第八章 结构、联合和枚举 231
第一节 结构的说明和使用 231
第二节 位域(bitfield)和结构的存储映象 243
第三节 结构的自我引用 246
第四节 联合类型 255
第五节 不完整的结构或联合区分符 258
第六节 聚集数据结构的初始化 260
第七节 枚举类型 265
第八节 小结 268
练习 269
第九章 预处理 271
第一节 简单宏定义和宏替换 271
第二节 带参数的宏定义 275
第三节 #include预处理 281
第四节 条件蕴含 283
第五节 行控制 285
第六节 #error预处理 286
第七节 #pragma预处理 286
第八节 预处理程序提供的宏定义 286
练习 287
第九节 小结 287
第十章 输入/输出和文件处理 289
第一节 文件与数据流 289
第二节 基本文件操作 292
第三节 文件处理举例 304
第四节 格式输入/输出函数 313
第五节 小结 323
练习 323
第十一章 标准函数库 326
第一节 公共定义<stddef.h> 328
第二节 可变参数的宏处理<stdarg.h> 329
第三节 标准输入/输出函数库<stdio.h> 330
第四节 常用函数库<stdlib.h> 342
第五节 程序断言诊断<assert.h> 350
第六节 字符处理<ctype.h> 350
第七节 字符串处理<string.h> 353
第八节 中断信号处理<signal.h> 359
第九节 非局部转移<setjmp.h> 362
第十节 数学函数库<math.h> 365
第十一节 日期与时间<time.h> 369
第十二节 整型量大小的限制参数<limits.h> 375
第十三节 浮点类型的特征参数<float.h> 376
第十四节 地方特性<locale.h> 378
第十五节 小结 379
练习 380
附录 381
附录A C语法汇总 381
附录B 前导文件及库函数汇总 394
附录C ANSI C标准草案与现有C编译版本对照 403
附录D 中英文术语对照表 405
参考文献 409