目录 1
前言 1
第一章 C语言的特点和基本词法规则 1
1.1 C语言的演变及特点 1
1.2 C语言程序的编写和运行 5
1.3 C语言程序的结构 8
1.4 C语言的词汇和词法规则 10
1.5 小结 15
习题 16
第二章 C语言程序设计初步 18
2.1 变量、表达式和赋值 18
2.2 预处理语句#define和#include 21
2.3 格式输入/输出函数printf和scanf 24
2.4 控制流及语句 28
2.5 字符输入/输出函数getchar和putchar 35
2.6 函数 40
2.7 数组、字符串和指针 43
2.8 小结 53
习题 54
第三章 变量与常量 57
3.1 变量的说明 57
3.2 整数类型 58
3.3 浮点类型 61
3.4 字符类型 64
3.5 常量 68
3.6 类型的长度和sizeof运算符 71
3.7 小结 72
习题 73
4.1 表达式、语句和赋值 75
第四章 运算符与表达式 75
4.2 类型转换和强制运算符 79
4.3 算术运算符 81
4.4 增1和减1运算符 86
4.5 赋值表达式 89
4.6 关系运算符和逻辑运算符 90
4.7 字位运算符 94
4.8 表达式的求值 97
4.9 小结 99
习题 102
第五章 语句与控制流 107
5.1 复合语句 107
5.2 条件分支语句 110
5.3 循环语句 117
5.4 无条件分支语句 124
5.5 释例 128
5.6 小结 131
习题 132
第六章 函数 136
6.1 函数定义 136
6.2 返回及return语句 140
6.3 函数的应用 145
6.4 作用域规则 150
6.5 存储类 153
6.6 小结 161
习题 162
第七章 数组和指针 167
7.1 一维数组 167
7.2 释例:数组的应用 171
7.3 指针 174
7.4 指针运算 184
7.5 指针与数组 187
7.6 指针、数组与函数 191
7.7 字符数组与字符串处理 203
7.8 多维数组 209
7.9 指针数组与命令行参数 211
7.10 不规整数组 216
7.11 小结 218
习题 219
第八章 递归函数与递归调用 227
8.1 递归函数与函数的递归调用 227
8.2 递归与迭代 231
8.3 函数用作自变量 241
8.4 小结 247
习题 248
第九章 结构 253
9.1 结构的表示和意义 254
9.2 结构成员的引用及操作 257
9.3 结构与函数 263
9.4 结构与数组 277
9.5 结构置初值 283
9.6 小结 293
习题 294
第十章 结构及表处理 296
10.1 引用自身的结构 296
10.2 线性链接表及其操作 299
10.3 栈及其操作 310
10.4 队列及其操作 318
10.5 树 320
10.6 小结 330
习题 331
11.1 联合 335
第十一章 联合、枚举和typedef 335
11.2 枚举类型 340
11.3 类型定义 351
11.4 位段 355
11.5 小结 361
习题 362
第十二章 预处理程序 367
12.1 宏定义与宏替换 367
12.2 文件包含 379
12.3 条件编译 381
12.4 行号控制 386
12.5 释例 387
12.6 小结 390
习题 391
第十三章 输入/输出和UNIX系统环境 393
13.1 标准库与标准输入/输出文件 394
13.2 标准文件的字符输入/输出和格式输入/输出 395
13.3 输入/输出改向和管道线 408
13.4 一般文件输入/输出 411
13.5 字符串输入/输出及其它 422
13.6 前导文件ctype.h及其操作 426
13.7 低级输入/输出和UNIX环境 432
13.8 释例:用系统调用来编制程序 441
13.9 C语言程序的编译和检验 452
13.10 小结 456
习题 457
附录 460
附录A 操作系统服务子程序 460
附录B 输入/输出及通用库函数 466
附录C 数学库函数 480
参考文献 483