目录 1
第一章 概述 1
§1.1 C语言发展简况 1
§1.2 C语言的特点 2
§1.3 用Turbo C运行C程序 3
习题 8
第二章 Turbo C程序设计基础 9
§2.1 C标识符与源程序的构成 9
2.1.1 Turbo C标识符 9
2.1.2 简单的Turbo C程序 10
§2.2 Turbo C数据类型 12
§2.3 基本数据类型 13
2.3.1 数值数据的表示形式 13
2.3.2 字符数据的表示形式 14
2.3.3 数据的存储 15
2.3.4 带符号的数据类型与无符号的数据类型 16
§2.4 常量与变量 18
2.4.1 常量的种类 18
2.4.2 常量的表示 19
2.4.3 变量及其赋值 23
2.4.4 变量的定义和初始化 24
§2.5 运算符与表达式 25
§2.6 算术运算符与算术表达式 28
2.6.1 二元算术运算符 28
2.6.2 一元算术运算符 30
2.6.3 使用算术表达式有关问题的说明 32
§2.7 关系运算与逻辑运算 34
2.7.1 关系运算符与关系表达式 34
2.7.2 逻辑运算符和逻辑表达式 35
2.7.3 条件运算符和条件表达式 37
§2.8 逗号运算符与逗号表达式 38
§2.9 类型转换 39
2.9.1 隐式类型转换 39
2.9.2 显式类型转换 42
习题 43
第三章 数据输入输出与程序基本结构 44
§3.1 Turbo C语句 44
§3.2 标准输入输出 46
3.2.1 字符输入输出函数 47
3.2.2 格式输出函数printf 50
3.2.3 格式输入函数scanf 56
§3.3 顺序结构 63
§3.4 选择结构 66
3.4.1 if语句 66
3.4.2 switch语句 72
§3.5 循环结构 76
3.5.1 while循环 77
3.5.2 do—while循环 86
3.5.3 for循环 89
3.5.4 循环的嵌套与退出 94
§3.6 程序举例 98
习题 106
第四章 模块化程序设计 109
§4.1 C程序与函数 109
§4.2 函数的定义与声明 112
4.2.1 函数的定义 112
4.2.2 函数的声明 118
§4.3 函数的调用 119
4.3.1 概述 119
4.3.2 值传递 123
4.3.3 嵌套调用 126
4.3.4 递归调用 128
§4.4 Turbo C库函数 132
§4.5 变量的存储 133
4.5.1 动态变量 134
4.5.2 静态变量 138
4.5.3 外部变量 140
4.5.4 存储类别小结 147
§4.6 编译预处理 148
4.6.1 宏替换 149
4.6.2 文件包含 159
4.6.3 条件编译 160
习题 165
第五章 数组 169
§5.1 数组的定义 169
5.1.1 一维数组的定义 169
5.1.2 二维数组和多维数组的定义 170
5.2.1 一维数组的初始化 172
§5.2 数组的初始化 172
5.2.2 二维数组和多维数组的初始化 173
§5.3 数组元素的引用 175
5.3.1 一维数组的引用 175
5.3.2 二维数组和多维数组的引用 176
§5.4 数组作为函数参数 178
5.4.1 数组元素作为函数参数 178
5.4.2 数组名作为函数参数 180
5.4.3 用多维数组作函数参数 183
§5.5 字符数组和字符串 184
5.5.1 字符数组的定义和初始化 184
5.5.2 字符串及其存储 186
5.5.3 字符串的输入输出 188
5.5.4 字符串函数 190
5.5.5 二维字符数组 194
5.5.6 字符数组应用举例 196
§5.6 程序举例 199
习题 204
第六章 结构体、共用体及自定义类型 205
§6.1 结构体类型数据 205
6.1.1 概述 205
6.1.2 定义结构体类型与定义结构体变量 207
6.1.3 定义结构体类型内的结构体类型成员 210
6.1.4 结构体变量的初始化 211
6.1.5 结构体变量的引用 213
6.1.6 结构体数组 215
§6.2 结构体在函数间的传递 220
6.2.1 结构体成员在函数间的传递 220
6.2.2 整个结构体在函数间的传递 221
6.2.3 返回结构体类型值的函数 224
§6.3 共用体类型数据 227
6.3.1 共用体的概念 227
6.3.2 定义共用体类型变量 228
6.3.3 共用体变量的引用 229
§6.4 枚举类型数据 232
6.4.1 定义枚举常量和变量 232
6.4.2 枚举变量的初始化和赋值 232
6.4.3 枚举值的运算和引用 233
§6.5 用typedef定义类型名 234
习题 238
第七章 指针基础 239
§7.1 指针概述 239
7.1.1 指针与地址 239
7.1.2 定义指针变量 240
7.1.3 指针变量的初始化 242
7.1.4 指针变量的引用 242
7.1.5 指针运算 243
7.2.1 指针与数组的等价性 245
§7.2 指针与数组 245
7.2.2 数组下标法与指针变量法的特点 248
7.2.3 字符串的指针表示法 250
§7.3 指针作为函数参数 252
7.3.1 传递地址常量与传递指针变量 252
7.3.2 数组的指针作为函数参数 254
7.3.3 字符串的指针作为函数参数 255
§7.4 返回指针值的函数——指针型函数 257
§7.5 指针数组 258
7.5.1 指针数组概述 258
7.5.2 用指针数组处理多维数组数据 259
7.5.3 用字符指针数组处理字符串组 260
7.5.4 指针数组作为函数参数 263
7.5.5 main函数中的参数 264
习题 265
8.1.1 多级间址的概念 269
第八章 指针和动态存储分配 269
§8.1 指向指针的指针 269
8.1.2 指向指针的指针与指针数组的等价性 270
§8.2 指向函数的指针 271
8.2.1 函数指针的概念 271
8.2.2 用函数指针变量调用函数 272
8.2.3 函数指针作为函数参数 274
§8.3 指向结构体的指针 276
8.3.1 结构体指针变量的定义 276
8.3.2 用结构体指针变量访问结构体成员 277
8.3.3 指向结构体数组的指针 278
8.3.4 用指向结构体的指针作函数参数 280
8.3.5 结构体指针型函数 281
§8.4 指向vold类型的指针 282
8.5.1 为什么要动态存储分配 284
§8.5 动态存储分配 284
8.5.2 用malloc函数分配内存空间 285
8.5.3 确定被分配存储空间的大小 285
8.5.4 对malloc返回地址的赋值与检测 286
8.5.5 访问被分配存储块 287
8.5.6 用free函数释放存储块 287
8.5.7 特殊的存储分配函数 287
§8.6 用指针实现链表 288
8.6.1 链表概述 288
8.6.2 链表的建立 290
8.6.3 链表的遍历与查找 291
8.6.4 链表的插入与删除 292
习题 298
第九章 输入输出及文件 299
§9.1 概述 299
9.2.1 C文件的概念 300
§9.2 C标准设备文件 300
9.2.2 二进制流和字符流 301
9.2.3 缓冲与非缓冲文件系统 302
§9.3 标准磁盘输入输出——缓冲文件系统 303
9.3.1 文件类型指针(FILE指针) 303
9.3.2 文件的打开与关闭 304
9.3.3 文件缓冲区的控制 306
9.3.4 文件的读和写 308
9.3.5 文件状态检测 315
9.3.6 文件的定位与随机存取 316
§9.4 系统级输入输出——非缓冲文件系统 318
9.4.1 非缓冲文件系统的特点 318
9.4.2 系统级文件的操作 319
§9.5 输入输出换向和管道 322
9.5.1 输入输出换向 322
9.5.2 管道 323
9.5.3 C程序的输入输出换向和管道 324
9.5.4 标准错误输出定向 326
习题 327
第十章 位运算 329
§10.1 概述 329
§10.2 位序列的输出 332
§10.3 位运算符及其使用方法 334
10.3.1 按位取反运算 334
10.3.2 按位“与”运算 336
10.3.3 按位“或”运算 338
10.3.4 按位“异或”运算 339
10.3.5 左移运算 341
10.3.6 右移运算 343
§10.4 位运算应用举例 345
10.5.1 位段的概念和定义方法 348
§10.5 位段 348
10.5.2 位段的引用方法 351
习题 353
第十一章 系统资源的利用及C程序开发实例 355
§11.1 DOS中断与系统功能调用 355
11.1.1 中断概述 355
11.1.2 访问ROM—BIOS系统 356
11.1.3 利用DOS访问系统功能 360
§11.2 屏幕编辑器 363
11.2.1 屏幕编辑器原理分析 363
11.2.2 屏幕编辑程序主要模块的说明 364
11.2.3 完整的屏幕编辑子系统 367
§11.3 绘图程序 380
11.3.1 显示方法和调色板 380
11.3.2 画点 381
11.3.3 画线 383
11.3.4 画矩形和填充矩形 385
11.3.5 画圆和填充圆 385
第十二章 Turbo C2.0程序设计环境 388
§12.1 Turbo C2.0软件包 388
12.1.1 Turbo C2.0的特点 388
12.1.2 新增加的实用工具和函数 389
§12.2 Turbo C2.0系统的安装 392
§12.3 Turbo C的启动与退出 394
12.3.1 Turbo C的启动 394
12.3.2 退出Turbo C 395
12.3.3 联机帮助 396
§12.4 窗口 396
§12.5 菜单与热键 398
12.5.1 打开菜单 398
12.5.2 热键 399
§12.6 Turbo C菜单命令 401
§12.7 文本编辑 409
12.7.1 简单编辑操作 409
12.7.2 块操作 410
12.7.3 查找与替换 411
12.7.4 其他编辑操作 413
§12.8 程序调试 414
12.8.1 Turbo C调试器 414
12.8.2 程序调试举例 419
§12.9 在DOS下建立可执行程序 423
12.9.1 TCC命令 424
12.9.2 TCC命令选择项 426
附录Ⅰ 常用字符与ASCII代码对照表 432
附录Ⅱ Turbo C2.0关键字 432
附录Ⅲ Turbo C2.0常用库函数 433
附录Ⅳ Turbo C2.0头文件 439