第1章 C语言概述 1
1.1 程序与程序设计 1
1.2 C语言的发展及其特点 2
1.3 C语言的基本语法 3
1.3.1 字符集 3
1.3.2 保留字 4
1.3.3 标识符 4
1.3.4 C语言的词类 4
1.4 C语言的基本语句 4
1.5 C程序的基本结构 5
1.6 算法表示 7
1.7 C语言程序的集成开发环境 10
小结 10
第2章 数据类型和运算 12
2.1 C语言的数据类型 12
2.2 常量 13
2.2.1 整型常量 13
2.2.2 实型常量 13
2.2.3 字符常量 14
2.2.4 字符串常量 14
2.2.5 符号常量 15
2.3 变量 15
2.3.1 变量的定义 15
2.3.2 变量的赋值 16
2.3.3 变量的初始化 17
2.4 运算符和表达式 18
2.4.1 算术运算符和算术表达式 20
2.4.2 关系运算符和关系表达式 22
2.4.3 逻辑运算符和逻辑表达式 23
2.4.4 赋值运算符与赋值表达式 24
2.4.5 逗号运算符与逗号表达式 26
2.4.6 条件运算符与条件表达式 27
2.4.7 求字节运算符 28
2.4.8 数据类型转换 28
小结 29
第3章 程序流程控制 30
3.1 结构化程序设计的三种基本结构 30
3.1.1 顺序结构 31
3.1.2 选择结构 31
3.1.3 循环结构 31
3.2 顺序结构 32
3.2.1 赋值语句 32
3.2.2 格式输出与输入 33
3.2.3 字符输入/输出函数 38
3.3 选择结构 39
3.3.1 if语句 39
3.3.2 switch语句 43
3.4 循环结构 48
3.4.1 while循环 48
3.4.2 do...while循环 49
3.4.3 for循环 50
3.4.4 continue语句和break语句 52
3.4.5 循环的嵌套 53
3.4.6 goto语句 56
小结 57
第4章 数组 58
4.1 一维数组 59
4.1.1 一维数组的定义及初始化 59
4.1.2 一维数组的引用 60
4.2 多维数组 63
4.2.1 多维数组的定义 63
4.2.2 多维数组的初始化 63
4.2.3 多维数组的引用 64
4.3 字符数组 68
4.3.1 字符数组 68
4.3.2 字符数组与字符串 69
4.3.3 字符串处理函数 73
小结 76
第5章 函数 77
5.1 函数的概念 77
5.1.1 函数的定义 78
5.1.2 函数的调用 80
5.2 函数调用中的数据传递方法 84
5.2.1 值传递方式 84
5.2.2 地址传递方式 84
5.2.3 返回值方式 86
5.3 函数的嵌套调用与递归调用 86
5.3.1 函数的嵌套调用 86
5.3.2 函数的递归调用 88
5.3.3 函数调用综合举例 92
5.4 变量作用域与存储方式 95
5.4.1 变量的存储类型 95
5.4.2 不同存储类型变量的初始化 96
5.4.3 变量的生存期与作用域 97
5.4.4 全局变量和局部变量的应用举例 98
5.5 系统函数 101
5.5.1 数学函数 101
5.5.2 字符处理函数 104
5.5.3 标准库函数 105
小结 107
第6章 指针 109
6.1 指针与指针变量 110
6.2 指针变量的定义与引用 111
6.2.1 指针变量的定义 111
6.2.2 指针变量的引用 112
6.2.3 指针变量的运算 115
6.3 指针变量的使用 116
6.3.1 指向变量的指针变量的使用 116
6.3.2 指向数组元素的指针变量 118
6.3.3 多维数组和指向分数组的指针 119
6.3.4 指向字符串的指针变量的使用 122
6.4 指针作为函数参数 126
6.5 函数指针和指针函数 128
6.5.1 函数指针 128
6.5.2 指针函数 129
6.6 指针数组与多级指针 130
6.6.1 指针数组 130
6.6.2 多级指针的定义和应用 137
6.7 C语言中命令行参数 139
小结 141
第7章 结构体、共用体与枚举型 143
7.1 结构体类型与结构体类型变量 143
7.1.1 结构体类型的定义 144
7.1.2 结构体类型变量的定义 144
7.1.3 结构体类型变量的引用 147
7.2 结构体类型数组 148
7.2.1 结构体类型数组的定义 148
7.2.2 结构体类型数组元素成员的引用 149
7.3 结构体类型指针 154
7.3.1 指向结构体类型指针变量的使用 154
7.3.2 指向结构体类型数组的指针变量的使用 155
7.4 动态存储管理 157
7.4.1 动态存储管理的含义 157
7.4.2 C语言的动态存储管理机制 157
7.5 链表 160
7.5.1 单向链表 160
7.5.2 双向链表 165
7.5.3 循环链表 172
7.6 共用体 173
7.6.1 共用体类型的定义 173
7.6.2 共用体变量的定义 174
7.6.3 共用体变量的引用 175
7.7 枚举型 177
7.7.1 枚举型的定义 177
7.7.2 枚举型变量的定义 178
7.7.3 枚举型变量的引用 178
小结 181
第8章 编译预处理及位运算 183
8.1 文件包含处理——#include 184
8.2 宏定义——#define 185
8.2.1 不带参数的宏定义 185
8.2.2 带参数的宏定义 187
8.3 条件编译 188
8.4 位运算符和位运算 190
8.5 位段 194
小结 195
第9章 文件 197
9.1 文件概述 197
9.1.1 文件的概念 197
9.1.2 文件的编码方式 198
9.1.3 文件的存取方式 198
9.1.4 缓冲文件系统和非缓冲文件系统 199
9.1.5 文件类型指针 199
9.2 文件的基本操作 200
9.2.1 文件的打开 200
9.2.2 文件的关闭 202
9.2.3 文件的删除 203
9.2.4 文件的重命名 203
9.2.5 临时文件的创建 204
9.3 文件的读/写操作 205
9.3.1 文件的非格式化读/写 205
9.3.2 文件的格式化读操作 208
9.3.3 文件的格式化写操作 209
9.4 文件的定位 209
9.4.1 fgetPo()函数和fsetpos()函数 209
9.4.2 ftell()函数 210
9.4.3 fseek()函数 210
9.4.4 feof()函数 211
9.5 错误处理 211
9.5.1 ferror()函数 211
9.5.2 perror()函数 212
9.6 应用举例 212
小结 216
第10章 C语言图形程序设计 217
10.1 概述 217
10.2 图形模式的初始化和检测函数 217
10.3 基本绘画 221
10.3.1 画点函数和定位函数 221
10.3.2 画线函数和设定线型函数 221
10.3.3 画圆和椭圆函数 223
10.4 图形填充 224
10.4.1 设定填充方式函数 224
10.4.2 图形填充函数 225
10.5 图形模式下的文本输出 226
10.5.1 文本字符的输出函数 226
10.5.2 字体格式和输出方式的设置 227
10.6 视口和视口函数 228
10.7 屏幕操作 230
10.7.1 屏幕颜色的设置 230
10.7.2 cleardevice()清屏函数 231
10.7.3 激活页函数 231
10.7.4 图像处理函数 232
10.7.5 键盘对屏幕的控制操作 233
小结 235
附录A ASCII表 236
附录B 运算符和结合性 238
附录C Turbo C常用库函数 239
参考文献 242