第1篇 计算机概述与程序设计初步 3
引言 3
第1章 计算机系统概述 5
1.1 计算与计算工具 5
1.2 计算机发展简史 8
1.3 计算机应用 13
1.4 计算机的基本原理与组成 16
1.5 计算机系统 22
习题 27
第2章 程序设计语言概述 29
2.1 语言的演化 29
2.2 构建和运行程序 32
2.3 语言的分类 34
习题 41
第3章 程序设计语言初步 42
3.2 数据类型 43
3.1 标识符 43
3.3 变量 44
3.4 常量 46
3.5 输入和输出(I/O) 47
3.6 表达式 48
3.7 语句 50
3.8 函数 54
3.9 C语言程序实例 56
习题 58
第4章 算法设计方法 60
4.1 算法的概念 60
4.1.1 程序设计的目的 60
4.1.2 算法的概念 60
4.1.3 计算机算法及其特性 61
4.2 算法的3种基本结构 65
4.3 算法的描述方法 67
4.3.1 用自然语言描述算法 68
4.3.2 用流程图描述算法 68
4.3.3 用N-S流程图描述算法 71
4.3.4 伪代码描述算法 75
4.3.5 用计算机语言描述算法 77
4.4 结构化程序设计方法 78
4.5 算法设计实例研究 83
习题 90
第5章 子程序设计 91
5.1 子程序概述 91
5.1.1 引入子程序的目的 91
5.1.2 子程序的控制和调用机制 92
5.2 子程序的定义与执行 93
5.3 子程序的参数机制 94
5.4 子程序设计实例 95
习题 96
第6章 递归算法设计(一) 98
6.1 递归的概念 98
6.2 递归过程 100
6.3 递归算法的设计要点 104
习题 105
第2篇 抽象与模型,从实际到理论 109
引言 109
第7章 计算机中数的表示与编码理论 112
7.1 信息论初步 112
7.2 计算机中的数制 115
7.3 计算机中数据的表示法 118
7.4 计算机中的其他编码 123
习题 124
第8章 计算机运算基础(数理逻辑初步) 125
8.1 命题逻辑 126
8.2 谓词逻辑 136
8.3 计算机中的加法运算 138
8.4 计算机中的逻辑运算 141
习题 143
第9章 计算机工作原理与可编程结构模型 145
9.1 计算机程序的执行 145
9.2 可编程结构模型定义 147
9.3 可编程结构工作原理 149
9.4 可编程结构的连接和组合 150
9.5 再谈计算机系统 151
第10章 图灵机与计算模型 154
10.1 图灵机模型概述 154
10.2 关于计算 160
10.3 有限状态自动机基本概念和理论 162
10.4 实例研究(一) 165
10.5 实例研究(二) 169
10.6 有限状态自动机的应用 175
习题 182
第11章 形式语言 183
本章序言 183
11.1 形式语言的定义 184
11.2 文法 186
11.3 推导与句型、句子 190
11.4 实例 191
习题 192
第3篇 算法+数据结构=程序 195
引言 195
第12章 数据结构的理论基础 197
12.1 集合 197
12.1.1 集合的定义 197
12.1.2 集合之间的关系 198
12.1.3 集合的运算 199
12.2 关系 202
12.2.1 序偶 202
12.2.2 笛卡儿积 202
12.2.3 二元关系 203
12.2.4 二元关系R上的关系集 204
12.2.5 二元关系的性质 204
12.3 函数 206
12.3.1 函数的定义 206
12.3.3 逆函数和复合函数 207
12.3.2 函数的性质 207
习题 208
第13章 简单数据类型 209
13.1 整型 209
13.2 字符类型 211
13.3 枚举类型 213
13.4 实数类型 214
14.1 数组类型 216
第14章 构造型数据类型 216
14.2 记录类型 224
14.3 指针 226
14.4 文件 234
习题 242
第15章 线性数据结构 244
15.1 线性表的逻辑结构 245
15.2 线性表的存储结构 245
15.3 线性表的操作 248
15.4 线性表的基本操作实现 249
15.5 算法设计实例 253
第16章 递归算法设计(二) 257
16.1 汉诺塔问题 257
16.2 回溯算法设计 261
习题 266
第4篇 计算学科导论与学科知识体系 269
引言 269
17.1 计算学科的定义及根本问题 270
第17章 计算学科的科学问题 270
17.2 计算学科中的典型问题及其相关内容 274
第18章 计算学科中的3个学科形态 281
第19章 计算学科中的14个主领域 285
附录A 模拟电梯系统程序设计 293
A.1 任务说明书 293
A.2 程序设计步骤 297
A.3 需要提交的文档 298
A.4 系统接口和程序总体结构 299
参考文献 301