第1章 C语言程序设计基础知识 1
1.1 计算机基础知识概述 1
1.1.1 计算机与信息社会 1
1.1.2 计算机中信息的表示 2
1.1.3 计算机系统的组成 5
1.2 算法及其表示 8
1.2.1 计算机求解问题的步骤 8
1.2.2 算法的表示 9
1.3 C语言概述 12
1.3.1 C语言简史及特点 12
1.3.2 基本程序结构 13
1.3.3 基本语法单位 16
1.4 C语言程序的编写和运行 18
1.4.1 编辑 18
1.4.2 编译 19
1.4.3 连接 19
1.4.4 运行 19
1.5 程序举例 19
小结 20
习题1 21
第2章 基本数据类型及运算 22
2.1 基本数据类型 22
2.2 常量 24
2.2.1 整型常量 24
2.2.2 浮点数常量 25
2.2.3 字符常量 25
2.2.4 字符串常量 26
2.2.5 转义字符 26
2.2.6 符号常量 27
2.3 变量 28
2.3.1 变量的定义 28
2.3.2 变量的初始化 28
2.3.3 变量地址 29
2.4 基本运算 29
2.4.1 算术运算 29
2.4.2 赋值运算 30
2.4.3 关系运算和逻辑运算 33
2.4.4 位运算 34
2.4.5 其他运算 38
2.5 混合运算与类型转换 39
2.5.1 自动类型转换 39
2.5.2 强制类型转换 40
2.6 运算优先级和结合性 41
2.7 程序举例 43
小结 46
习题2 47
第3章 数据的输入、输出 50
3.1 格式输出函数 50
3.2 字符输出函数 53
3.3 格式输入函数 54
3.4 字符输入函数 57
3.5 程序举例 58
小结 60
习题3 60
第4章 控制语句 62
4.1 程序的基本结构 62
4.2 复合语句 63
4.3 if条件分支语句 63
4.3.1 if流程 63
4.3.2 if-else流程 65
4.3.3 else if流程 66
4.3.4 if语句嵌套 68
4.4 多路开关语句 69
4.5 循环语句 74
4.6 while语句和do-while语句 77
4.6.1 while语句 77
4.6.2 do-while语句 82
4.7 循环嵌套 84
4.8 break、continue和goto语句 86
4.8.1 break语句 86
4.8.2 continue语句 87
4.8.3 goto语句 88
4.9 程序举例 89
小结 91
习题4 91
第5章 数组 94
5.1 一维数组 94
5.1.1 一维数组的定义 94
5.1.2 一维数组元素的引用 94
5.1.3 一维数组的初始化 96
5.2 二维数组 97
5.2.1 二维数组的定义 97
5.2.2 二维数组元素的引用 98
5.2.3 二维数组的初始化 99
5.3 字符数组 101
5.3.1 字符数组的定义和初始化 101
5.3.2 字符数组的输入/输出 103
5.3.3 与字符串处理有关的几个函数 106
5.4 程序举例 110
小结 111
习题5 111
第6章 指针 114
6.1 指针的概念和定义 114
6.1.1 指针的概念 114
6.1.2 指针的定义 115
6.1.3 指针的赋值 115
6.2 指针运算 118
6.3 指针和数组 121
6.4 字符串指针 125
6.4.1 指向字符数组的指针 125
6.4.2 指向字符串常量的指针 127
6.5 指针数组 129
6.6 指向指针的指针 131
6.7 程序举例 133
小结 137
习题6 138
第7章 函数 140
7.1 函数定义和调用 140
7.1.1 函数定义 140
7.1.2 函数调用 141
7.2 函数参数 145
7.2.1 传值调用 145
7.2.2 传址调用 146
7.3 函数与数组 148
7.4 函数与指针 150
7.4.1 返回指针的函数 150
7.4.2 指向函数的指针 152
7.5 递归函数 154
7.6 命令行参数 156
7.7 标准库函数 158
7.8 预处理功能 160
7.8.1 宏替换 161
7.8.2 包含文件 166
7.8.3 条件编译 167
7.9 程序举例 170
小结 173
习题7 174
第8章 变量的存储类型 177
8.1 自动变量 177
8.2 外部变量 179
8.3 静态变量 184
8.4 寄存器变量 186
8.5 变量的初始化 187
8.6 动态内存分配函数 188
8.7 程序举例 191
小结 193
习题8 194
第9章 结构 197
9.1 结构及结构变量的定义与访问 197
9.1.1 结构及结构变量的定义 197
9.1.2 结构成员的访问 198
9.1.3 结构变量的初始化 200
9.2 结构数组 201
9.3 结构和函数 203
9.3.1 结构变量的传值调用 203
9.3.2 结构指针及结构变量的传址调用 206
9.4 结构型函数和结构指针型函数 209
9.4.1 结构型函数 209
9.4.2 结构指针型函数 212
9.5 位域和结构嵌套 213
9.5.1 位域 213
9.5.2 结构嵌套 216
9.6 引用自身的结构和链表 217
9.6.1 单向链表 218
9.6.2 双向链表 220
9.6.3 循环链表 222
9.7 程序举例 222
小结 224
习题9 224
第10章 联合、枚举及定义类型 227
10.1 联合 227
10.2 枚举 231
10.3 定义类型 233
10.4 与系统有关的库函数 235
10.4.1 BIOS接口调用函数 236
10.4.2 DOS系统调用函数 238
10.5 程序举例 242
小结 246
习题10 246
第11章 输入、输出和文件管理 248
11.1 流和文件 248
11.2 控制台I/O 248
11.2.1 字符输入、输出 249
11.2.2 字符串的输入、输出 250
11.3 文件 251
11.3.1 打开文件函数 252
11.3.2 关闭文件函数 253
11.3.3 标准流式文件 253
11.4 文件I/O 254
11.4.1 单字符的输入、输出 255
11.4.2 行的输入、输出 256
11.4.3 数据块的输入、输出 258
11.4.4 流式文件数据的格式化输入、输出 259
11.4.5 文件的随机访问 260
11.5 程序举例 261
小结 263
习题11 264
第12章 C语言高级程序应用 265
12.1 图形程序 265
12.1.1 图形模式的初始化 265
12.1.2 独立图形运行程序的建立 268
12.1.3 屏幕颜色的设置和清屏函数 268
12.1.4 基本图形函数 270
12.1.5 封闭图形的填充 273
12.1.6 有关图形窗口和图形屏幕操作函数 275
12.1.7 图形模式下的文本输出 278
12.2 声音程序 281
12.2.1 声音函数 281
12.2.2 音乐 282
12.2.3 应用举例 283
12.3 游戏程序设计实例 284
附录A C语言的关键字 293
附录B 运算符的优先级与结合性 293
附录C 常用字符ASCII表 294
附录D C语言中常用库函数 295
参考文献 304