计算机等级考试二级公共基础考前背诵版.docx
- 文档编号:30173944
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:38
- 大小:44.36KB
计算机等级考试二级公共基础考前背诵版.docx
《计算机等级考试二级公共基础考前背诵版.docx》由会员分享,可在线阅读,更多相关《计算机等级考试二级公共基础考前背诵版.docx(38页珍藏版)》请在冰豆网上搜索。
计算机等级考试二级公共基础考前背诵版
二级公共基础知识部分考试大纲
基本要求
1.掌握算法的基本概念。
2.掌握基本数据结构及其操作。
3.掌握基本排序和查找算法。
4.掌握逐步求精的结构化程序设计方法。
5.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
6.掌握数据的基本知识,了解关系数据库的设计。
考试内容
一、基本数据结构与算法
1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础
1.程序设计方法与风格。
2.结构化程序设计。
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础
1.软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.结构化设计方法,总体设计与详细设计。
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.程序的调试,静态调试与动态调试。
四、数据库设计基础
1.数据库的基本概念:
数据库,数据库管理系统,数据库系统。
2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4.数据库设计方法和步骤:
需求分析、概念设计、逻辑设计和物理设计的相关策略。
考试方式
1、公共基础的考试方式为笔试,与C语言(VisualBASIC、VisualFoxPro、Java、Access、VisualC++)的笔试部分合为一张试卷。
公共基础部分占全卷的30分。
2、公共基础知识有10道选择题和5道填空题。
2011年计算机等级考试二级公共基础考前背诵版
下面分为四个部分进行组织。
文中标注了三个星号的,表示非常重要,基本每次考试都是必考;标注了两个星号或一个星号的,表示也较重要,很容易考到。
出现在【】括号中的内容,表示要很精确的背下来的。
整个文档中的五页,建议考前都要认真的记忆。
第一部分算法与数据结构(历年比例41%)
1、算法
◆问题处理方案的正确而完整的描述称为【算法】。
算法分析的目的是,分析算法的效率以求改进。
算法的基本特征是【可行性】、【确定性】、【有穷性】和拥有足够情报。
◆算法的有穷性是指:
算法程序的运行时间是有限的。
◆算法的复杂度是衡量算法好坏的度量,分为【时间复杂度】和【空间复杂度】。
★★时间复杂度是指执行算法所需要的【计算工作量】;算法的空间复杂度是指算法执行过程中所需的【存储空间】。
◆算法时间复杂度或空间复杂度中的一项的值,没有办法推出另一项的值。
2、数据结构
◆数据结构分为【逻辑结构】和【存储结构】。
线性结构和非线性结构属于逻辑结构;顺序、链式、索引属于存储结构(物理结构)。
循环队列属于【存储结构】。
★数据的存储结构又称为物理结构,是数据的逻辑结构在计算机存储空间中的存放形式。
◆一个逻辑结构可以有多种存储结构,且各种存储结构影响数据处理的效率。
程序执行的效率与数据的存储结构密切相关。
◆数据结构分为线性结构和非线性结构,带链的队列属于【线性结构】。
◆线性表的存储结构主要分为顺序存储结构和链式存储结构。
顺序存储结构的存储一定是连续的,链式存储的存储空间不一定是连续的。
◆有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。
◆队列是一种特殊的线性表,循环队列按照【先进先出】原则组织数据。
循环队列是队列的【顺序】存储结构。
◆数据的独立性分为【物理独立】性和【逻辑独立性】。
当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序可以不用修改,称为【物理独立性】。
3、栈和队列
★★栈是一种特殊的线性表,是只能在一端进行插入和删除的线性表,特点是FILO(FirstInLastOut)。
★★栈是【先进后出】的线性表;栈具有记忆作用;对栈的插入与删除操作中,不需要改变【栈底指针】。
假定让元素1、2、3、A、B依次入栈,则出栈的顺序是:
B、A、3、2、1。
◆栈与队列都是线性结构,树是非线性结构。
支持子程序调用的数据结构是【栈】。
◆栈与队列的共同点是,都只允许在【端点处】插入和删除元素。
◆栈只能顺序存储的描述是错误的。
栈可以有【顺序和链式】两种存储方式。
★★队列是允许在一段插入,在另一端进行删除的线性表,其特点是【先进先出】。
◆循环队列中元素的个数是由队头指针和队尾指针共同决定。
循环队列的头指针为front,尾指针为rear,容量为maxSize,则循环队列中元素的个数是【(rear-front+maxSize) mod maxSize】。
4、线性链表
◆线性链表是线性表的链式存储结构。
用链表表示线性表的优点是【便于插入和删除操作】。
◆线性链表的存储空间不一定连续,且个元素的存储顺序是任意的。
5、树与二叉树
◆在树结构中,一个结点所拥有的后件(继)的个数称为该结点的度,所有结点中最大的度称为树的度。
二叉树各结点的度只可能取值0、1、2,不可能是其它值。
换言之,知道了度为1结点数量的前提下,叶子结点或度为2的结点中知道其一,就可以求出总的结点数。
★★★下面关于计算结点数量的几个性质,非常重要:
(1)对任意的二叉树,叶子结点的数量,比度为2的结点数量多一个(换言之,已知叶子结点的数量,减去1则是度为2的结点数量;已知度为2的结点数量,加上1就是叶子结点数量)
(2)完全二叉树如果有N个结点,当N为奇数的时候,叶子结点数为(N+1)/2,此时二叉树只有度为0的叶子结点及度为2的结点,没有度为1的结点;当N为偶数的时候,叶子结点的数量为N/2。
(注意条件,必须是完全二叉树,当然包括满二叉树)
(3)满二叉树第K层上的结点数量为2K-1;深度为K的满二叉树,结点总数为2K-1。
上述的计算公式,关键要能够应用,例如,深度为7的满二叉树,度为2的结点数量是多少?
既然是满二叉树,叶子结点的数量就是第7层的结点数量,也就是26,可以算出叶子结点为64,因此度为2的结点数是63(叶子结点数减去1)。
★★★二叉树的前序遍历、中序遍历、后续遍历:
前中后三个词是相对于根来讲的,前序是【根-->左-->右】,中序是【左-->根-->右】,后续是【左-->右-->根】。
具体操作为:
先序遍历(DLR):
访问根结点,按先序遍历左子树,按先序遍历右子树。
中序遍历(LDR):
按中序遍历左子树,访问根结点,按中序遍历右子树。
后序遍历(LRD):
按后序遍历左子树,按后序遍历右子树,访问根结点。
下面以中序遍历为例,来讲解实际的解题方法:
对一棵树,将根结点下的左子树用一个椭圆圈起来,右子树也用一个椭圆圈起来。
之后,在左子树上标记上1,在根结点标记上2,在右子树上标记上3。
对在左边椭圆内的左子树,现在把它单独拿出来分析。
把它的左子树圈起来标上1.1,根结点标记上1.2,右子树标上1.3。
按照上述方法依次往下,直到树不能拆分,然后按照“左-->根--->右”的顺序写出结点的访问先后即可。
6、查找技术
◆对于长度为n的线性表,顺序查找最坏情况下需要比较n次。
(对数据是否有序没有要求)。
◆顺序查找最好情况下查询次数是1,最坏情况下是n,平均为(1+n)/2。
★★对于长度为n的有序线性表,二分法最坏情况下只需要比较log2n次。
(数据必须有序)
◆能用二分法进行查找的是【顺序存储的有序线性表】。
7、排序技术
★★对于长度为n的线性表,【冒泡排序、快速排序、简单插入排序、简单选择排序】这四种排序方式在最坏情况下的比较次数相同,都是【n(n-1)/2】。
堆排序的效率最高,是【nlog2n】。
★★希尔排序最坏情况下需要次比较【n1.5】。
希尔排序属于【插入类排序法】。
◆已知数据表A中每个元素距最终位置不远,为节省时间,应该采用的算法是【直接插入排序】。
选择排序、插入排序、快速排序、归并排序中对内存要求最大的是【归并排序】。
第二部分软件工程基础(历年比例27%)
1、软件工程基本概念
★★软件是包括【程序】、【数据】及【相关文档】的完整集合,软件是一种逻辑产品。
软件工程三要素包括【方法、工具和过程】,其中【过程】支持软件开发的各个环节的控制和管理。
◆软件工程的核心思想:
把软件产品当作是一个工程产品来处理,强调在软件开发过程中应用【工程化】原则。
◆从工程管理角度,软件设计一般分为两步完成,它们是【概要设计】和【详细设计】。
★★软件生命周期可分为多个阶段,一般分为【定义】阶段、【开发】阶段和【维护】阶段,编码和测试属于【开发阶段】。
◆需求分析阶段产生的主要文档是【软件需求规格说明书】。
软件需求的规格说明书应该有完整性、无歧义性、正确性、可验证性、可修改性等特征,其中最重要的是【正确性】。
2、结构化分析与设计
★★需求分析的分发有:
【结构化】需求分析方法,【面向对象】的分析方法。
DFD是【需求分析阶段】可以使用的工具之一。
◆结构化分析的常用工具:
数据流图(DFD);数据字典;判定树;判定表。
◆在结构化分析使用数据流图(DFD)时候,利用【数据字典】对其中的图形元素进行确切的解释。
【数据字典】是结构化分析的核心。
◆典型的数据流类型有两种,【交换性】和【事务型】。
◆常见的过程设计工具有:
图形工具(程序流程图、N-S,PAD,HIPO)、表格工具(判定表)、语言工具(PDL伪码)。
◆内聚性是模块内部的联系,耦合性模块之间的相互联系的紧密程度。
★★★追求目标是:
模块的内聚程度要高,模块间的耦合程度要尽量弱。
即高内聚低耦合。
★★程序流程图中带有箭头的线段表示的是【控制流】。
【平行四边形】代表输入输出,【矩形】代表处理,菱形代表【判断】(注意,数据流图中的箭头,代表【数据流】)。
◆符合结构化原则的三种基本控制结构是:
【顺序结构】,【选择结构】和【循环结构】。
3、软件测试与维护
★★软件测试的目的是尽可能多的发现程序中的错误,但是不包括改正错误。
(软件调试的目的才是改正错误)
★★软件测试分为静态测试和动态测试,其中【静态测试】是指不执行程序,只对程序文本进行检查。
软件的动态测试主要包括【黑盒测试】和【白盒测试】。
◆黑盒测试的方法有等价类划分法,边界值分析法,错误推测法,因果图;白盒测试主要方法有逻辑覆盖、基本路径测试。
(考试时给出一种方法的名字,你要知道属于白盒还是黑盒)
【白盒测试】的原则之一是保证所测模块的每一个独立路径至少要执行一次。
白盒测试将程序看做是【路径的集合】。
◆软件测试一般按照四个步骤进行:
单元测试,集成测试,验收测试和系统测试。
集成测试应该在【单元测试】之后进行。
◆在模块测试中,需要为每个被测试的模块设计【驱动模块】和【承接模块】。
其中,驱动模块的作用是将测试的数据传给被测试的模块,并显示结果。
◆【测试用例】是为某个目标而编制的一组测试输入、执行条件及预期结果。
测试用例包括输入值集和【输出值集】。
★★诊断和改正程序中的错误称为【程序调试】(或软件调试),通常也称为Debug。
软件调试可分为【静态调试】和【动态调试】。
◆在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程称为【软件维护】。
注意软件维护不属于软件生命周期【开发阶段】的任务。
第三部分数据库设计基础(历年比例24%)
1、数据库系统基本概念
◆数据库设计的根本目标是要解决【数据共享问题】。
在数据库管理技术发展的三个阶段中,数据共享最好的是【数据库系统阶段】。
数据独立性最高的阶段是【数据库系统阶段】。
◆数据库系统与文件系统的区别是前者具有【特定的数据模型】。
◆数据库系统常见的数据模型有层次模型,网络模型和【关系模型】。
★★数据库系统的核心是【数据库管理系统】。
◆ DBS包括DB和DBMS。
完整讲,数据库系统DBS由数据库DB、数据库管理系统DBMS、数据库管理员DBA、硬件平台和软件平台组成。
◆数据库应用系统的核心是【数据库维护】。
◆数据库系统的三级模式结构:
内模式处于最底层,它反映了数据在计算机物理结构中的实际存储形式;概念模式处于中层,它放映了设计者的数据全局逻辑要求,与软硬件环境无关;
外模式处于最外层,它反映了用户对数据的要求。
◆在数据库系统中,用户所见的数据模式为【外模式】。
◆数据库设计的四个阶段是:
需求分析、概念设计、【逻辑设计】和【物理设计】。
将E-R图转换成关系数据模型属于【逻辑设计】阶段。
◆数据库管理系统提供的数据语言:
数据定义语言DDL,数据操纵语言DML,数据控制语言DCL。
SQL的全称是StructuredQueryLanguage,中文意思是【结构化查询语言】。
2、数据模型
★★★实体之间的联系用树形结构来表示的模型是【层次模型】。
采用二维表来表示的是【关系模型】。
在关系数据库中,把数据表示成二维表,每一个二维表称为【关系】。
◆在关系数据库中,用来表示实体之间联系的是【关系】。
◆将E-R图转化为关系模式时,实体和联系都可以表示为【关系】。
★★★确定两个实体之间是一对一、一对多、还是多对多的方法是:
选择实体A,看是否有多个实体B与之对应;选择实体B,看是否有多个实体A与之对应。
例如在“学生学习课程”中的两个实体,学生与课程,一个学生可以学习多门课程,一门课程可以被多个学生学习,所以二者是一种多对多的关系。
★★在E-R图中,用来表示实体的图形是【矩形】。
用来表示【属性】的图形是椭圆。
用菱形来表示联系。
★★一个关系表的行称为【元组】(或记录),列称为【属性】(或字段)。
◆在二维表中,元组的【分量】不能再分为更小的数据线。
◆为了建立一个关系,首先要构造数据的【逻辑关系】。
3、关系代数
◆在交、差、投影中,不改变关系表中的属性个数但是能减少元组个数的是【交】运算。
★★★关系运算的规则(下面介绍的7种运算,考试的时候一般会考察一种,都要背)
(1)并运算R∪S:
并运算是两个表行上的合并,重复的行只出现一次。
(2)交运算R∩S:
交运算是选出两个表中的公共行。
(3)差运算R-S:
差运算是从表R中,删除R与S中都出现过的行。
(4)选择运算:
选出二维表【部分的行】称为选择运算。
(5)投影运算:
选出二维表【部分的列】称为投影运算。
(6)连接运算:
根据两个表的共同属性的值,将它们连接起来,无需去除共同属性。
如果去掉了重复属性,就称为自然连接。
(7)笛卡尔乘积:
将关系R中的每一行依次与关系S中的每一行进行排列组合。
注意:
除了选择运算和投影运算操作的是单个表之外,其余的元算都需要两个表(两个关系)。
其中,并运算、交运算和差运算要求两个关系R与S要具有相同个数的属性。
第四部分程序设计基础(历年比例8%)
★★程序设计总体原则:
清晰第一、效率第二。
◆良好程序风格包括:
源程序要文档化,数据说明的次序要规范化,避免滥用goto语句。
◆结构化程序设计的核心是算法,面向对象的核心是对象(类)。
★★结构化程序设计的基本原则是:
【自顶向下】、【逐步求精】、【模块化】、【限制使用Goto语句】。
★★类是一组具有相同属性和相同操作的对象的集合。
面向对象模型中,最基本的概念是对象和【类】。
在面向对象方法中,类的实例称为【对象】,实现信息隐藏是通过对象的【封装】。
★★面向对象的特征包括抽象,【封装】、【继承】、【多态】。
◆继承提高了软件的【可重用性】。
◆对象是【属性和方法】的封装体,对象间的通讯靠【消息传递】,操作是对象的动态性属性。
二级公共基础样卷及答案
一、选择题
(1)下列叙述中正确的是
A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成
C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试
(2)下列数据结构中,能用二分法进行查找的是
A)顺序存储的有序线性表 B)线性链表
C)二叉链表 D)有序线性链表
(3)下列关于栈的描述正确的是
A)在栈中只能插入元素而不能删除元素
B)在栈中只能删除元素而不能插入元素
C)栈是特殊的线性表,只能在一端插入或删除元素
D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
(4)下列叙述中正确的是
A)一个逻辑数据结构只能有一种存储结构
B)数据的逻辑结构属于线性结构,存储结构属于非线性结构
C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
(5)下列描述中正确的是
A)软件工程只是解决软件项目的管理问题
B)软件工程主要解决软件产品的生产率问题
C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D)软件工程只是解决软件开发中的技术问题
(6)下列不属于软件过程设计工具的是
A)PDL(过程设计语言) B)PAD图
C)N-S图 D)DFD图
(7)下列叙述中正确的是
A)软件交付使用后还需要进行维护
B)软件一旦交付使用就不需要再进行维护
C)软件交付使用后其生命周期就结束
D)软件维护是指修复程序中被破坏的指令
(8)数据库设计的根本目标是要解决
A)数据共享问题 B)数据安全问题
C)大量数据存储问题 D)简化数据维护
(9)设有如下关系表:
R S T
A B C A B C A B C
1 1 2 3 1 3 1 1 2
2 2 3 2 2 3
3 1 3
则下列操作中正确的是
A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S
(10)数据库系统的核心是
A)数据模型 B)数据库管理系统
C)数据库 D)数据库管理员
二、填空题
(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是【1】。
(2)算法复杂度主要包括时间复杂度和【2】复杂度。
(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:
驱动模块和承接模块(桩模块)。
其中【3】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
(4)一棵二叉树第六层(根结点为第一层)的结点数最多为【4】个。
(5)数据结构分为逻辑结构和存储结构,循环队列属于【5】结构。
二级公共基础答案
一、选择题
(1)C
(2)A (3)C (4)D (5)C
(6)D (7)A (8)A (9)B (10)B
二、填空题
(1)【1】数据库系统或数据库系统阶段或数据库
或数据库阶段或数据库管理技术阶段
(2)【2】空间
(3)【3】驱动模块
(4)【4】32
(5)【5】存储或物理或存储结构或物理结构
二级计算机公共知识练习80+40(附答案)
(1)下面叙述正确的是______。
(C)
A.算法的执行效率与数据的存储结构无关
B.算法的空间复杂度是指算法程序中指令(或语句)的条数
C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对
(2)以下数据结构中不属于线性数据结构的是______。
(C)
A.队列B.线性表C.二叉树D.栈
(3)在一棵二叉树上第5层的结点数最多是______。
(B)
A.8B.16C.32D.15
(4)下面描述中,符合结构化程序设计风格的是______。
(A)
A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B.模块只有一个入口,可以有多个出口
C.注重提高程序的执行效率D.不使用goto语句
(5)下面概念中,不属于面向对象方法的是______。
(D)
A.对象B.继承C.类D.过程调用
(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。
(B)
A.可行性分析B.需求分析C.详细设计D.程序编码
(7)在软件开发中,下面任务不属于设计阶段的是______。
(D)
A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型(8)数据库系统的核心是______。
(B)
A.数据模型B.数据库管理系统C.软件工具D.数据库
(9)下列叙述中正确的是______。
(C)
A.数据库是一个独立的系统,不需要操作系统的支持
B.数据库设计是指设计数据库管理系统
C.数据库技术的根本目标是要解决数据共享的问题
D.数据库系统中,数据的物理结构必须与逻辑结构一致
(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。
(A)
A.内模式B.外模式C.概念模式D.逻辑模式
(11)算法的时间复杂度是指______。
(C)
A.执行算法程序所需要的时间B.算法程序的长度
C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数
(12)下列叙述中正确的是______。
(A)
A.线性表是线性结构B.栈与队列是非线性结构
C.线性链表是非线性结构D.二叉树是线性结构
(13)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。
(B)
A.349B.350C.255D.351
(14)结构化程序设计主要强调的是______。
(B)
A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性
(15)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
(D)
A.概要设计B.详细设计C.可行性分析D.需求分析
(16)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是______。
(A)
A.控制流B.加工C.数据存储D.源和潭
(17)软件需求分析阶段的工作,可以分为四个方面:
需求获取、需求分析、编写需求规格说明书以及______。
(B)
A.阶段性报告B.需求评审C.总结D.都不正确
(18)下述关于数据库系统的叙述中正确的是______。
(A)
A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型的一致
D.数据库系统比文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机等级考试 二级 公共 基础 考前 背诵