第一章 概述 1
§1.1 C和Turbo C 1
目录 1
§1.2 本书简介 3
§1.3 不输出“Hello World”的第一个C程序 4
§1.4 “开胃”的Turbo C编码 5
§1.5 格式 14
第二章 简述Turbo C的基本组成 16
§2.1 预处理程序、编译程序和连接程序 16
§2.2 注释 16
§2.4 宏(Macros) 17
§2.3 include指令 17
§2.5 屏幕输出:printf语句 18
§2.6 键盘输入:Scanf语句 20
§2.7 main函数 20
§2.8 数据类型 21
§2.9 函数 21
§2.10 简单Turbo C程序的逻辑结构 23
§2.11 局部变量和全局变量 24
§2.12 语句和运算符 25
§2.12.2 关系运算符 26
§2.12.1 算术运算符 26
§2.12.3 逻辑运算符 27
§2.12.4 赋值运算符 28
§2.12.5 其它运算符 29
§2.13 控制结构简介 30
§2.13.1 分支语句 30
§2.13.2 循环语句 31
§2.14 数组简介 32
§2.15 对一些Turbo C程序的分析 33
§2.15.1 求最大值和最小值 33
§2.15.2 采用重新定向拷贝文件 34
§2.15.3 给C程序加上行号 35
§2.15.4 气泡排序 36
§2.15.5 判断伪造的硬币 37
第三章 词法结构 45
§3.1 单词符号(Token) 45
§3.2 注释 45
§3.3 分隔符 45
§3.4 运算符 45
§3.5 标识符 46
§3.6 保留字 46
§3.7.1 整数常量 47
§3.7 常量 47
§3.7.2 实数常量 48
§3.7.3 字符常量 48
§3.7.4 字符串常量 50
第四章 标量数据类型、运算符和类型转换 52
§4.1 数据类型和存贮单元 52
§4.2 左值(Ivalue)、右值(Rvalue)和目标 53
§4.3 整数 53
§4.4 字符 54
§4.5 实数 55
§4.6 运算符的优先级 56
§4.7 算术运算符 57
§4.8 关系运算符 58
§4.9 按位运算符 60
§4.10 其它运算符 63
§4.11 枚举类型 63
§4.12 类型转换和强制类型转换 65
§4.12.1 赋值转换 65
§4.12.2 单目运算转换 65
§4.12.3 双目运算转换 66
§5.1 块和复合语句 67
§5.2 空语句 67
第五章 控制结构 67
§5.3 选择结构 68
§5.3.1 IF语句 68
§5.3.2 IF ELSE语句 68
§5.3.3 条件运算符? 70
§5.3.4 SWITCH语句 71
§5.3.5 GOTO语句 72
§5.4 循环 72
§5.4.1 WHILE循环 72
§5.4.2 DO WHILE循环 75
§5.4.3 FOR循环 77
§5.5.1 子向量的和:两种方法 79
§5.5 一些应用编程的例子 79
§5.5.2 计算一个简易利息贷款的固定支付 83
第六章 指针和数组 86
§6.1 指针和存贮模型 86
§6.2 有关指针的问题和解决方法 90
§6.3 数组 92
§6.4 指针中关于地址的算术运算 95
§6.5 数组的初始化 106
§6.6 字符串 106
§6.7 函数中的数组和指针参数 110
§6.8 多维数组 113
§6.9 命令行参数 118
§6.10 不整齐数组 120
第七章 结构、联合和链数据结构 127
§7.1 结构 127
§7.1.1 位域 131
§7.1.2 结构的初始化 132
§7.1.3 结构数组 133
§7.2 联合 135
§7.3 链结构 137
§7.3.1 堆栈 137
§7.3.2 队 141
§7.3.3 链接表 144
第八章 函数、作用域和存贮类 153
§8.1 函数的定义 153
§8.2 参数传递 155
§8.3 指向函数的指针 156
§8.4 存贮类 165
§8.4.1 自动变量 166
§8.4.2 寄存器变量 166
§8.4.3 外部变量和函数 168
§8.4.5 可修改变量 169
§8.5 递归 169
§8.4.4 静态变量和函数 169
§8.6 搜索二叉树 174
§8.7 搜索二叉树的应用 183
§8.8 参数个数可变的函数 188
第九章 类数据结构成分 190
§9.1 类表 190
§9.2 类搜索树 197
§9.3 数据抽象、面向对象的编程和软件工程 206
第十章 Turbo C中的输入和输出 208
§10.1 输入和输出流 209
§10.1.3 fopen 210
§10.1.4 fflush 210
§10.1.1 文字流和二进制流 210
§10.1.2 EOF字符 210
§10.1.5 freopen 211
§10.1.6 fclose 211
§10.1.7 fgetc,getc 211
§10.1.8 getchar 211
§10.1.9 ungetc 211
§10.1.10 fseek 211
§10.1.16 fputs 212
§10.1.15 putchar 212
§10.1.14 fputc,put 212
§10.1.12 fgets 212
§10.1.11 rewind 212
§10.1.13 gets 212
§10.1.21 ferror 213
§10.1.23 rename 213
§10.1.22 clearerr 213
§10.1.24 fprintf,printf,sprintf,cprintf 213
§10.1.20 feof 213
§10.1.19 fwrite 213
§10.1.18 fread 213
§10.1.17 puts 213
§10.1.25 vfprintf vprintf 217
§10.1.26 ftell 218
§10.1.27 scanf,fseanf,sscanf cscanf 218
§10.1.28 setbuf 219
§10.2 低层文件输入和输出 219
§10.2.1 access 219
§10.2.2 close 220
§10.2.3 creat 220
§10.2.4 dup,dup2 220
§10.2.8 isatty 221
§10.2.7 getftime,setftime 221
§10.2.6 filelength 221
§10.2.5 eof 221
§10.2.9 lseek 222
§10.2.10 open 222
§10.2.11 read 223
§10.2.12 setmode 223
§10.2.13 tell 223
§10.2.14 write 223
§10.3 一个用户低层文件输入/输出包 223
第十一章 Turbo C预处理程序 230
§11.1 预处理命令 230
§11.2 条件编译 232
§11.3 #define命令 236
§11.4 宏函数的作用 237
§11.5 Turbo C预处理程序的特殊功能 237
第十二章 Turbo C的特殊功能 238
§12.1 混合模型编程 238
§12.2 全程变量 239
§12.3 重要的非标准库 241
§12.3.1 库dir.h 241
§12.3.2 库dos.h 241
§13.3.3 库bios.h 243
附录A (Turbo)C编程中的一般错误 244