程序员考试准备资料【打印版】
- 格式:docx
- 大小:1.21 MB
- 文档页数:70
程序员考试大纲考试科目1 :计算机与软件工程基本知识1. 计算机科学基础1.1 数制及其转换1.1.1二进制、十进制和十六进制等常用数制及其相互转换> 二进制与十进制之间的相互转换(II)(1)二进制转十进制:按权位(2k)展开后相加(2)十进制转二进制:整数与小数分开求解(整数除2取余,按逆序排列;小数乘2取整,按顺序排列)> 二进制与十六进制之间的相互转换(I)(4位二进制数相当于一位十六进制数)1.2 数据的表示1.2.1数的表示> 带符号定点数据(纯整数和纯小数)的原码、反码、补码表示(II)(1)带符号数的最高二进制位作为符号位,0表示正数,1表示负数。
(2)正数的原码=反码=补码(符号位为0,其余位不变)负数的原码(符号位为1,其余位不变)负数的反码(符号位为1,其余位求反)负数的补码(反码+1)(3)相对于原码和反码,补码有一个例外,当符号位为1而数值位均为0时,它表示整数2n-1.(4)对于8位二进制, 使用原码或反码表示的范围为[-127, +127], 而使用补码表示的范围为[-128, 127].> 浮点数(实数)的表示(I)(1)浮点数的形式:N=M×B E(其中,M表示尾数,E代表阶码,B代表基数)计算机中的浮点数只能用尾数和阶码表示> 精度和溢出的概念(II)(2)浮点数的精度由尾数的位数决定,范围由阶码的位数决定(3)规格化的浮点数形式对尾数提出了限制,尾数绝对值范围在[0.5,1)之间(4)浮点数的尾数为0或者阶码为最小值时,通常被当做0处理,称作机器零(5)当浮点数是规格化数且大于机器所能表示的最大数时,产生上溢,机器不再运算而是转入溢出中断处理;当浮点数的阶码小于机器所能表示的最小数时,产生下溢,下溢一般当做机器零处理1.2.2非数值数据的表示> 西文字符的表示(I)ASCII码(美国标准信息交换码)七位二进制代码表示一个字符> 汉字的表示方法(I)国标GB2312-80规定,全部国标汉字及符号组成94×94的矩阵,行称为“区”,列称为“位”,区码和位码组合在一起形成“区位码”,可唯一确定一个汉字或汉字符号> 声音数据的表示方法(I)> 图像数据的表示方法(I)1.3 算术运算和逻辑运算1.3.1计算机中二进制数的运算方法> 补码表示定点数的相加、相减运算(I)原码表示的机器数进行减法运算是很麻烦的,所以在计算机中常用补码来进行(1)和的补码等于补码的求和;(2)差的补码等于被减数的补码加上减数取负后的补码;(3)补码的各位取反(包括符号位)再加1等于取负补码补码加减运算的规则:(1)参加运算的操作数均用补码表示;(2)符号位参加运算(3)若进行相加运算,则两个数的补码直接相加;若进行相减运算,则将减数连同其符号位一起取反后再加1与被减数相加;(4)运算结果也用补码表示。
1.3.2逻辑代数的基本运算> 基本的与、或、非逻辑运算(II)与(运算符号通常用“AND”“∩”“Λ”“·”)或(运算符通常用“OR”“∪”“+”)非(在变量符号上加“–”)1.4 数学应用1.4.1常用数值计算> 矩阵的基本运算(I)> 方程的近似求解(I)> 线性插值(I)两点加直线方程1.4.2排列组合,应用统计> 排列组合计算(I)> 基本的数据统计分析方法及实例计算(I)1.4.3编码基础> ASCII码的特点及编码计算(II)> 汉字编码的特点(I)在计算机中处理汉字,必须先将汉字代码化,即对汉字进行编码。
汉字处理包含汉字的编码输入、汉字的存储和汉字的编码输出等环节。
汉字种类繁多,编码比拼音困难,而且在一个汉字处理系统中,输入、内部处理、存储和输出对汉字编码的要求不尽相同,所以采用的编码也不同。
汉字的输入码主要分为三类:数字编码、拼音码和字形码。
汉字内部码是汉字在设备和信息处理系统内部存储、处理和传输汉字用的代码,两个字节存放一个汉字的内码,每个字节的最高位置为1.汉字字形码是表示汉字字形的字模数据,通常用点阵、矢量函数等方式表示> 奇偶校验码的特点及实例计算(II)(1)码距:一个编码系统中任意两个合法编码之间至少有多少个二进制位不同(2)奇偶校验码:通过在编码中增加一个校验位来使编码中1的个数为奇数或者偶数,从而使码距变为2。
对于奇偶校验,它可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中奇数位发生了错误,也就是编码中的1变为0或0变为1,则该编码中1的个数的奇偶性就发生了变化,从而可以发现错误。
(注意,奇偶校验码只能发现错误而不能校正错误)(3)常见的奇偶校验码分为:水平奇偶校验码、垂直奇偶校验码和水平垂直校验码> 循环冗余码的定义及构造(I)(1)循环冗余检验码:利用生成多项式为k个数据位产生r个校验位来进行编码,其编码长度为k+r。
其格式为:循环冗余校验码CRC是由两部分组成的,左边为信息码(数据),右边为校验码。
若信息码占k位,则校验码就占n-k位,n为循环冗余码的长度,所以又称循环冗余码为(n,k)码。
校验码是由信息码产生的,校验码的位数越长,该代码的校验能力越强。
(2)在求循环冗余校验码时,采用的是模2运算。
> 海明码的定义及构造(I)(1)海明码也是利用奇偶性来检错和纠错的检验方法(2)海明码的构成方法是:在数据位之间插入k个校验位,通过扩大码距来实现检错和纠错。
1.5 常用数据结构·数组> 数组的定义及特点(I)> 一维数组元素的存储特点和元素位置计算(II)> 二维数组元素的按行存储及按列存储方式的特点及元素的位置计算(II)> 静态数组的概念及动态数组的概念(I)·线性表及链表> 线性表的定义和基本运算(I)> 线性表的顺序存储和特点(I)> 指针、结点、头指针和头结点的概念(I)> 单向链表的定义及特点(II)> 双向链表的定义及特点(I)> 环形链表的定义及特点(II)·队列、栈> 队列的定义及运算特点(II)先进先出(队尾进,队首出,类似于排队)> 循环队列的定义及运算(I)> 队列采用环形链表的运算特点(I)> 栈的定义及运算特点(II)先进后出(在栈顶进出栈)> 栈采用一维数组存储结构的运算特点(I)> 栈采单向链表存储结构的运算特点(I)·树> 二叉树的定义(I)> 二叉树的顺序存储结构和二叉链表存储结构的特点(II)> 二叉树的先序、中序、后序和层序遍历运算的含义(II)二叉树的先序、中序、后序遍历> 最优二叉树(哈夫曼树)的定义(I)·图> 图的定义和常用术语(I)有关图的讲解> 图的邻接矩阵存储结构和邻接表存储结构定义及特点(II)图的邻接矩阵1.6 常用算法·算法与数据结构的关系> 算法的定义和特点(I)> 算法与数据结构的关系(I)·算法设计和算法描述> 基本的算法设计方法(I)> 算法的流程图描述和伪代码描述方法(II)·常用的排序算法> 插入排序、冒泡排序、选择排序算法(III)> 希尔排序、快速排序、堆排序、归并排序算法(II)·查找算法> 顺序查找、二分查找过程(III)·常用的数值计算方法(II)·字符串处理算法(II)·递归算法(I)·最小生成树、拓扑排序和单源点最短路径求解算法(I)2.计算机系统基础知识2.1 硬件基础知识2.1.1 计算机的类型和特点·微机(PC机)、工作站、服务器、主机、大型计算机、巨型计算机、并行机的特点(I)2.1.2 中央处理器CPU·CPU的组成> CPU的组成和基本结构(I)中央处理器CPU由运算器、控制器和寄存器组成,是计算机的核心部件,既是执行各种运算的中心,又是控制调度全机工作的中心。
> 控制器与运算器的基本组成和功能(I)(1)控制器:计算机的控制中心,指令的执行部件,其工作的内容是取指令、分析指令并执行指令,包括指令计数器(PC)、指令寄存器(IR)、控制逻辑电路和时钟控制电路等组成。
(2)运算器:CPU执行算术运算和逻辑运算的部件,又称为算术逻辑单元。
主要任务是对信息进行加工处理。
不同的计算机的运算器结构不同,但基本上都包括算术和逻辑运算单元、累加器(AC)、状态字寄存器、寄存器组及多路转换器等逻辑部件。
运算器有两个输入口,一个和累加器连接,另一个和通用寄存器连接;两个输出端,一个是将运算结果送至累加器或指定部件,另一个是将运算结果的状态标志位送至状态寄存器。
·常用的寄存器> 累加器AC、标志寄存器、通用寄存器组的概念和功能(I)(1)累加器用于暂存被操作数的运算结果;(2)通用寄存器用于寄存操作数或者操作数地址;(3)状态寄存器也称标志寄存器,用于存放运算器(算术逻辑单元)产生的状态消息。
> 程序计数器(PC)、指令寄存器(IR)、地址寄存器(MAR)和数据寄存器(MDR)的定义和作用(I)(1)程序计数器(指令计数器)用于产生及存放下一条将要执行指令的地址;(2)指令寄存器用于存放正在执行的指令;(3)地址寄存器,用来保存当前CPU所访问的内存单元的地址(4)数据寄存器,在运算过程中暂存操作数的中间结果·指令系统,寻址方式> 指令系统的概念(I)一种计算机所能识别的一组指令的集合,不同类型的计算机,其指令系统不一样。
指令系统是计算机硬件与软件之间的接口。
> 指令的概念、格式和类型(I)(1)指令是指挥计算机完成各种操作的基本命令(2)指令格式就是指令用二进制代码表示的结构形式,通常由操作码字段和地址码字段两部分组成。
操作码指示了操作的性质,即本条指令要完成的工作,而地址码字段指定参与操作的操作数的地址。
一般指令中不直接给出操作数,而是给出操作数的存储地址。
组成操作码字段的位数一般取决于计算机指令系统的规模,一般来说一个包含N位的操作码最多能表示2N条指令。
(3)指令有单操作数指令和双操作数指令,单操作数指令的地址码部分只有一个,而双操作数指令的地址码部分有两个地址。
(4)寻址方式是指指令执行过程中形成操作数有效地址的方法。
> 立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、间接寻址、相对寻址、变址寻址的含义(I)寻址方式就是如何对指令中的地址字段进行解释,以获得操作数或获得程序转移地址的方法(1)立即寻址,指令中地址码提供的不是地址而是参与运算的操作数本身。