第一章 C语言简介 2
1.1 C语言的发展史和特点 2
1.1.1 C语言的发展史 2
1.1.2 C语言的特点 2
入门篇 2
1.2 C语言程序结构——几个C语言程序范例 3
1.3 C语言程序的设计 4
1.4 C语言程序的编程环境 6
1.5 写好程序文档 11
习题一 11
上机题一 12
第二章 数据类型(一) 13
2.1 标识符 13
2.2.1 常量 14
2.2 常量和变量 14
2.2.2 变量 17
2.3 用typedef定义类型 18
2.4 赋值语句 19
2.5 运算符和表达式 20
2.5.1 运算符 20
2.5.2 表达式 23
2.6 格式输出函数和格式输入函数 25
2.6.1 数据的格式输出函数printf 25
2.6.2 数据的格式输入函数scanf 29
2.7 标准函数和自定义函数 31
2.7.1 标准函数 31
习题二 35
2.7.2 自定义函数 35
2.7.3 函数调用 35
上机题二 36
第三章 控制语句 38
3.1 表达式语句等 39
3.1.1 表达式语句范例 39
3.1.2 空语句 40
3.1.3 复合语句(语句块) 40
3.2 if语句 41
3.2.1 if语句的一般格式 41
3.2.2 嵌套的if语句 42
3.2.3 用if语句实现的多分支选择 42
3.2.4 操作符?:的使用及与if语句的比较 45
3.3 switch开关语句 47
3.4 while循环语句 49
3.5 do-while循环语句 51
3.6 for循环语句 55
3.7 break语句和continue语句 59
3.8 goto语句 60
习题三 61
上机题三 62
基础篇 64
第四章 数据类型(二) 64
4.1 一维数组 64
4.1.1 一维数组变量说明 64
4.1.2 一维数组变量的存储 64
4.1.3 一维数组变量的使用 65
4.2 字符数组和字符串 68
4.2.1 字符数组和字符串 68
4.2.2 字符串的使用 68
4.2.3 字符串函数(字符数组函数) 71
4.3 二维数组和多维数组 73
4.3.1 二维数组变量的说明 73
4.3.2 二维数组变量的存储 74
4.3.3 二维数组变量的使用 76
4.4 字符串数组 78
4.5 数组初始化 80
习题四 82
上机题四 83
5.1.1 函数的定义形式 85
5.1 函数 85
第五章 程序结构 85
5.1.2 函数调用及函数的返回值 86
5.1.3 形式参数的类型 88
5.1.4 实在参数和形式参数之间的数据传送 88
5.1.5 函数原型 90
5.2 数组作为函数参数 91
5.3 局部变量与全局变量 95
5.4 动态存储变量与静态存储变量 97
5.4.1 动态变量(auto型) 97
5.4.2 外部变量(extern型) 97
5.4.3 静态变量(static型) 98
5.4.4 寄存器变量(register型) 100
5.5.2 外部函数(extern) 101
5.5 内部函数与外部函数 101
5.5.1 内部函数(static) 101
5.6 Turbo C库函数简介 102
5.6.1 库函数与函数库 102
5.6.2 头部文件(*.H) 103
5.6.3 程序连接 103
5.6.4 Turbo C库管理程序——TLIB 104
习题五 106
上机题五 107
提高篇 110
第六章 数据类型(三) 110
6.1 指针 110
6.1.1 指针与指针变量 110
6.1.3 指针与数组 116
6.1.4 指针与字符串 122
6.1.5 指针与函数 124
6.1.6 Turbo C动态存储分配 132
6.1.7 指向指针的指针 135
6.1.8 指针初始化 141
习题六(一) 144
上机题六(一) 145
6.2 结构体(struct) 146
6.2.1 结构体类型与结构体类型变量 146
6.2.2 结构体变量的引用与初始化 149
6.2.3 结构体与数组 151
6.2.4 结构体与指针 154
6.2.5 结构体与函数 157
6.3 联合体(union) 159
*6.4 枚举 162
习题六(二) 165
上机题(二) 166
6.5 使用typedef定义新类型名的讨论 168
6.5.1 定义“替代”类型名 168
6.5.2 定义“构造”类型名 169
6.5.3 定义新类型名的一般步骤 169
6.6 文件(FILE) 171
6.6.1 文件、流的概念及文件流的组织形式 171
6.6.2 文件类型(FILE)与标准流式文件 173
6.6.3 文件的打开/关闭 175
6.6.4 文件I/O操作 177
6.6.5 文件的重定位、测试与随机读写(rewind(),feof(),ftell(),fseek()) 183
6.6.6 检错与处理(ferror(),clearerr(),exit()) 185
6.6.7 DOS文件调用与删除(system(),remove()) 187
习题题六(三) 188
上机题六(三) 189
第七章 编译预处理 192
7.1 包含指令#include 192
7.2 宏定义指令#define和#undef 194
7.2.1 不带参数的宏定义指令 194
7.2.2 带参数的宏定义指令 196
7.2.3 宏标识符 198
7.2.4 宏终结指令#undef 198
7.3 条件编译指令#if、#else、#elif、#endif和#ifdef、#ifndef 199
7.3.1 #if、#else、#elif和#endif指令 199
7.3.2 #ifdef、#ifndef指令 201
*7.4 错误信息指令#crror 202
*7.5 行控制指令#line及预定义宏名_ _LINE _ 、_ _FILE_ _ 203
习题七 205
上机题七 205
第八章 位操作 207
8.1 位逻辑运算 207
8.1.1 按位求反运算 207
8.1.2 按位与运算 208
8.1.3 按位或运算 209
8.1.4 按位异或运算 210
8.2 移位操作 211
8.2.1 左移位操作 212
8.2.2 右移位操作 212
8.3 位操作赋值运算 214
习题八 215
上机题八 216
第九章 图形函数的应用 217
9.1 微机图形系统基础 217
9.1.1 图形与显示器基础 217
9.1.2 图形显示模式 218
9.1.3 调色板和颜色 219
9.2 图形函数及其用法 220
9.2.1 图形系统控制和屏幕操作函数 221
9.2.2 绘图和填充函数 224
9.2.3 图形存取函数 234
9.2.4 图形方式下的文本输出函数 235
9.3 动画程序举例 237
习题九 243
上机题九 244
第十章 常用数据结构的实现方法及应用程序设计 245
10.1 引言 245
10.1.1 数据和数据结构 245
10.1.2 逻辑结构和存储结构 245
10.1.3 线性表及其存储运算 246
10.1.4 静态数据结构和动态数据结构 246
10.1.5 C语言的动态存储分配 247
10.2 栈 248
10.2.1 栈的概念、结构及其操作 248
10.2.2 栈的程序实现 249
10.2.3 应用举例 251
10.3.2 队列的程序实现 254
10.3.1 队列的概念、结构及操作 254
10.3 队列 254
10.3.3 应用举例 256
10.4 链表 260
10.4.1 引言 260
10.4.2 单向链表 261
10.4.3 双向链表 276
10.5 二叉树及应用 285
10.5.1 引言 285
10.5.2 遍历二叉树 286
10.5.3 应用举例 288
习题十 299
上机题十 299
11.2 面向对象的基本概念与特征 300
第十一章 面向对象程序设计概念简介 300
11.1 引言 300
11.3 面向对象的程序举例 303
11.3.1 C++的类定义 303
11.3.2 C++的对象说明 305
11.3.3 程序举例 305
习题十一 312
上机题十一 312
应用篇 314
第十二章 汉字处理 314
12.1 汉字编码与点阵汉字字模 314
12.1.1 汉字编码规则 314
12.1.2 点阵汉字字模及其存储格式、汉字库 314
12.2.1 汉字操作系统下汉字的显示 315
12.2 汉字的显示与放大 315
12.2.2 西文操作系统下汉字的显示与放大 317
12.2.3 汉字放大 322
12.3 立体汉字和空心汉字 325
12.3.1 立体汉字 325
12.2.2 空心汉字 325
第十三章 菜单技术 327
13.1 窗口与菜单 327
13.2 中文窗口式菜单 328
13.3 中文下拉式菜单 332
附录一 ASCII字符编码一览表 339
附录二 Turbo C 2.0库函数 340
附录三 Turbo C 2.0编译出错信息 364