第一章 C语言概述 1
1.1 C语言的演变历史 1
1.2 C语言在计算机语言体系中的地位 2
1.3 C语言的特点 2
1.4 程序设计语言 3
1.4.1 程序设计语言的主要构成 3
1.4.2 程序设计语言的实现 4
1.4.3 为什么要研究和学习程序设计语言 5
习题 6
第二章 C语言简介 7
2.1 C语言的基本构成成分 7
2.1.1 字符集 7
2.1.2 保留字(关键字) 7
2.1.3 特定字 7
2.1.4 标识符 8
2.2 简单C程序实例 8
2.3 C程序的编辑、编译和执行 12
习题 16
第三章 基本数据类型 17
3.1 整型 17
3.1.1 整型常量 17
3.1.2 整型变量 18
3.1.3 整型数据的存储表示 19
3.2 字符型 19
3.2.1 字符型常量 19
3.2.2 字符型变量 20
3.2.3 字符型数据的存储表示 21
3.2.4 字符串常量 23
3.3 浮点型 24
3.3.1 浮点型常量 24
3.3.2 浮点型变量 24
3.3.3 浮点型数据的存储表示 25
3.4 双精度型 25
3.5 变量的初始化 26
习题 27
4.1 自动变量 28
第四章 存储类 28
4.2 寄存器变量 33
4.3 静态变量 34
4.4 外部变量 36
习题 38
第五章 运算符 40
5.1 C运算符简介 40
5.2 算术运算符和算术表达式 40
5.3 赋值运算符和赋值表达式 41
5.4 加1,减1运算符 42
5.5 混合运算和类型转换 43
5.6 逗号运算符和逗号表达式 46
习题 46
第六章 语句及控制结构 49
6.1 C语句概述 49
6.2 关系运算符和关系表达式 50
6.3 逻辑运算符和逻辑表达式 50
6.4 if语句 52
6.5.1 while循环 55
6.5 循环语句 55
6.5.2 do-while循环 58
6.5.3 for循环 59
6.6 goto语句及语句标号 62
6.7 switch语句及多路分支 63
习题 68
第七章 函数 71
7.1 函数和C程序结构 71
7.2 函数的构成及定义 72
7.3 函数的参数及返回值 72
7.3.1 形式参数和实际参数 72
7.3.2 函数的返回值 73
7.4 函数的调用 75
7.5 函数的类型及说明 76
7.6 函数的递归调用 79
习题 84
8.1.1 简单宏替换 91
8.1 宏替换 91
第八章 C预处理程序 91
8.1.2 带有参数的宏替换 93
8.2 文件包含 98
8.3 条件编译 99
习题 101
第九章 数组 104
9.1 数组的定义及引用数组元素 104
9.1.1 一维数组 104
9.1.2 二维数组 105
9.1.3 多维数组 106
9.2 数组的存储表示 106
9.3 数组的初始化 108
9.4 数组作为函数参数 108
9.4.1 函数参数的传递方式 108
9.4.2 数组名作为函数的参数 109
9.5 字符串变量 109
9.5.1 字符串变量的表示 109
9.5.2 字符串数组 110
9.5.3 常用字符串处理函数 111
习题 113
第十章 指针 116
10.1 指针和地址 116
10.2 指针变量、指针类型及指针运算 116
10.3 指针作为函数参数 118
10.4 指针和数组 120
10.5 指针数组 125
10.6 字符指针和字符串 128
10.7 返回指针的函数和指向函数的指针 131
10.8 指向指针的指针 134
10.9 指针初始化 136
10.10 main函数和命令行参数 138
10.11 指针小结 139
习题 141
第十一章 结构和联合 145
11.1 结构说明和结构变量 145
11.2 访问结构成员 147
11.3.1 结构数组的定义 148
11.3 结构数组和指向结构的指针 148
11.3.2 指向结构的指针 149
11.3.3 通过指向结构的指针访问结构成员 149
11.4 sizeof运算符和C的动态存储分配函数 151
11.5 结构作为函数的参数 153
11.6 结构的自引用 154
11.7 位域——存储空间的充分利用 157
11.8 联合 158
11.8.1 联合的说明 158
11.8.2 联合变量的引用方式 159
11.8.3 联合的特点 160
11.9 枚举类型 162
11.10 用typedef定义类型 163
习题 164
12.1 位及位运算的概念 167
12.2 位运算符 167
第十二章 位运算 167
12.3 位运算举例 169
习题 171
第十三章 I/O及有关库函数 173
13.1 控制台I/O 173
13.1.1 getchar和putchar 173
13.1.2 gets和puts 174
13.1.3 printf和scanf 175
13.2.2 文件类型及文件指针 179
13.2.1 C文件的概念 179
13.2 文件I/O 179
13.2.3 文件的打开和关闭 180
13.2.4 文件的读写 182
13.2.5 其它和文件有关的库函数 184
习题 188
附录Ⅰ ASCII字符编码表 191
附录Ⅱ C语言中的关键字 192
附录Ⅲ 运算符和结合性 193
附录Ⅳ C库函数 195