《程式设计师教程(第三版)(修订版)》是2012年清华大学出版社出版的图书,作者是张淑平。
基本介绍
- 书名:程式设计师教程(第三版)(修订版)
- 作者:张淑平
- ISBN:9787302266600
- 定价:49元
- 出版社:清华大学出版社
- 出版时间:2012-8-31
- 装帧:平装
内容简介
本书作为初级职称的软考指定教材,具有比较权威的指导意义。本书根据《程式设计师考试大纲》的重点内容,阐述了共12章的内容,考生在学习教材内容的同时,还须对照考试大纲(2009版),认真学习和複习大纲的知识点。 本书是在《程式设计师考试大纲》的指导下,对《程式设计师教程(第三版)》进行修订后完成的。 本书适合参加本考试的考生和大学在校生作为教材。
图书目录
第1章 计算机系统基础知识 1
1.1 计算机系统的基本组成 1
1.2 计算机中数据的表示及运算 3
1.2.1 计算机中数据的表示 3
1.2.2 校验码 12
1.2.3 逻辑代数及逻辑运算 16
1.2.4 机器数的运算 18
1.3 计算机的基本组成及工作原理 21
1.3.1 汇流排的基本概念 21
1.3.2 中央处理单元 23
1.3.3 存储系统 27
1.3.4 输入/输出技术 33
1.4 指令系统简介 37
第2章 作业系统基础知识 42
2.1 作业系统概述 42
2.2 处理机管理 45
2.2.1 基本概念 45
2.2.2 进程控制 47
2.2.3 进程通信 48
2.2.4 进程调度 52
2.2.5 死锁 54
2.2.6 执行绪 55
2.3 存储管理 56
2.3.1 基本概念 56
2.3.2 存储管理方案 57
2.3.3 分页存储管理 59
2.3.4 分段存储管理 60
2.3.5 虚拟存储管理 62
2.4 设备管理 65
2.4.1 设备管理概述 65
2.4.2 设备管理技术 66
2.4.3 磁碟调度 68
2.5 档案管理 69
2.5.1 基本概念 69
2.5.2 档案的结构和组织 70
2.5.3 档案目录 72
2.5.4 存取方法、存取控制 73
2.5.5 档案的使用 75
2.5.6 档案的共享和保护 75
2.5.7 系统的安全与可靠性 77
2.6 作业管理 78
2.6.1 作业管理 78
2.6.2 作业调度 79
2.6.3 人机界面 82
第3章 资料库基础知识 84
3.1 基本概念 84
3.1.1 资料库系统 84
3.1.2 资料库管理技术的发展 85
3.2 数据模型 87
3.2.1 数据模型的基本概念 87
3.2.2 数据模型的三要素 88
3.2.3 E-R模型 88
3.2.4 基本的数据模型 92
3.3 DBMS的功能和特徵 95
3.3.1 DBMS的功能 95
3.3.2 DBMS的特徵与分类 96
3.4 资料库模式 98
3.4.1 模式 98
3.4.2 三级模式两级映像 100
3.5 关係资料库与关係运算 100
3.5.1 关係资料库的基本概念 100
3.5.2 关係资料库模式 103
3.5.3 完整性约束 103
3.5.4 关係代数运算 104
3.6 关係资料库SQL语言简介 108
3.6.1 SQL概述 108
3.6.2 SQL数据定义 109
3.6.3 SQL数据查询 113
3.6.4 SQL数据更新 121
3.6.5 SQL的访问控制 123
3.6.6 嵌入式SQL 124
3.7 资料库设计 125
第4章 多媒体基础知识 128
4.1 多媒体的基本概念 128
4.1.1 媒体的分类和特徵 128
4.1.2 多媒体计算机系统 129
4.2 音频 134
4.2.1 数字声音基础 134
4.2.2 声音档案格式 141
4.3 图形和图像 142
4.3.1 图像的基础知识 142
4.3.2 图形与图像信息的表示和获取 144
4.3.3 图形图像档案格式 147
4.4 动画和视频 150
4.4.1 动画的基本概念 150
4.4.2 模拟视频和数字视频 152
4.4.3 视频档案格式 157
4.5 多媒体网路 158
4.5.1 超文本与超媒体 158
4.5.2 流媒体的基本概念 159
第5章 网路基础知识 161
5.1 计算机网路概述 161
5.1.1 计算机网路的组成 161
5.1.2 计算机网路的分类 162
5.2 计算机网路硬体 166
5.2.1 计算机网路互连设备 166
5.2.2 计算机网路传输媒体 171
5.3 TCP/IP协定体系结构 175
5.3.1 OSI/ISO参考模型与TCP/IP
体系结构 175
5.3.2 TCP/IP协定 177
5.3.3 IP位址 180
5.4 Internet基础知识 184
5.4.1 Internet服务 184
5.4.2 网际网路接入方式 188
5.4.3 TCP/IP的配置 190
5.4.4 浏览器的设定与使用 191
5.4.5 防火墙技术 194
5.4.6 Client/Server结构和Browser/
Server结构 199
5.5 区域网路基础 201
第6章 程式语言基础知识 206
6.1 程式语言基础知识 206
6.1.1 程式语言的基本概念 206
6.1.2 程式设计语言的分类和特点 207
6.1.3 程式语言的基本成分 210
6.2 语言处理程式基础 217
6.2.1 彙编程式基本原理 217
6.2.2 编译程式基本原理 219
6.2.3 解释程式基本原理 227
第7章 软体工程基础知识 230
7.1 软体工程和项目管理基础 230
7.1.1 软体工程概述与软体生存周期 230
7.1.2 软体开发项目管理基础知识 231
7.1.3 工具与软体开发环境 235
7.1.4 软体过程能力评估 237
7.2 面向对象技术基础 240
7.2.1 面向对象的基本概念 240
7.2.2 面向对象分析与设计基本概念 243
7.3 软体需求分析 244
7.3.1 软体需求分析的基本任务 244
7.3.2 结构化分析方法 245
7.4 软体设计 247
7.4.1 软体概要设计的基本任务 247
7.4.2 软体设计的基本原理 248
7.4.3 软体结构最佳化準则 250
7.4.4 结构化设计方法 251
7.4.5 软体详细设计 252
7.5 软体编码 256
7.5.1 程式设计方法与语言 256
7.5.2 程式设计风格 259
7.6 软体测试 261
7.6.1 软体测试的目的及原则 261
7.6.2 软体测试方法 263
7.6.3 软体测试对象和过程 266
7.6.4 软体测试设计和管理 267
7.6.5 软体调试 268
7.7 系统运行与维护 268
7.8 软体质量管理与质量保证 270
第8章 数据结构与算法 274
8.1 线性结构 274
8.1.1 线性表 274
8.1.2 栈和伫列 281
8.1.3 串 287
8.2 数组和矩阵 288
8.3 树和图 292
8.3.1 树 292
8.3.2 图 299
8.4 常用算法 303
8.4.1 算法概述 303
8.4.2 排序算法 308
8.4.3 查找算法 315
8.4.4 字元串处理 324
8.4.5 递归算法 327
8.4.6 图的相关算法 328
第9章 标準化和智慧财产权基础知识 333
9.1 标準化的基本知识 333
9.1.1 标準化的基本概念 333
9.1.2 信息技术标準化 338
9.1.3 标準化组织 341
9.1.4 ISO 9000标準简介 343
9.1.5 能力成熟度模型简介 345
9.2 智慧财产权基础知识 347
9.2.1 智慧财产权的基本概念 347
9.2.2 计算机软体着作权 349
9.2.3 计算机软体的商业秘密权 360
第10章 安全性基础知识 363
10.1 安全性概述 363
10.2 计算机病毒和计算机犯罪概述 365
10.3 网路安全 371
10.4 访问控制 374
10.5 加密与解密 376
第11章 C/C++程式设计 381
11.1 C++程式基础 381
11.1.1 C/C++程式基本结构 382
11.1.2 数据类型和运算符 383
11.1.3 基本输入输出 391
11.1.4 控制语句 395
11.1.5 函式 399
11.1.6 指针与引用 403
11.2 类与对象 408
11.3 继承与多态 416
11.4 输入与输出流库 421
11.5 异常处理 424
11.6 类库 426
11.6.1 string 427
11.6.2 STL 430
11.6.3 vector 432
11.7 C程式设计要点 435
11.7.1 递归函式 435
11.7.2 程式错误 436
11.7.3 指针与鍊表 444
第12章 Java语言程式设计 445
12.1 Java语言概述 445
12.1.1 Java语言的特点 445
12.1.2 Java开发环境 446
12.2 Java语言基础 446
12.2.1 Java基本数据类型 447
12.2.2 控制结构 453
12.2.3 Java数组与字元串 455
12.3 类与接口 458
12.3.1 类的定义与使用 458
12.3.2 对象的初始化 460
12.3.3 包 462
12.3.4 继承 463
12.3.5 抽象类与接口 466
12.4 异常 469
12.4.1 异常的处理 470
12.4.2 自定义异常 471
12.5 档案输入、输出和流 474
12.5.1 位元组流 474
12.5.2 字元流 477
12.6 Java小应用程式 478
12.7 Java类库的使用 481
1.1 计算机系统的基本组成 1
1.2 计算机中数据的表示及运算 3
1.2.1 计算机中数据的表示 3
1.2.2 校验码 12
1.2.3 逻辑代数及逻辑运算 16
1.2.4 机器数的运算 18
1.3 计算机的基本组成及工作原理 21
1.3.1 汇流排的基本概念 21
1.3.2 中央处理单元 23
1.3.3 存储系统 27
1.3.4 输入/输出技术 33
1.4 指令系统简介 37
第2章 作业系统基础知识 42
2.1 作业系统概述 42
2.2 处理机管理 45
2.2.1 基本概念 45
2.2.2 进程控制 47
2.2.3 进程通信 48
2.2.4 进程调度 52
2.2.5 死锁 54
2.2.6 执行绪 55
2.3 存储管理 56
2.3.1 基本概念 56
2.3.2 存储管理方案 57
2.3.3 分页存储管理 59
2.3.4 分段存储管理 60
2.3.5 虚拟存储管理 62
2.4 设备管理 65
2.4.1 设备管理概述 65
2.4.2 设备管理技术 66
2.4.3 磁碟调度 68
2.5 档案管理 69
2.5.1 基本概念 69
2.5.2 档案的结构和组织 70
2.5.3 档案目录 72
2.5.4 存取方法、存取控制 73
2.5.5 档案的使用 75
2.5.6 档案的共享和保护 75
2.5.7 系统的安全与可靠性 77
2.6 作业管理 78
2.6.1 作业管理 78
2.6.2 作业调度 79
2.6.3 人机界面 82
第3章 资料库基础知识 84
3.1 基本概念 84
3.1.1 资料库系统 84
3.1.2 资料库管理技术的发展 85
3.2 数据模型 87
3.2.1 数据模型的基本概念 87
3.2.2 数据模型的三要素 88
3.2.3 E-R模型 88
3.2.4 基本的数据模型 92
3.3 DBMS的功能和特徵 95
3.3.1 DBMS的功能 95
3.3.2 DBMS的特徵与分类 96
3.4 资料库模式 98
3.4.1 模式 98
3.4.2 三级模式两级映像 100
3.5 关係资料库与关係运算 100
3.5.1 关係资料库的基本概念 100
3.5.2 关係资料库模式 103
3.5.3 完整性约束 103
3.5.4 关係代数运算 104
3.6 关係资料库SQL语言简介 108
3.6.1 SQL概述 108
3.6.2 SQL数据定义 109
3.6.3 SQL数据查询 113
3.6.4 SQL数据更新 121
3.6.5 SQL的访问控制 123
3.6.6 嵌入式SQL 124
3.7 资料库设计 125
第4章 多媒体基础知识 128
4.1 多媒体的基本概念 128
4.1.1 媒体的分类和特徵 128
4.1.2 多媒体计算机系统 129
4.2 音频 134
4.2.1 数字声音基础 134
4.2.2 声音档案格式 141
4.3 图形和图像 142
4.3.1 图像的基础知识 142
4.3.2 图形与图像信息的表示和获取 144
4.3.3 图形图像档案格式 147
4.4 动画和视频 150
4.4.1 动画的基本概念 150
4.4.2 模拟视频和数字视频 152
4.4.3 视频档案格式 157
4.5 多媒体网路 158
4.5.1 超文本与超媒体 158
4.5.2 流媒体的基本概念 159
第5章 网路基础知识 161
5.1 计算机网路概述 161
5.1.1 计算机网路的组成 161
5.1.2 计算机网路的分类 162
5.2 计算机网路硬体 166
5.2.1 计算机网路互连设备 166
5.2.2 计算机网路传输媒体 171
5.3 TCP/IP协定体系结构 175
5.3.1 OSI/ISO参考模型与TCP/IP
体系结构 175
5.3.2 TCP/IP协定 177
5.3.3 IP位址 180
5.4 Internet基础知识 184
5.4.1 Internet服务 184
5.4.2 网际网路接入方式 188
5.4.3 TCP/IP的配置 190
5.4.4 浏览器的设定与使用 191
5.4.5 防火墙技术 194
5.4.6 Client/Server结构和Browser/
Server结构 199
5.5 区域网路基础 201
第6章 程式语言基础知识 206
6.1 程式语言基础知识 206
6.1.1 程式语言的基本概念 206
6.1.2 程式设计语言的分类和特点 207
6.1.3 程式语言的基本成分 210
6.2 语言处理程式基础 217
6.2.1 彙编程式基本原理 217
6.2.2 编译程式基本原理 219
6.2.3 解释程式基本原理 227
第7章 软体工程基础知识 230
7.1 软体工程和项目管理基础 230
7.1.1 软体工程概述与软体生存周期 230
7.1.2 软体开发项目管理基础知识 231
7.1.3 工具与软体开发环境 235
7.1.4 软体过程能力评估 237
7.2 面向对象技术基础 240
7.2.1 面向对象的基本概念 240
7.2.2 面向对象分析与设计基本概念 243
7.3 软体需求分析 244
7.3.1 软体需求分析的基本任务 244
7.3.2 结构化分析方法 245
7.4 软体设计 247
7.4.1 软体概要设计的基本任务 247
7.4.2 软体设计的基本原理 248
7.4.3 软体结构最佳化準则 250
7.4.4 结构化设计方法 251
7.4.5 软体详细设计 252
7.5 软体编码 256
7.5.1 程式设计方法与语言 256
7.5.2 程式设计风格 259
7.6 软体测试 261
7.6.1 软体测试的目的及原则 261
7.6.2 软体测试方法 263
7.6.3 软体测试对象和过程 266
7.6.4 软体测试设计和管理 267
7.6.5 软体调试 268
7.7 系统运行与维护 268
7.8 软体质量管理与质量保证 270
第8章 数据结构与算法 274
8.1 线性结构 274
8.1.1 线性表 274
8.1.2 栈和伫列 281
8.1.3 串 287
8.2 数组和矩阵 288
8.3 树和图 292
8.3.1 树 292
8.3.2 图 299
8.4 常用算法 303
8.4.1 算法概述 303
8.4.2 排序算法 308
8.4.3 查找算法 315
8.4.4 字元串处理 324
8.4.5 递归算法 327
8.4.6 图的相关算法 328
第9章 标準化和智慧财产权基础知识 333
9.1 标準化的基本知识 333
9.1.1 标準化的基本概念 333
9.1.2 信息技术标準化 338
9.1.3 标準化组织 341
9.1.4 ISO 9000标準简介 343
9.1.5 能力成熟度模型简介 345
9.2 智慧财产权基础知识 347
9.2.1 智慧财产权的基本概念 347
9.2.2 计算机软体着作权 349
9.2.3 计算机软体的商业秘密权 360
第10章 安全性基础知识 363
10.1 安全性概述 363
10.2 计算机病毒和计算机犯罪概述 365
10.3 网路安全 371
10.4 访问控制 374
10.5 加密与解密 376
第11章 C/C++程式设计 381
11.1 C++程式基础 381
11.1.1 C/C++程式基本结构 382
11.1.2 数据类型和运算符 383
11.1.3 基本输入输出 391
11.1.4 控制语句 395
11.1.5 函式 399
11.1.6 指针与引用 403
11.2 类与对象 408
11.3 继承与多态 416
11.4 输入与输出流库 421
11.5 异常处理 424
11.6 类库 426
11.6.1 string 427
11.6.2 STL 430
11.6.3 vector 432
11.7 C程式设计要点 435
11.7.1 递归函式 435
11.7.2 程式错误 436
11.7.3 指针与鍊表 444
第12章 Java语言程式设计 445
12.1 Java语言概述 445
12.1.1 Java语言的特点 445
12.1.2 Java开发环境 446
12.2 Java语言基础 446
12.2.1 Java基本数据类型 447
12.2.2 控制结构 453
12.2.3 Java数组与字元串 455
12.3 类与接口 458
12.3.1 类的定义与使用 458
12.3.2 对象的初始化 460
12.3.3 包 462
12.3.4 继承 463
12.3.5 抽象类与接口 466
12.4 异常 469
12.4.1 异常的处理 470
12.4.2 自定义异常 471
12.5 档案输入、输出和流 474
12.5.1 位元组流 474
12.5.2 字元流 477
12.6 Java小应用程式 478
12.7 Java类库的使用 481
图书前言
全国计算机技术与软体专业技术资格(水平)考试实施至今已经历了二十余年,在社会上产生了很大的影响,对我国软体产业的形成和发展做出了重要的贡献。为了适应我国计算机信息技术发展的需求,人力资源和社会保障部、工业和信息产业部决定将考试的级别拓展到计算机信息技术行业的各个方面,以满足社会上对各种计算机信息技术人才的需要。
编者受全国计算机专业技术资格考试办公室委託,对《程式设计师教程(第三版)》一书进行修订,以适应新的考试大纲要求。在考试大纲中,要求考生掌握的知识面很广,每个章节的内容都能构成相关领域的一门课程,因此编写的难度很高。考虑到参加考试的人员已有一定的基础,所以本书中只对考试大纲中所涉及到的知识领域的要点加以阐述,但限于篇幅所限,不能详细地展开,请读者谅解。
编者受全国计算机专业技术资格考试办公室委託,对《程式设计师教程(第三版)》一书进行修订,以适应新的考试大纲要求。在考试大纲中,要求考生掌握的知识面很广,每个章节的内容都能构成相关领域的一门课程,因此编写的难度很高。考虑到参加考试的人员已有一定的基础,所以本书中只对考试大纲中所涉及到的知识领域的要点加以阐述,但限于篇幅所限,不能详细地展开,请读者谅解。
全书共分12章,各章节内容安排如下:
第1章 计算机系统基础知识。主要介绍数据在计算机中的表示和运算、校验码基础知识、计算机硬体和指令系统基础知识。
第2章 作业系统基础知识。主要介绍作业系统的类型和功能等基本概念,进程管理、存储管理、设备管理、档案管理和作业管理等基础知识。
第3章 资料库基础知识。主要介绍资料库管理系统的主要功能和特徵、资料库模式、数据模型和ER图、关係运算和SQL等基础知识。
第4章 多媒体基础知识。主要介绍多媒体的基本概念、音频、图形和图像、动画和视频、超文本与超媒体、流媒体等基础知识,以及常见的声音、图形图像、视频档案格式及命名方式。
第5章 网路基础知识。主要介绍网路的功能、分类、组成和拓扑结构,基本的网路协定与标準,常用网路设备与网路通信设备的作用和特点、Client/Server结构和Browser/Server结构的基本概念和特点、区域网路(LAN)和网际网路(Internet)基础知识。
第6章 程式语言基础知识。主要介绍程式语言的类型和特点、程式语言的基本成分以及编译、解释等基本的语言翻译基础知识。
第7章 软体工程基础知识。主要介绍软体工程和项目管理基础、面向对象技术、软体需求分析、软体设计、编码和测试、软体系统运行与维护、软体质量管理与质量保证等基础知识。
第8章 数据结构与算法。主要介绍线性表和鍊表、栈、伫列、数组、树、图等基本数据结构,以及查找、排序等常用算法。
第9章 标準化和智慧财产权基础知识。主要介绍标準化的基本概念,标準分类、标準的代号及编号等方面的基础知识;智慧财产权的概念与特点、计算机软体着作权等方面的基础知识。
第10章 安全性基础知识。主要介绍计算机病毒、网路安全、访问控制和加解密基础 知识。
第11章 C/C++程式设计。主要介绍C/C++程式基础、类与对象、继承与多态、输入与输出流库、异常处理和常用STL模板库,以及C程式中常见的问题和错误。
第12章 Java语言程式设计。主要介绍Java程式语言基础和特点、类与接口、异常、档案和输入输出流、Java小应用程式和Java类库等基础知识。
本书第1章由张淑平编写,第2章、第3章由王亚平编写,第4章由刘强编写,第5章由严体华编写,第6章由张淑平编写,第7章由褚华、霍秋艳编写,第8章由张淑平、陈静玉编写,第9章由刘强编写,第10章由严体华、张淑平编写,第11章、第12章由胡圣明编写,最后由张淑平、霍秋艳统稿。
在本书的编写过程中,参考了许多相关的书籍和资料,编者在此对这些参考文献的作者表示感谢。同时感谢清华大学出版社在本书出版过程中所给予的支持和帮助。
因水平有限,书中难免存在错漏和不妥之处,望读者指正,以利改进和提高。
编 者
2011年6月
第1章 计算机系统基础知识。主要介绍数据在计算机中的表示和运算、校验码基础知识、计算机硬体和指令系统基础知识。
第2章 作业系统基础知识。主要介绍作业系统的类型和功能等基本概念,进程管理、存储管理、设备管理、档案管理和作业管理等基础知识。
第3章 资料库基础知识。主要介绍资料库管理系统的主要功能和特徵、资料库模式、数据模型和ER图、关係运算和SQL等基础知识。
第4章 多媒体基础知识。主要介绍多媒体的基本概念、音频、图形和图像、动画和视频、超文本与超媒体、流媒体等基础知识,以及常见的声音、图形图像、视频档案格式及命名方式。
第5章 网路基础知识。主要介绍网路的功能、分类、组成和拓扑结构,基本的网路协定与标準,常用网路设备与网路通信设备的作用和特点、Client/Server结构和Browser/Server结构的基本概念和特点、区域网路(LAN)和网际网路(Internet)基础知识。
第6章 程式语言基础知识。主要介绍程式语言的类型和特点、程式语言的基本成分以及编译、解释等基本的语言翻译基础知识。
第7章 软体工程基础知识。主要介绍软体工程和项目管理基础、面向对象技术、软体需求分析、软体设计、编码和测试、软体系统运行与维护、软体质量管理与质量保证等基础知识。
第8章 数据结构与算法。主要介绍线性表和鍊表、栈、伫列、数组、树、图等基本数据结构,以及查找、排序等常用算法。
第9章 标準化和智慧财产权基础知识。主要介绍标準化的基本概念,标準分类、标準的代号及编号等方面的基础知识;智慧财产权的概念与特点、计算机软体着作权等方面的基础知识。
第10章 安全性基础知识。主要介绍计算机病毒、网路安全、访问控制和加解密基础 知识。
第11章 C/C++程式设计。主要介绍C/C++程式基础、类与对象、继承与多态、输入与输出流库、异常处理和常用STL模板库,以及C程式中常见的问题和错误。
第12章 Java语言程式设计。主要介绍Java程式语言基础和特点、类与接口、异常、档案和输入输出流、Java小应用程式和Java类库等基础知识。
本书第1章由张淑平编写,第2章、第3章由王亚平编写,第4章由刘强编写,第5章由严体华编写,第6章由张淑平编写,第7章由褚华、霍秋艳编写,第8章由张淑平、陈静玉编写,第9章由刘强编写,第10章由严体华、张淑平编写,第11章、第12章由胡圣明编写,最后由张淑平、霍秋艳统稿。
在本书的编写过程中,参考了许多相关的书籍和资料,编者在此对这些参考文献的作者表示感谢。同时感谢清华大学出版社在本书出版过程中所给予的支持和帮助。
因水平有限,书中难免存在错漏和不妥之处,望读者指正,以利改进和提高。
编 者
2011年6月