1.1 C语言的发展与特点 1
1.1.1 C语言的发展概况 1
第1章 C语言基础 1
1.1.2 C语言的特点 2
1.2 程序设计中的几个基本概念 3
1.2.1 程序 3
1.2.2 程序设计 4
1.2.3 算法 4
1.2.4 数据结构 4
1.2.5 软件工程的概念 4
1.3.1 字符集 5
1.3 C语言程序的结构 5
1.3.2 保留字 6
1.3.3 标识符 6
1.3.4 C语言的词类 7
1.4 C语言的基本语句 7
1.5 C语言程序的基本结构 8
1.6 C语言程序的编译与执行 11
本章小结 12
习题1 13
2.1.1 C语言的数据类型 15
第2章 数据类型及运算 15
2.1 数据类型基本概念 15
2.2 常量 17
2.2.1 数值常量 17
2.2.2 字符常量 18
2.2.3 字符串常量 19
2.3 变量及其常见类型 21
2.3.1 基本数据类型 22
2.3.2 变量的定义与初始化 23
2.3.3 数据类型间的转换 24
2.4.1 运算符和表达式概述 26
2.4 运算符和表达式 26
2.4.2 赋值运算符和赋值表达式 27
2.4.3 算术运算符和算术表达式 28
2.4.4 关系运算符和关系表达式 32
2.4.5 逻辑运算符和逻辑表达式 32
2.4.6 其他运算符 34
2.5 位运算 35
2.5.1 逻辑位运算 35
2.5.2 移位运算 36
本章小结 37
2.5.3 位运算与赋值运算组成复合赋值运算符 37
习题2 38
第3章 基本结构及其实现 41
3.1 结构化程序设计 41
3.1.1 程序的基本结构 41
3.2 顺序结构 43
3.2.1 赋值语句 43
3.2.2 输入输出库函数 44
3.2.3 顺序程序结构程序设计举例 54
3.3.1 选择结构if—else语句 56
3.3 选择结构 56
3.3.2 switch分支结构 66
3.4 循环结构 71
3.4.1 while循环语句 71
3.4.2 do while循环语句 75
3.4.3 for循环语句 76
3.4.4 三种循环语句的比较 80
3.4.5 辅助语句 81
3.4.6 多重循环 84
3.5.1 goto语句 88
3.5.2 用goto语句组成循环 88
3.5 goto语句 88
本章小结 89
习题3 89
第4章 数组 98
4.1 一维数组 98
4.1.1 一维数组的定义 98
4.1.2 一维数组的存储形式 99
4.1.3 一维数组元素的引用 99
4.1.4 一维数组的初始化 101
4.1.5 一维数组的应用 101
4.2.1 二维数组的定义 104
4.2 二维数组 104
4.2.2 二维数组的存储形式 105
4.2.3 二维数组元素的引用 105
4.2.4 二维数组的初始化 108
4.2.5 二维数组的应用 108
4.3 字符数组 110
4.3.1 字符数组处理字符串 110
4.3.2 多个字符串的存储 111
4.3.3 字符串的输入与输出 112
4.3.4 字符串处理函数 115
4.4 综合应用举例 117
习题4 125
本章小结 125
第5章 函数 128
5.1 概述 128
5.1.1 结构化程序设计简介 128
5.1.2 函数的分类 129
5.2 函数的定义与调用 129
5.2.1 函数的定义 129
5.2.2 函数的调用与返回 131
5.2.3 形式参数和实际参数 133
5.2.4 对被调函数的声明 134
5.3.1 函数的嵌套调用 136
5.3 函数的嵌套调用与递归调用 136
5.3.2 函数的递归调用 138
5.4 数组作函数的参数 139
5.4.1 数组元素作为函数参数 139
5.4.2 数组名作为函数的参数 140
5.4.3 多维数组元素作为函数参数 143
5.5 变量的作用域与存储属性 143
5.5.1 变量的作用域 144
5.5.2 变量的存储属性 147
5.5.3 存储类别汇总 152
5.6 内部函数和外部函数 153
5.7.1 宏定义 155
5.7 编译预处理 155
5.7.2 文件包含 158
本章小结 159
习题5 159
第6章 指针 162
6.1 指针的概念 162
6.1.1 指针变量的定义与使用 163
6.1.2 指针运算 165
6.2 指针与数组 166
6.2.1 指向一维数组的指针变量 166
6.2.2 指向二维数组的指针变量 170
6.2.3 指针数组 175
6.2.4 多级指针 176
6.3 指针与函数 178
6.3.1 指针作为函数的参数与返回指针值的指针函数 178
6.3.2 指向函数的指针 185
6.3.3 宏命令行参数的主函数 189
6.4 程序设计举例 190
本章小结 192
习题6 192
7.1.1 结构体类型的引入 197
第7章 结构体与共用体 197
7.1 结构体类型的定义 197
7.1.2 结构体类型的定义 198
7.1.3 定义结构体类型的变量 199
7.1.4 结构体类型变量成员的引用 201
7.1.5 结构体类型变量的初始化 203
7.2 结构体数组 204
7.2.1 结构体数组的定义 204
7.2.2 结构体数组初始化 204
7.2.3 结构体数组应用举例 205
7.3 结构体与指针 206
7.3.1 指向结构体变量的指针 207
7.3.2 指向结构体数组的指针 208
7.4 共用体 209
7.4.1 共用体概念 209
7.4.2 共用体成员的引用方式 211
7.4.3 共用体变量特点 212
7.5 枚举类型 214
7.6 用typedef定义类型 215
本章小结 217
习题7 218
8.1 文件概述 220
第8章 文件 220
8.2 文件类型指针 221
8.3 文件的打开与关闭 222
8.3.1 文件的打开(fopen函数) 222
8.3.2 文件的关闭(fclose函数) 223
8.4 文件的读写 224
8.4.1 读写一个字符 224
8.4.2 读写一个字符串 226
8.4.3 读取数据字段 227
8.4.4 文件的格式化读写 229
8.5.1 重定位函数rewind 231
8.5 文件的定位 231
8.5.2 fseek函数和随机读写 232
8.5.3 位置函数 235
8.6 出错的检测 235
本章小结 236
习题8 236
附录Ⅰ 常用字符与ASCII代码对应表 238
附录Ⅱ 运算符与运算结合性 239
附录Ⅲ Turbo C常用库函数 240