本书是信息产业部计算机软件专业技术资格和水平考试办公室组织编写的考试指定用书。本书遵循考试大纲的要求,对程序员考试应必备的知识和技能的要点作了阐述。\r\n 本书内容包括:计算机硬件、程序语言、操作系统、软件工程、数据库、多媒体和网络等方面的基础知识以及与程序编制有关的数据结构知识和常用算法设计方法。\r\n 本书是程序员考试应试者的必读教材,也可作为各类计算机信息技术培训和辅导的教材,还可作为大专院校师生和广大工程技术人员学习计算机信息技术基础知识的参考书。\r\n\r\n
第1章 计算机硬件基础知识\r\n\r\n1.1 计算机系统概述\r\n1.1.1 计算机史简介\r\n1.1.2 计算机系统的结构\r\n1.2 数据的计算机表示\r\n1.2.1 数制\r\n1.2.2 数值数据的表示方法\r\n1.2.3 符号数据的表示方法\r\n1.2.4 汉字的处理\r\n1.2.5 数据的校验方法\r\n1.3 计算机算术运算和逻辑运算\r\n1.3.1 二进制数的算术运算\r\n1.3.2 逻辑代数及逻辑运算\r\n1.4 计算机基本结构\r\n1.4.1 总线结构\r\n1.4.2 中央处理器\r\n1.4.3 存储器系统\r\n1.4.4 I/O系统\r\n1.5 指令系统\r\n1.5.1 机器指令的格式\r\n1.5.2 指令的种类和功能\r\n1.5.3 指令的寻址方式\r\n1.5.4 指令的执行过程\r\n\r\n第2章 程序语言知识\r\n\r\n2.1 程序语言基础知识\r\n2.1.1 概述\r\n2.1.2 程序语言的数据类型\r\n2.1.3 程序语言的控制结构\r\n2.2 汇编程序基础知识\r\n2.2.1 汇编语言\r\n2.2.2 汇编程序\r\n2.3 解释程序基础知识\r\n2.4 编译程序基础知识\r\n2.4.1 编译过程概述\r\n2.4.2 文法和语言的形式描述\r\n2.4.3 词法分析\r\n2.4.4 语法分析\r\n2.4.5 语法制导翻译和中间代码生成\r\n2.4.6 代码优化\r\n2.4.7 代码生成\r\n\r\n第3章 操作系统基础知识\r\n\r\n3.1 概述\r\n3.1.1 引言\r\n3.1.2 什么是操作系统\r\n3.1.3 操作系统的功能\r\n3.1.4 操作系统的工作原理\r\n3.1.5 操作系统的硬件基础\r\n3.2 并发进程\r\n3.2.1 程序、进程和处理器\r\n3.2.2 进程间的通信\r\n3.2.3 信号量与P,V操作\r\n3.2.4 高级通信原语\r\n3.3 系统核心\r\n3.3.1 基本硬件机构\r\n3.3.2 进程\r\n3.3.3 进程管理\r\n3.4 存储管理\r\n3.4.1 引言\r\n3.4.2 实存管理\r\n3.4.3 虚存组织\r\n3.4.4 虚存管理\r\n3.5 设备管理\r\n3.5.1 引言\r\n3.5.2 设备的分配\r\n3.5.3 磁盘调度算法\r\n3.5.4 RAID\r\n3.6 文件管理\r\n3.6.1 引言\r\n3.6.2 文件的结构和组织\r\n3.6.3 文件访问方法\r\n3.6.4 文件存储设备管理\r\n3.6.5 文件控制块和文件目录\r\n3.6.6 文件的使用\r\n3.7 作业管理和用户界面\r\n3.7.1 引言\r\n3.7.2 用户作业管理\r\n3.7.3 作业调度\r\n3.7.4 用户界面\r\n3.8 其他管理\r\n3.8.1 死锁问题\r\n3.8.2 多处理器系统与线程\r\n3.9 实例\r\n3.9.1 UNIX系统\r\n3.9.2 Windows NT系统\r\n\r\n第4章 软件工程基础知识\r\n\r\n4.1 软件工程概述\r\n4.1.1 软件生存周期\r\n4.1.2 软件开发模型\r\n4.2 系统分析和软件项目计划\r\n4.2.1 系统分析\r\n4.2.2 可行性分析\r\n4.2.3 编制项目开发计划\r\n4.3 需求分析\r\n4.3.1 需求分析的任务\r\n4.3.2 结构化分析方法简介\r\n4.4 软件设计\r\n4.4.1 软件设计的概念和原则\r\n4.4.2 结构化设计方法简介\r\n4.4.3 详细设计\r\n4.5 编码\r\n4.5.1 程序设计语言\r\n4.5.2 对源程序的质量要求\r\n4.5.3 编码风格\r\n4.6 软件测试\r\n4.6.1 测试的基本概念\r\n4.6.2 测试步骤\r\n4.6.3 白盒测试的测试用例设计\r\n4.6.4 黑盒测试的测试用例设计简介\r\n4.7 面向对象方法的基本概念\r\n4.8 软件维护\r\n4.8.1 软件维护的分类\r\n4.8.2 与软件维护有关的问题\r\n4.8.3 可维护性\r\n4.8.4 软件维护活动流程\r\n4.9 软件管理\r\n4.10 软件质量保证\r\n4.10.1 软件质量特性\r\n4.10.2 软件质量保证概述\r\n\r\n第5章 数据库基础知识\r\n\r\n5.1 数据管理技术的发展\r\n5.1.1 数据管理技术的发展阶段\r\n5.1.2 数据库技术的基本概念\r\n5.1.3 数据库系统的进一步发展\r\n5.2 数据描述\r\n5.2.1 数据的描述\r\n5.2.2 数据联系的描述\r\n5.3 数据模型\r\n5.3.1 数据模型的定义\r\n5.3.2 概念数据模型\r\n5.3.3 基本数据模型\r\n5.4 数据库系统的结构\r\n5.4.1 数据库的数据体系结构\r\n5.4.2 数据库系统\r\n5.4.3 数据库管理系统\r\n5.4.4 用户访问数据的过程\r\n5.4.5 数据库系统的全局结构\r\n5.5 关系模型和关系运算\r\n5.5.1 关系模型的基本概念\r\n5.5.2 关系运算\r\n5.5.3 关系数据库DML的特点\r\n5.6 关系数据库SQL语言简介\r\n5.6.1 SQL数据库的数据体系结构\r\n5.6.2 SQL语言的组成\r\n5.6.3 SQL DDL\r\n5.6.4 SQL DML的数据查询语句\r\n5.6.5 SQL DML的数据更新语句\r\n5.6.6 SQL的访问控制\r\n5.6.7 嵌入式SQL\r\n5.7 数据库设计过程\r\n5.7.1 数据库工程\r\n5.7.2 数据库系统生存期\r\n5.7.3 数据库设计的具体过程\r\n\r\n第6章 多媒体基础知识\r\n\r\n6.1 多媒体的概念和特征\r\n6.1.1 什么是多媒体\r\n6.1.2 多媒体的关键技术\r\n6.1.3 多媒体系统的构成\r\n6.1.4 声卡和显卡\r\n6.2 图像和图形\r\n6.2.1 基本概念\r\n6.2.2 图形、图像格式\r\n6.3 声音(音频)\r\n6.3.1 基本概念\r\n6.3.2 语音合成与语言合成\r\n6.3.3 音乐合成和MIDI\r\n6.4 视频(动画)\r\n6.4.1 基本概念\r\n6.4.2 视频格式\r\n6.5 多媒体创作工具的发展与方向\r\n6.5.1 多媒体创作工具发展概述\r\n6.5.2 多媒体创作工具技术发展\r\n\r\n第7章 网络基础知识\r\n\r\n7.1 网络发展简史\r\n7.2 网络的主要应用与网络的分类\r\n7.2.1 计算机网络的功能\r\n7.2.2 若干典型的计算机网络应用系统\r\n7.2.3 计算机网络的分类\r\n7.3 网络协议和标准\r\n7.3.1 网络的标准化\r\n7.3.2 网络协议模型\r\n7.3.3 ISO/OSI网络协议层次模型\r\n7.3.4 TCP/IP协议组\r\n7.4 常用的网络操作系统\r\n7.4.1 网络操作系统的基本功能\r\n7.4.2 Novell Netware\r\n7.4.3 Microsoft Windows NT Server\r\n7.4.4 UNIX\r\n7.5 构建LAN网络\r\n7.5.1 LAN涉及的主要网络专用设备\r\n7.5.2 网络采用的主要传输媒体\r\n7.5.3 LAN的协议标准和主要的媒体访问控制方式\r\n7.5.4 LAN的硬件构建示例\r\n7.6 构建WAN网络\r\n7.6.1 通信服务和网络接入技术\r\n7.6.2 两类重要的网络互联设备\r\n7.6.3 WAN的几种典型连接方式\r\n7.7 Internet的应用\r\n7.7.1 Internet的服务\r\n7.7.2 IP地址和城名\r\n7.7.3 Intranet初步\r\n7.8 网络应用的主要方式\r\n7.8.1 文件服务器模型与域模型\r\n7.8.2 客户机/服务器使用方式\r\n7.8.3 网络计算初步\r\n7.8.4 电子商务介绍\r\n7.9 网络的安全性初步\r\n7.9.1 网络安全性的基本概念\r\n7.9.2 网络的信息安全技术初步\r\n7.9.3 防火墙的基本概念\r\n\r\n第8章 数据结构基础\r\n\r\n8.1 线性表\r\n8.2 栈\r\n8.3 队列\r\n8.4 数组\r\n8.4.1 数组的基本概念\r\n8.4.2 稀疏矩阵\r\n8.5 字符串\r\n8.6 树和二叉树\r\n8.6.1 树\r\n8.6.2 二叉树\r\n8.6.3 二叉查找树\r\n8.6.4 穿线树\r\n8.6.5 树形数据结构程序设计实例\r\n8.7 排序\r\n8.8 查找\r\n\r\n第9章 常用算法设计方法\r\n\r\n9.1 迭代法\r\n9.2 穷举搜索法\r\n9.3 递推法\r\n9.4 递归\r\n9.5 回溯法\r\n9.6 贪婪法\r\n9.7 分治法\r\n9.8 动态规划法\r\n\r\n
中国计算机软件专业技术资格和水平考试实施至今已经历了十余年, 在社会上产生了很大影响, 对我国软件产业的形成和发展做出了重要的贡献. 为了适应我国计算机信息技术发展的需求, 国家人事部和信息产业部决定将考试的级别逐步拓展到计算机信息技术行业的各个方面, 以满足社会上对各种计算机信息技术人才的需要.
编者受信息产业部计算机软件专业技术资格和水平考试办公室委托, 在《程序设计(程序员级)》一书的基础上编写成本书, 以适应新的考试大纲要求. 在考试大纲中, 要求考生掌握的知识面很广, 一个条目在大学里可能是一学期的课程, 因此编写的难度很高.
考虑到参加考试的人员已有一定的基础, 所以书中只对考试大纲中所涉及到的知识领域的要点加以阐述, 限于篇幅不能详细地展开. 再考虑到参加考试的人员一般都已熟悉一种以上的程序设计语言和已具有基本的编程能力, 因此本书以数据结构和基本算法为主线, 使读者在原有的程序设计知识和编程能力方面得以总结. 拓宽和提高, 并增强程序的编制和阅读能力, 掌握常用数据结构和算法的原理和要点.
全书共分9章. 第1章计算机硬件基础知识由丛锁. 高传善编写, 第2章程序语言知识由张守志编写, 第3章操作系统基础知识由于玉编写, 第4章软件工程基础知识由钱乐秋编写, 第5章数据库基础知识由丁宝康编写, 第6章多媒体基础知识由白雪峰编写, 第7章网络基础知识由曹邦伟编写, 第8章数据结构基础和第9章常用算法设计方法由夏宽理编写. 最后, 由王春森统稿.
在本书的编写过程中, 参考了许多相关的书籍和资料, 编者在此对这些参考文献的作者表示感谢. 同时感谢清华大学出版社在本书出版过程中所给予的支持和帮助.
因水平有限, 书中难免存在错漏和不妥之处, 望请读者指正, 以利改进和提高.
编者
2001年3月于复旦大学