本书是根据中国计算机技术及软件专业技术资格(水平)考试2004年《程序员考试大纲》的要求,参照《程序员教程》的结构及历年软件专业资格考试试题编写的,内容紧扣考试大纲。全书共分12章,每章都由内容提要、例题分析、思考练习题组成。内容提要是对有关章节知识的提练,给出考试要点和学习难点。例题分析是全书重点,着重解析考试大纲要求的基本知识及其综合应用方法。思考练习题供读者检验自己对有关内容掌握的程度。为了帮助学员提高理解程序、编制程序及软件设计的能力,本书专门增加了C/C++语言程序设计一章,并在有关章节中加大了软件工程、数据结构和常用算法设计方法的比重。本书供参加"程序员资格考试的学员应试复习时使用,也可供大专院校及相应层次的计算机技术人员学习参考。计算机技术及软件专业技术资格(水平)考试是国家人事部与信息产业部主办的国家级考试,十余年来为国家选拔和培养了十多万名合格的软件技术人才,在国内外产生很大影响,得到社会各界广泛认同。2000年1月,为了推动中日两国间信息技术的交流与合作,中国软件技术资格(水平)考试与日本信息处理技术人员考试就汀考试标准达成相互认证,成为我国与日本政府级的双方互相承认的软件专业技术资格考试,使软件专业技术资格考试逐步走上与国际接轨之路。2003年10月,国家人事部与信息产业部发布的39号文件规定,把计算机技术与软件专业技术资格考试纳入全国专业技术人员职业资格证书制度的统一规划中。通过考试取得技术资格证书的人员,表明已具备相应专业岗位工作水平和能力,用人单位可择优聘任其担任相应专业技术职务。同时决定今后不再进行相应专业技术职务任职资格的评审工作,因此这种考试既是职业资格考试,又是技术资格考试。我们相信这种以考代评的重大改革,对软件专业技术人才培养将起到巨大推动作用。2004年5月,软件专业技术资格(水平)考试办公室公布了新的考试大纲,对考试内容做了若干调整,扩大了软件工程的考试范围,增加了软件标准化与知识产权的考试要求。为了帮助广大学员深入理解考试大纲的要求,掌握有关课程的基本概念,基本内容和基本方法,进一步提高应试能力,在信息产业部计算机技术与软件专业技术资格考试办公室领导下,在清华大学出版社支持下,我们编写了《程序员考试辅导>该书是根据两部考试办公室制定的考试大纲的要求,配合学员考试自学复习的需要编写的。书中介绍了有关专业要求的基本知识和技能,内容涵盖软件专业的核心课程。全书包括计算机系统基础知识、操作系统、数据库、多媒体、计算机网络、程序设计语言的基础知识,强化了软件工程、数据结构、常用算法设计方法的内容,增加了软件标准化和知识产权的基础知识。为了帮助学员学习C和C++程序设计语言,本书特别增加了一章C/C++语言程序设计。考试大纲要求学员掌握的知识面很宽,考虑到学员复习的时间有限,书中针对考试大纲及教材的内容要点和学习难点作了剖析,并把重点放在例题分析上,这些题目都是作者,A-自己切身教学经验中和历届考题中精选出来的,例题分析中对有关解题思路、解题方法,应用的基本知识和基本原理,做了详尽介绍,一定会对参加考试的学员有所启发和帮助。每章还附有思考练习题及答案,供学员自我检查练习时使用。本书由清华大学谢树煜教授主编,全书共分12章,第1章计算机系统基础知识由谢树煜编写,第2章操作系统基础知识由北京大学方裕教授编写,第3章数据库基础知识由北京科技大学王道平教授编写,第4章多媒体基础知识由清华大学林福宗教授编写,第5章网络基础知识由北京农业大学孙瑞志副教授编写(清华大学计算机系博士、他在网络方面有丰富的经验),第6章程序设计语言基础由北京大学丁文魁教授编写,第7章软件系统开发与运行、第8章数据结构由清华大学殷人昆教授编写,第11章知识产权基础知识由国家软件保护中心李维高级工程师编写,第9章常用算法设计方法、第10章标准化基础知识与第12章C/C++语言程序设计由清华大学孙甲松副教授完成。他们都是相关学科的专家和教授,并且有丰富的教学经验,很多老师多年来担任过软件专业技术资格和水平考试的考前培训工作,积累了很多培训经验。本书编写过程中得到清华大学出版社柴文强编辑的大力支持和帮助,特此表示感谢。由于水平和时间有限,书中不妥之处敬请指正。 第1章计算机系统基础知识1.1内容提要1.1.1计算机基本组成和特性1.1.2数据表示1.1.3算术运算和逻辑运算1.1.4计算机组成原理1.1.5指令系统1.6计算机系统性能评价1.2例题分析1.2.1计算机的基本组成和特性1.2.2数据表示方法 1.2.3运算方法1.2.4计算机组成原理1.2.5指令系统1.2.6计算机系统性评价1.3思考练习题及答案思考练习题思考练习题答案第2章操作系统基础知识2.1内容提要2.1.1操作系统内核与处理机管理2.1.2存储管理2.1.3文件管理2.1.4设备管理1.5作业管理与用户界面2.2例题分析2.2.1操作系统内核与处理机管理2.2.2存储管理2.2.3文件管理2.2.4设备管理2.2.5作业管理2.3思考练习题及答案思考练习题思考练习题答案第3章数据库基础知识3.1内容提要3.1.1数据库管理系统的功能和特征3.1.2数据库管理技术的发展3.1.3数据描述3.1.4数据模型3.1.5数据库系统的结构3.1.6关系模型和关系运算3.1.7关系数据库SQI语言简介3.1.8数据库设计过程3.2例题分析3.3思考练习题及答案思考练习题思考练习题答案第4章多媒体基础知识4.1内容提要4.1.1多媒体的概念4.1.2多媒体计算技术4.1.3多媒体存储技术4.1.4多媒体网络应用4.1.5多媒体内容编辑语言4.2例题分析4.2.1多媒体的概念4.2.2多媒体让算技术4.2.3多媒体存储技术4.2.4多媒体网络应用4.2.5多媒体内容编辑语言4.3思考练习题及答案思考练习题思考练习题答案第5章网络基础知识5.1内容提要5.1.1计算机网络的基本概念5.1.2计算机网络的体系结构5.1.3网络的传输控制5.1.4网络互连设备5.1.5局域网技术5.1.6广域网与接入技术5.1.7TCP/IP与Intemet.5.1.8客户机朋艮务器模式与网络计算5.1.9 WindowsNT系统及管理5.1.10网络安全5.2例题分析5.3思考练习题及答案思考练习题思考练习题答案第6章程序设计语言基础6.1内容提要6.1.1程序语言基础知识6.1.2语言处理程序概述6.1.3构造编译程序基本知识6.2例题分析6.2.1程序语言基础知识6.2.2语言处理程序概述6.2.3构造编译程序基本知识6.3思考练习题及答案思考练习题思考练习题答案第7章系统开发与运行7.1内容提要7,1.1软件工程概述7.1.2系统分析与软件项目计划7.1.3需求分析7.1.4软件设计7.1.5编码7.1.6软件测试7.1.7面向对象方法7.1.8软件维护7.1.9软件管理7.1.10软件质量保证7.1.11软件开发工具与环境7.2例题分析7.3思考练习题及答案思考练习题思考练习题答案第8章数据结构8.1内容提要8.1.1线性表8.1.2栈8.1.3队列8.1.4数组8.1.5字符串8.1.6树与二叉树8.1.7图8.1.8排序8.1.9查找8.2例题分析K3思考练习题及答案第9章常用算法设计方法9.1内容提要9.1.1迭代法9.1.2穷举搜索法9.1.3递推法9.1.4递归法 9.1.5回溯法9.1.6贪婪法9.1.7分治法9.1.8动态规划法9.2例题分析9.2.1迭代法9.2.2穷举搜索法9.2.3递推法9.2.4递归法9.2.5回溯法9.2.6贪婪法9.2.7分治法9.2.8动态规划法9.3思考练习题及答案思考练习题思考练习题答案第10章标准化基础知识10.1内容提要10.1.1标准化的基本概念10.12标准化过程模式10.1.3标准的分类10.1.4标准的代号和编号10.1.5国际标准和国外先进标准10.1.6信息技术标准化10.1.7标准化组织10.1.81S09000标准简介10.1.9 1SO/IECl5504过程评估标准简介10.2例题分析10.3思考练习题及答案思考练习题思考练习题答案第11章知识产权基础知识11.1内容提要11.1.1知识产权的概念与特点11.1.2我国保护软件知识产权的法律法规11.1.3计算机软件著作权保护11.1.4计算机软件商业秘密法律保护11.2例题分析11.3思考练习题及答案思考练习题思考练习题答案第12章C/C++语言程序设计12.1内容提要12.1.1C程序的构成12.1.2变量的定义12.1.3数据类型12.1.4算术表达式12.1.5赋值表达式12.1.6和逗号运算符12.1.7三目运算符12.1.8输入/输出12.1.9选择结构汀12.1.10switch语句12.1.11标号语句和goto语句12.1.12while语句12.1.13do-while语句12.1.14for语句12.1.15continuebreak语句12.1.16字符型数据12.1.17文件引用12.1.18宏定义12.1.19函数12.1.20数组12.1.21指针12.1.22字符串12.1.23函数的进一步讨论12.1.24作用域和存储类型12.1.25结构与联合12.1.26位运算12.1.27文件操作12.1.28C++简介12.1.29关于C++的几个基本问题12.1.30类12.1.31函数重载12.1.32操作符重载12.1.33类的继承和派生12.1.34模板12.1.35异常处理12.2例题分析12.3思考练习题及答案思考练习题思考练习题答案