0.1计算 1
第0章 绪论 1
0.2算法 3
0.3计算机 5
0.4计算机学科 7
0.5小结 7
第一部分 计算机系统结构 11
第1章 计算机组成与结构 11
1.1计算机的发展历史 11
1.1.1第一代计算机 11
1.1.3第三代计算机 12
1.1.2第二代计算机 12
1.1.4第四代计算机 13
1.1.5第五代计算机 13
1.2数据的表示与基本运算 14
1.2.1进位计数制及其转换 14
1.2.2数值数据的表示 16
1.2.3非数值数据的表示 24
1.2.4数据信息的校验 27
1.2.5数据的基本运算 28
1.3计算机系统的基本组成 33
1.3.1计算机系统的硬件组成 34
1.3.2计算机系统的软件组成 39
1.3.3计算机系统的工作过程 41
1.4计算机的特点与性能指标 43
1.4.1计算机的特点 43
1.4.2计算机的性能指标 44
1.5小结 46
习题 48
第2章 操作系统与网络 52
2.1操作系统的定义 52
2.2操作系统的演化 53
2.3.1进程管理器 54
2.3操作系统的组成 54
2.3.2存储管理器 56
2.3.3文件管理器 57
2.3.4设备管理器 58
2.3.5用户界面 58
2.4主流操作系统 58
2.5计算机网络 59
2.5.1计算机网络基础 60
2.5.2互联网 63
2.6网络模型和协议 65
2.6.1 OSI模型 66
2.6.2 TCP/IP协议族 67
2.7小结 69
习题 70
第3章 计算机系统 72
3.1计算机系统的分类 72
3.1.1 Flynn分类法 72
3.1.2冯式分类法 74
3.2计算机系统设计技术 76
3.2.1计算机系统设计的定量原理 76
3.2.2计算机系统设计者的主要任务 79
3.2.3计算机系统设计的主要方法 80
3.3微机系统 81
3.3.1微机系统的三个层次 81
3.3.2 Intel微处理器 82
3.4微机的主机系统 84
3.4.1微机主板 84
3.4.2微机总线 86
3.5 PC的分类 88
3.5.1台式机 88
3.5.2便携机(笔记本PC) 88
3.5.3个人数字助理(PDA) 89
3.5.4手持计算机(HPC) 90
3.6小结 91
习题 91
4.1.1概述 95
4.1算法的概念 95
第二部分 计算机软件 95
第4章 算法 95
4.1.2算法定义 96
4.1.3算法的性质 96
4.1.4算法的结构 97
4.2算法的表示 99
4.2.1原语 99
4.2.2流程图 99
4.2.3伪码 101
4.3.1求和 105
4.3.2求积 105
4.3基本算法 105
4.3.3求最大和最小 106
4.3.4排序 106
4.3.5查找 107
4.4算法效率 108
4.4.1算法的规模 109
4.4.2时间复杂度 109
4.4.3空间复杂度 110
4.5小结 111
习题 111
5.1程序设计语言的演化 113
第5章 程序设计语言 113
5.1.2符号语言 114
5.1.1机器语言 114
5.1.3高级语言 115
5.2程序设计语言的类型 117
5.2.1过程化语言 117
5.2.2数式语言 118
5.2.3逻辑式语言 118
5.2.4面向对象语言 119
5.2.5专用语言 120
5.3程序设计的基本概念 121
5.3.2变量与数据类型 122
5.3.1标识符 122
5.3.3常量和文字 123
5.3.4表达式和赋值语句 124
5.3.5控制语句 126
5.3.6注释 128
5.4程序单元 129
5.4.1过程 129
5.4.2参数 130
5.4.3函数 130
5.4.4输入与输出 131
5.5.1程序翻译 132
5.5程序设计语言的执行 132
5.5.2链接程序 133
5.5.3集成开发环境 134
5.6高级话题 135
5.6.1面向对象程序设计 135
5.6.2程序设计语言的发展趋势 137
5.7小结 138
习题 139
第6章 软件工程 141
6.1软件工程概论 141
6.2软件生命周期 141
6.2.2软件生命周期阶段 142
6.2.1软件生命周期思想 142
6.2.3软件生命周期模型 144
6.3结构化方法 145
6.3.1结构化分析 145
6.3.2结构化设计 146
6.3.3结构化编程 147
6.4面向对象方法 147
6.4.1 UML语言 147
6.4.2面向对象分析(OOA) 147
6.4.5设计模式 149
6.4.4面向对象编程(OOP) 149
6.4.3面向对象设计(OOD) 149
6.5软件项目管理 150
6.5.1 CMM软件规范 150
6.5.2软件需求管理 151
6.5.3软件计划管理 151
6.5.4软件质量管理 151
6.5.5软件配置管理 152
6.6文档 152
6.6.1系统文档 152
习题 153
6.7小结 153
6.6.2用户文档 153
第三部分 数据组织 157
第7章 数据结构 157
7.1基本概念和术语 157
7.1.1什么是数据结构 157
7.1.2数据的逻辑结构 159
7.1.3数据的存储结构 159
7.1.4数据的运算 160
7.2数组 160
7.2.1一维数组的定义 160
7.2.3二维数组的存储方式 161
7.2.2二维数组 161
7.3录 162
7.3.1记录的概念 162
7.3.2访问记录 163
7.4链表 163
7.4.1链表的定义及特点 163
7.4.2链表的结点结构 163
7.4.3单链表运算 164
7.5堆栈 166
7.5.1堆栈的定义及基本概念 166
7.4.5双(向)链表 166
7.4.4循环链表 166
7.5.2栈的实现 167
7.5.3栈的操作 167
7.5.4栈的应用 168
7.6队列 169
7.6.1队列的定义 169
7.6.2队列的实现 169
7.6.3队列的基本操作 170
7.6.4队列的应用 171
7.7树 171
7.7.1树的概念 172
7.7.2树结构的基本术语 172
7.7.4特殊的二叉树 173
7.7.3二叉树的基本概念 173
7.7.5二叉树的实现 174
7.7.6二叉树的遍历 175
7.7.7二叉树的应用 176
7.8图 176
7.8.1图的定义和术语 177
7.8.2图的实现 178
7.8.3图的基本操作 179
7.8.4图的应用 180
7.9小结 181
习题 182
第8章 文件结构 184
8.1文件系统的任务 184
8.2文件 184
8.2.1文件命名 184
8.2.2文件类型 185
8.2.3文件属性 186
8.2.4文件存取 187
8.2.5编程概念 187
8.3文件结构 189
8.3.1顺序文件 189
8.3.2索引文件 191
8.3.3散列文件 192
8.4小结 195
8.3.4编程概念 195
习题 196
第9章 数据库结构 198
9.1概论 198
9.1.1引言 198
9.1.2数据库管理系统(DBMS) 200
9.1.3数据库的三层抽象模式 200
9.2数据库模型 201
9.2.1实体关系 201
9.2.2数据库模型 202
9.3.1关系数据库的设计 205
9.3关系数据库与SQL 205
9.3.2关系的操作 207
9.3.3结构化查询语言(SQL) 209
9.4数据库访问授权 211
9.4.1数据库的权限 212
9.4.2授权传递与回收 212
9.4.3权限管理的SQL语句 212
9.5几个高级话题 214
9.5.1并发控制与完整性协议 214
9.5.2数据库系统的体系结构 216
9.5.3数据库的新应用 217
9.6小结 220
习题 221
第四部分 高级主题 225
第10章 人工智能 225
10.1人工智能概述 225
10.1.1什么是人工智能 225
10.1.2人工智能的研究途径 226
10.1.3人工智能技术的应用 228
10.2推理与搜索 231
10.2.1产生式系统 232
10.2.2搜索树 234
10.2.3盲目搜索与启发式搜索 235
10.3人工神经网络 239
10.3.1基本概念 239
10.3.2一个特殊的应用 241
10.3.3联想记忆 244
10.4遗传算法 246
10.4.1遗传算法概要 246
10.4.2遗传算法的运算过程 248
10.5人工智能的发展趋势 249
10.6小结 250
习题 250
11.1.1可计算理论 254
11.1问题与计算 254
第11章 计算理论 254
11.1.2计算复杂性理论 255
11.1.3计算理论中的数学基础 255
11.2图灵机 259
11.2.1图灵机的基本原理 259
11.2.2图灵机的形式定义 260
11.2.3图灵机的变种 261
11.3不可计算问题 261
11.3.1停机问题 262
11.3.2停机问题的证明 262
11.4.1算法的复杂度 263
11.4问题的求解难度 263
11.4.2 P问题和NP问题 264
11.5密钥系统 265
11.5.1密钥系统概述 265
11.5.2背包加密算法 266
11.6小结 267
习题 268
第12章 编译技术 269
12.1编译简介 269
12.1.1编译器 269
12.1.2编译器的作用 270
12.2.2汇编程序与连接程序 271
12.2与编译器相关的程序 271
12.2.1解释程序 271
12.2.3装入程序 272
12.2.4预处理器与编辑器 272
12.2.5调试程序与描述器 272
12.2.6项目管理程序 273
12.3翻译步骤 273
12.3.1扫描程序 274
12.3.2语法分析程序 274
12.3.3语义分析程序 275
12.3.4源代码优化程序 275
12.3.5代码生成器 276
12.3.6目标代码优化程序 277
12.4编译器中的主要数据结构 277
12.4.1记号 277
12.4.2语法树 278
12.4.3符号表 278
12.4.4常数表 278
12.4.5中间代码和临时文件 278
12.5编译器结构中的其他问题 279
12.5.1分析和综合 279
12.5.2前端和后端 279
12.5.4语言定义和编译器 280
12.5.3遍 280
12.5.6出错处理 281
12.6自举与移植 281
12.5.5编译器的选项和界面 281
12.7 TINY样本语言与编译器 283
12.7.1 TINY语言 284
12.7.2 TINY编译器 284
12.7.3 TM机 285
12.8小结 286
习题 287
13.1.1计算机需要通信 289
13.1.2通信需要计算机 289
13.1计算机与通信的关系 289
第13章 通信概论 289
13.1.3通信发展简史 290
13.2信息的度量与传输 291
13.2.1信息量 291
13.2.2信息的传输速率 291
13.3通信系统的组成及分类 292
13.3.1通信系统的组成 292
13.3.2通信系统的分类 292
13.4信号的传输及处理 293
13.4.1模拟信号和数字信号的相互转换 293
13.3.3通信系统的质量指标 293
13.4.2调制与解调 294
13.4.3复用 294
13.5编码与解码技术 295
13.5.1检错与纠错 295
13.5.2压缩与解压缩 295
13.5.3加密与解密 297
13.6小结 298
习题 298
14.1信息安全的基本概念 299
第14章 信息安全 299
14.2密码技术 300
14.2.1基本概念 300
14.2.2密码技术的发展阶段 300
14.2.3古典密码算法 301
14.2.4对称密码算法 301
14.2.5非对称密码算法 303
14.3数字签名技术 304
14.3.1单向散列函数 304
14.3.2数字签名 305
14.4.1防火墙的概念 306
14.4.2防火墙的作用 306
14.3.3数字签名的应用 306
14.4防火墙技术 306
14.4.3防火墙的基本类型 307
14.4.4防火墙的优缺点 309
14.5计算机病毒 309
14.5.1计算机病毒的概念 310
14.5.2计算机病毒分类 311
14.5.3计算机病毒的检测与防治 311
14.6小结 312
习题 313
第15章 计算机应用新领域 314
15.1计算机的发展历程 314
15.2.2计算机应用面临的问题 316
15.2计算机及其应用现状 316
15.2.1计算机及其应用现状 316
15.3计算机的发展趋势与未来的计算机 319
15.4计算机应用的新领域 321
15.4.1多媒体娱乐 321
15.4.23D浸入式视频会议 322
15.4.3网格计算 323
15.5小结 323
习题 324
附录 326
计算机科学与技术学科知识体系简介 327
参考文献 332