上编 语言编 2
第一章 导引 2
1.1 程序设计语言概述 2
1.2 关于Turbo C 5
1.3 程序设计的基本概念 7
1.4 怎样学好用好本书 10
练习题 11
第二章 初阶 12
2.1 C程序的基本结构 12
2.2 基本字符集与标识符 14
2.3 简单数据类型 17
2.4 运算符与表达式初探 20
2.5 赋值语句及简单输入输出 24
2.6 程序设计风格 28
2.7 小结与程序设计示例 29
练习题 31
第三章 程序控制结构 33
3.1 if语句 33
3.2 switch语句 38
3.3 while语句 40
3.4 do-while语句 41
3.5 for语句 43
3.6 用于循环控制的几个特殊运算符 44
3.7 多重循环结构 46
3.8 break语句、continue语句和goto语句 52
3.9 小结与程序设计示例 55
练习题 59
第四章 数组 62
4.1 一维数组 62
4.2 多维数组 69
4.3 字符数组与字符串 76
4.4 小结与程序设计示例 80
练习题 82
第五章 函数 86
5.1 函数定义 86
5.2 函数调用与函数说明 88
5.3 通过函数参数传递数据 91
5.4 函数的嵌套调用与递归调用 93
5.5 数组作为函数参数传递 101
5.6 变量的作用域和存储类别 107
5.7 函数的存储类别 111
5.8 小结与程序设计示例 112
练习题 115
6.1 指针变量的说明与赋值操作 116
第六章 指针 116
6.2 指针运算 121
6.3 指向数组的指针变量 124
6.4 指向字符串的指针变量 129
6.5 指向函数的指针变量 131
6.6 返回指针值的函数 133
6.7 指针数组 134
6.8 指向指针的指针变量 137
6.9 主函数main的参数 138
6.10 小结与程序设计示例 140
练习题 143
第七章 结构体与线性链表 144
7.1 用typedef定义类型 144
7.2 结构体变量说明与赋值操作 145
7.3 结构体数组和结构体指针 151
7.4 动态存储分配及释放 157
7.5 线性链表的概念 159
7.6 线性链表生成与遍历 160
7.7 在已知线性链表中的插入与删除操作 164
7.8 双向链表结构与双向链环结构 168
7.9 小结与程序设计示例 169
练习题 175
第八章 共用体、枚举类型及位运算 177
8.1 共用体 177
8.2 枚举类型 184
8.3 位运算 190
8.4 小结与程序设计示例 198
练习题 202
第九章 文件 204
9.1 文件的基本概念 204
9.3 文件的打开与关闭 206
9.2 文件指针 206
9.4 文本文件操作 210
9.5 二进制文件操作 216
9.6 文件的定位与随机读写 218
9.7 文件检测函数 225
9.8 输入输出重定向 226
9.9 小结与程序设计示例 228
练习题 232
第十章 软件工程化方法与结构化程序设计 234
10.1 软件工程化方法 234
10.2 结构化程序设计方法 236
10.3 编译预处理 248
10.4 再谈程序设计风格 252
练习题 254
11.1 显示图案 256
第十一章 编程技巧示例 256
下编 技巧编 256
11.2 逻辑判断 262
11.3 数据模拟 267
11.4 整数问题 273
11.5 数据处理 279
练习题 284
第十二章 通用程序设计 286
12.1 一般数值计算 286
12.2 求素数 297
12.3 分类算法概述 304
练习题 310
第十三章 递归技术 311
13.1 递归与分治 311
13.2 递归算法典型示例 318
13.3 探索策略和回溯算法 321
练习题 331
第十四章 动态数据结构的基本应用 333
14.1 一个简单的指针应用问题 333
14.2 直接表和有序表的检索与插入 337
14.3 树结构和二叉树结构 344
14.4 二叉树的生成与遍历 346
14.5 二叉搜索树的检索与插入 350
14.6 指针在二叉树结构中的应用示例 354
练习题 360
附录1 C语言的关键字 361
附录2 运算符的优先级和结合性 362
附录3 常用字符与ASCII代码对照表 363
附录4 C语言标准库函数分类 364
附录5 Turbo C的上机过程 374
附录6 常见编译运行错误和警告信息 380