第1章 初步介绍 1
1.1 什么是C语言 1
1.2 C语言的特点 2
1.3 编程和运行 4
1.4 程序输出 6
1.5 语法规则 9
1.6 单词和词法 11
1.7 习题 18
第2章 C的概述 20
2.1 变量、表达式和赋值 20
2.2 预处理语句#define和#include 23
2.3 格式输入/输出函数printf和scanf 28
2.4 控制流 31
2.5 字符输入/输出函数getchar和putchar 40
2.6 函数 46
2.7 数组、字符串和指针 51
2.8 文件 64
2.9 实例 69
2.10 小结 72
2.11 习题 74
第3章 数据类型 77
3.1 基本数据类型 77
3.2 变量的说明 78
3.3 整数类型 80
3.4 浮点类型 83
3.5 字符类型 86
3.6 常量 89
3.7 小结 93
3.8 习题 94
4.1 表达式、语句和赋值 97
第4章 运算符和表达式 97
4.2 算术运算符 100
4.3 加1和减1运算符 103
4.4 赋值运算符 106
4.5 类型转换和强制运算符 108
4.6 求值顺序 111
4.7 关系运算符和表达式 112
4.8 逻辑运算符和表达式 117
4.9 条件运算符 121
4.10 按位运算符和表达式 122
4.11 小结 129
4.12 习题 131
第5章 控制流 136
5.1 复合语句 136
5.3 if和if_else语句 137
5.2 空语句 137
5.4 while语句 143
5.5 for语句 145
5.6 实例 147
5.7 逗号运算符 154
5.8 do语句 155
5.9 switch语句 157
5.10 break和continue语句 159
5.11 goto语句 160
5.12 小结 162
5.13 习题 163
第6章 函数 173
6.1 函数定义 173
6.2 return语句 176
6.3 函数的调用 181
6.4 作用域规则 185
6.5 存储类型 188
6.6 递归 196
6.7 预处理程序 200
6.8 小结 208
6.9 习题 210
第7章 指针和数组 218
7.1 指针 218
7.2 指针运算 222
7.3 一维数组 224
7.4 指针与数组 227
7.5 函数的指针参数 228
7.6 函数的数组参数 231
7.7 实例 233
7.8 字符串 244
7.9 多维数组 251
7.10 指针数组 254
7.11 指向函数的指针 258
7.12 命令行参数 263
7.13 不等长数组 265
7.14 小结 267
7.15 习题 268
第8章 结构、联合和枚举 278
8.1 typedef的应用 278
8.2 结构 281
8.3 结构成员的存取 284
8.4 结构与函数 287
8.5 运算符总结 291
8.6 联合 298
8.7 字段 301
8.8 结构的初始化 303
8.9 枚举类型 304
8.10 实例 313
8.11 小结 316
8.12 习题 318
第9章 结构和表处理 324
9.1 引用自身的结构 324
9.2 线性链表 326
9.3 线性链表的操作 328
9.4 表处理函数 332
9.5 栈 338
9.6 二叉树 344
9.7 普通链表 350
9.8 小结 355
9.9 习题 356
第10章 输入/输出和UNIX环境 363
10.1 标准库和标准I/O文件 363
10.3 格式输出函数printf() 364
10.2 字符输入/输出 364
10.4 格式输入函数scanf() 370
10.5 函数fprintf(),sprintf(),fscanf()和sscanf() 373
10.6 文件 374
10.7 前导文件ctype.h 381
10.8 文件描述字和低级输入/输出 387
10.9 输入输出的改向和管道 392
10.10 C编译程序和验证程序 400
10.11 C的前景 407
10.12 小结 408
10.13 习题 410
附录Ⅰ 414
附录Ⅱ 415
附录Ⅲ 418
参考文献 418