计算机等级考试——公共基础知识部分
一、计算机系统
1.1 计算机概述
- a.计算机工作的本质是什么?
answer:
关系表格 |
---|
计算机的工作是自动快速地执行程序 |
程序是解决实际问题的指令的集合 |
指令的执行过程:取指令、译码、执行指令 |
因此计算机工作的本质是取指令、译码、执行指令
1.2 操作系统
- a.I/O方式中的程序查询方式是指?
answer:CPU要执行I/O操作时,程序将主动查询I/O设备是否准备好。
I/O方式中的程序查询方式 | |
---|---|
准备好 | CPU执行I/O操作 |
未准备好 | 程序一直查询I/O设备准备情况,CPU等待I/O设备准备好后,执行I/O操作。 |
- b.当一个进程在运行过程中释放了系统资源后要调用?
answer:唤醒进程原语
唤醒进程原语是把进程从等待队列里移出到就绪队列里,并设置进程为就绪状态。
1.一个进程在运行过程中释放了系统资源后进入就绪状态
2.要满足这一目的,需调用唤醒进程原语
- c.过程控制系统属于?
answer:实时操作系统
实时操作系统是指当外界事件或数据产生时,系统能够接收并以足够快的速度予以处理和响应,能够控制所有任务协调一致运行.
目前有三种比较典型的实时操作系统
实时操作系统 | 实例 |
---|---|
过程控制系统 | 工业生产自动控制、航天器飞行控制、航天器发射控制 |
事务处理系统 | 仓库管理系统、图书资料查询系统 |
信息查询系统 | 飞机或铁路订票系统、银行管理系统 |
因此answer是实时操作系统
- d.允许多个联机用户同时使用一台计算机系统进行计算的操作系统是?
answer:分时操作系统
- e.理论上计算机虚拟内存最大容量取决于?
answer:计算机地址位数
虚拟内存 | |
---|---|
定义 | 从硬盘储存空间划分出的一部分,并非真正的内存 |
作用 | 等同于物理内存 |
计算机支持的最大内存由计算机最大寻址能力,也就是计算机地址位数决定.
例如,32位机的寻址能力是2的32次方,也就是大约4G.
因此理论上计算机虚拟内存最大容量取决于计算机地址位数
- f.虚拟储存器的空间大小取决于?
answer:计算机的访存能力
虚拟储存器:
1.定义:其是对主存的逻辑拓展,虚拟空间的大小取决于计算机的访存能力.(主存等同于内存)
2.作用:其使存储系统既具有相当于外存的容量,又具有内存的访问速度.
3.注意:实际物理存储空间可以小于虚拟储存器的空间.
- g.在执行指令过程中,CPU不经过总线能直接访问的是?
answer:寄存器
计算机中CPU通过总线与内存,外设等连接.
- h.操作系统的基本功能有哪些?
answer:进程管理(处理机管理),存储管理,设备管理,文件管理和用户接口 - i.I/O方式中使计算机工作并行程度最高的是?
answer:通道控制
这样的话, 如图所示, 通道控制方式可以做到一个通道控制多台设备和内存进行数据交换
因而,通道控制方式进一步减轻了CPU的负担,增加了计算机系统的并行运行程度。
- j.各个进程及其关系
answer:如图所示
阻塞状态和就绪状态之间关系的详细注解:
如上所说的阻塞状态要等待的事件, 是如(等待I/O操作完成,等待信号量等)而暂停运行.
例如,一个进程在等待从硬盘读取数据,在数据读取完毕之前,它就处于阻塞状态.
二、数据结构与算法
2.1 栈和队列
- a.循环队列是队列的一种( )储存结构
answer:顺序储存结构
循环队列:
用队尾指针rear指向队列中的最后一个元素,用排头指针front指向队列中第一个元素前的地址>>因此循环队列是队列的一种顺序储存结构.
注意:rear和front的大小没有直接关系.
- b.栈,队列,链表的长度由什么决定?
answer:
类型 | 因素 |
---|---|
栈 | 栈顶元素top动态反应了栈中元素的数量情况 |
队列(循环队列) | 队尾指针和排头指针的动态变化决定队列的长度 |
链表(循环链表,线性链表) | 改变相应位置的结点指针,进而改变链表中元素的数量 |
- c.设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列正常的入栈与退栈操作后,top=0,则栈中的元素个数为()
answer:这种情况不可能出现
栈的储存空间为S(1:m) + 初始状态为top=m+1
因此,栈的初始状态为空.
经过一系列进栈操作,当进栈的元素数量等于m,即top等于1时,此时栈满,在进行入栈操作将发生溢出
因此 ,top不可能为0
- d.在循环队列中,排头指针与队尾指针相同,那么队列中的元素是多少?
answer:可能为0,也可能为满.
若循环队列的储存空间为Q(1:m)
排头 | 队尾 | 结果 | 补充 |
---|---|---|---|
front=rear=m | front=rear=m | 循环列表为空 | |
front=rear≠m | front=rear≠m | 列表可能为空,也可能为满. | 当可以成功添加元素时,列表为空;否则为满 |
front<rear | front<rear | 队列中元素数量为rear-front | |
front>rear | front>rear | 队列中元素数量为rear-front+m |
给出某带链的队列,则队列中元素数量怎么判断.
如下:
排头 | 队尾 | 结果 | 补充 |
---|---|---|---|
front=rear=NULL | front=rear=NULL | 队为空 | |
front=rear≠NULL | front=rear≠NULL | 队列中仅含一个元素 | |
非上述情况 | 非上述情况 | 不确定 |
详细解释:
带链的队列是采用链式存储结构表示的队列,
链式存储结构的存储单元是==不连续的==,
所以队列中的指针将不会有==规律地变化==.
因此说除以上情况,无法判断
- e.栈和队列元素进出的原则是?
answer:
类型 | 原则 |
---|---|
栈 | 栈按先进后出的原则组织元素 |
队列 | 队列按先进先出的原则组织元素 |
- f.在长度为n的线性表中寻找值最大的元素,最坏情况下需要比较的次数为?
answer:n-1
2.2 线性链表
-
a.循环链表的储存空间是?
- answer:可以是连续,也可以是不连续的.
-
解释如下:
-
线性表链式储存结构的特点是,用一组不连续的存储单元存储线性表中的各个元素>>因此,线性链表的存储单元是任意的,即各元素的存储序号是任意的>>因此,循环链表的存储空间是任意的.
-
b.在长度为n的有序链表内将进行查找,最坏情况下需要比较( )次
- answer:n
-
最坏情况为:查找的元素为表中的最后一个元素或查找的元素不在表中>>需要比较表中的所有元素>>因此,answer为n
-
c.从表中任意一个结点位置出发就可以不重复地访问到表中的其他结点.
- answer:循环链表
- 需要考虑到的链表有:循环链表,单向链表,双向链表,二叉链表
类型 | 分析 |
---|---|
循环链表 | 只要指出链表中任何一个结点的位置,就可以从它出发不重复地访问到表中其他所有的结点 |
单线链表 | 只有从头指针开始,才能沿各结点的指针扫描链表中的所有结点 |
双向链表 | 从任意一个位置出发,都能访问所有的结点,但会出现重复访问的情况 |
二叉链表 | 从根结点可以访问树中的所有结点,但从其他结点出发,只能访问它后面的结点,无法访问前面的结点 |
2.3 树和二叉树
- a.某二叉树的后序遍历序列与中序遍历序列相同,均为ABCDEF,则按层次输出(同一层从左到右)的序列为( )?
- answer:FEDCBA
- 二叉树遍历类型可分为以下几种(遍历左右子树遵循同样的规则)
类型 | 规则 |
---|---|
前序遍历 | 访问根结点在访问左子树和右子树之前 |
中序遍历 | 访问根结点在访问左子树和右子树之间 |
后序遍历 | 访问根结点在访问左子树和右子树之后 |
参考解析:C【解析】二叉树遍历可以分为3种:前序遍
历(访问根结点在访问左子树和访问右子树之前)、中序
遍历(访问根结点在访问左子树和访问右子树两者之
间)、后序遍历(访问根结点在访问左子树和访问右子树
之后),并且在遍历左右子树时也遵循同样的规则。本题
中,后序遍历序列与中序遍历序列均为ABCDEF,可确定
该二叉树的根结点为F,且每个结点均不存在右子树,因
此按层次输出的序列应为FEDCBA。本题答案为C选项。
- b.设某棵树的度为3,其中度为3,2,1的结点个数分别为3,0,4。则该树中的叶子结点数为( )?
- answer:7
-
假设叶子的结点数为n
-
这棵树的总结点数=度为3的结点数+度为2的结点数+度为1的结点数+度为0的结点数1>>即3+0+4+n
-
这棵树的总结点数=树中所有结点的度数之和+1>>即3×3+0×2+4×1+0×n+1=3×3+4×1+1
-
联立解方程,得n=7
- c.
2.4 排序技术和查找技术
-
a.对长度为8的数组进行 快速排序 ,最多需要的比较次数( )?
- answer:28
-
在最坏情况下,对长度为n的线性表进行快速排序,需要比较的次数为:n(n-1)/2
-
数组属于线性表>>则answer=8(8-1)/2
-
b.对长度为16的顺序表,对该表进行 简单插入排序 .在最坏情况下,需要比较的次数是( )
- answer:120
-
在最坏情况下,对长度为n的线性表进行快速排序,需要比较的次数为:n(n-1)/2
-
顺序表属于线性表>>则answer=16(16-1)/2
-
c.对长度为40的顺序表,对该表进行 冒泡排序 .在最坏情况下,需要比较的次数是( )
- answer:780
-
在最坏情况下,对长度为n的线性表进行快速排序,需要比较的次数为:n(n-1)/2
-
顺序表属于线性表>>则answer=40(40-1)/2
-
d.对长度为97的顺序有序表,对该表进行 二分查找 .在最坏情况下,需要比较的次数是( )
- answer:7
-
在最坏情况下,对长度为n的 有序线性表 进行二分查找,需要比较的次数为: l o g 2 n log_2n log2n(遵循向上取整原则)
-
顺序有序表属于有序线性表>>则answer=7
-
e.对于长度为n的顺序表,在最坏情况下,各类算法的比较次数( )
- answer:如下表
类型 | 次数公式 | 算法思想 |
---|---|---|
堆排序 | n l o g 2 n nlog_2n nlog2n | |
快速排序 | n ( n − 1 ) / 2 n(n-1)/2 n(n−1)/2 | |
顺序查找 | n n n | |
寻找最大项 | n − 1 n-1 n−1 |
- f.对于长度为n的表,在最坏情况下,各类算法的比较次数( )?
- answer:如下表
类型 | 次数公式 |
---|---|
有序表的二分查找 | l o g 2 n log_2n log2n |
顺序排序 | n n n |
寻找最小项 | n − 1 n-1 n−1 |
寻找最大项 | n − 1 n-1 n−1 |
-
g.在快速排序法中,每经过一次数据交换后,逆序的改变情况( )
- answer:能消除多个逆序
- 快速排序的思想是:
-
从线性表中选出一个元素,记为T,将线性表中小于T的元素移到T前,线性表中大于T的元素移到T后. >> 进而将线性表划分为两个子表,T处于分割线的位置. >>对各个子表进行重复的操作.
-
因此
-
快速排序不是对两个相邻的元素进行比较,是用过一次交换进而消除多个逆序,这个过程中也可能产生新的逆序
-
h.在希尔排序法中,每经过一次数据交换后,逆序的改变情况( )
- answer:能消除多个逆序
- 快速排序的思想是:
-
从线性表中选出一个整数(称为增量), 记为d1(d1<把全部数据元素分成d1组,所有距离为 d1倍数 的元素放在一组中,组成了一个子序列. >> 进而将线性表划分为d1个子序列,对每个子序列分别进行简单插入排序. >> 然后取d2<d1, 对各个子表进行重复上述分组和排序工作,直到di=1,即所有记录在一组中为止.
-
因此
-
希尔排序可以通过一次交换进而消除多个逆序.
三、程序设计基础
3.1程序设计方法和风格
- a.结构化程序设计强调( )
- answer:程序的易读性
-
解释:
-
结构化程序设计的目的:通过设计结构良好的程序,以程序静态的良好的结构保证程序动态执行的正确性,使程序易理解、易调试、易维护,以提高软件开发的效率,减少出错率,因此结构化程序强调程序的易读性。
-
(文字是辅助图案理解的)
- b.软件需求规格说明书包含( )
- answer:如下表
- c.良好程序的设计风格有那些( )
- answer:如下表
-
"清晰第一,效率第二"的论点已成为当今主导的程序设计风格
-
良好的程序设计风格需要考虑以下因素.
因素 |
---|
1.源程序要文档化 |
2.注意数据说明的风格,以便使程序中的数据说明更加易于理解和维护 |
3.语句构造简单 |
4.检验所有输入数据的合理性,合法性 |
3.2 结构化程序设计
- a.结构化程序设计原则( )
- answer:结构化程序设计的原则如下:
原则 |
---|
自顶向下 |
逐步求精 |
模块化 |
限制使用goto语句 |
- b.软件设计常用的工具有( )图
- answer:如表所示
类型 | |
---|---|
结构图 | |
程序流程图 | |
N-S图 | |
PAD图 | |
HIPO图 | |
判定表 | |
PDL |
- c.系统结构图的最大扇入数由什么决定( )
- answer:最大扇入数由系统附属功能数决定
- d.需求分析阶段的工作包括( )
- answer:如下表
方面 |
---|
需求获取 |
需求分析 |
需求规格说明书编写 |
需求评审 |
- e.数据流图中的主要图形元素和说明( )
- answer:如下表
- f.数据流图(DFD)构造规则及其作用( )
- answer:如下表
-
作用:
-
数据流图是系统逻辑模型的图形表示, 从数据传递和加工的角度, 来刻画数据流从输入到输出的移动变化过程, 他直接支持系统的功能建模.
构造规则 | 相应注意事项 |
---|---|
对加工处理建立唯一,层次性的编号 | 每个加工过程要求既有输入又有输出 |
数据存储之间不应有数据流 | |
保证数据流图的一致性 | 即输入输出,读写的对应 |
父图,子图关系与平衡规则 | 相邻两层DFD之间有父子关系: 子图表现父图某个加式的详细描述,父图表现了子图间的接口. <> 子图个数不大于父图中的处理个数. <> 子图和父图的输入输出数据流保持一致 |
3.3 面向对象的程序设计
- a.对象的构成成分( ),面向对象的主要特征( )
- answer:如下表
成分 | 特征 |
---|---|
对象名(标识) | 抽象 |
属性 | 封装 |
操作 | 继承 |
多态 |
四、软件工程基础
4.1 软件工程基本概念
- a. 系统软件有哪些,及其它与应用软件的关系
- answer:如下表
-
应用软件是为了应用于特定的领域而开发的软件
系统软件 |
---|
操纵系统 |
数据库管理系统 |
编译系统 |
汇编程序和网络软件 |
- b.软件工程的三要素( )
- answer:如下表
要素 | 解释 |
---|---|
方法 | 完成软件开发各项任务的技术手段; |
工具 | 工具支持软件的开发、管理、文档生成; |
过程 | 过程支持软件开发的各个环节的控制、管理。 |
4.2 结构化分析方法
-
a.某系统总体结构图如下图所示,该系统结构图的宽度是( )
- answer:5
-
宽度指最大模块数的层的控制跨度, 即横向最大模块数
-
在该结构图中, 第1层有1个模块, 第2层有3个模块, 第3层有5个模块, 第4层有2个, 故横向最大模块数为5.
-
b. 某系统总体结构图如上图所示,该系统结构图的深度是( )
- answer:4
-
深度表示控制的层数
-
c. 某系统总体结构图如上图所示,该系统结构图的最大扇出数是( )
- answer:3
-
扇出指由一个模块直接调用其他模块的个数.
-
d. 某系统总体结构图如下图所示,该系统结构图的最大扇入数是( )
- answer:n
-
扇入指由调用一个给定模块的模块个数.
-
该图中, 调用"功能n.1 模块"的模块最多, 有n个
4.3 软件测试
- a. 黑盒测试技术依据的是( )
- answer:软件功能的描述
-
黑盒测试又称功能测试或数据驱动测试, 着重测试软件功能.
- b. 黑盒测试和白盒测试的方法和技术是( )
- answer:如下表
- 二者都为动态测试 2
黑盒测试 | 方法和技术 | 白盒测试 | 方法和技术 | 分支 |
---|---|---|---|---|
边界值分析法 | 逻辑覆盖测试 | 语句覆盖 | ||
等价类划分法 | 路径覆盖 | |||
错误推测法 | 判定覆盖 | |||
因果图 | 条件覆盖 | |||
判断–条件覆盖 | ||||
基本路径测试 |
- c. 软件测试的实施步骤是( )
- answer:如下
-
软件测试的实施过程主要有4个步骤: 单元测试, 集成测试, 确认测试(验收测试)和系统测试.
- d. 代码编写阶段可执行的软件测试是( )
- answer:如下
-
单元测试,也称模块测试.
五、数据库设计基础
5.1 数据库系统的基本概念
- a. 关系数据库中的二维表的基本特征( )
- answer:如下表
元组 ( 行 ) | 基本特征 | 属性(列) | 基本特征 |
---|---|---|---|
元组个数有限性 | 属性名唯一性 | ||
元组的唯一性 | 分量值域的统一性 ( 其分量具有与该属性相同的值域) | ||
元组的次序无关性 | 属性的次序无关性 | ||
元组分量的原子性 ( 即不可分割性 ) |
- b. 各类模式及其解释 ( )
- answer:如下表
类型 | 解释 |
---|---|
概念模式 ( 模式 ) | 其是数据库系统中全局数据逻辑结构的描述, 全体用户的数据公共视图 |
外模式 ( 子模式或用户模式 ) | 其是用户的数据视图, 也就是用户所能够看见和使用局部数据的逻辑结构和特征的描述, 是与某一应用有关的数据的逻辑表示 |
内模式 ( 物理模式 ) | 其是数据物理结构和储存方式的描述, 是数据在数据库内部的表达方式 |
- c. 数据库应用系统(DBAS)的内容及其核心问题 ( )
- answer:如下表
- 核心问题:
-
数据库设计是数据应用的核心
数据库应用系统的内容 |
---|
数据库() |
数据库管理系统 |
人员 ( 数据库管理员和用户 ) |
硬件平台 |
软件平台 |
应用软件 |
应用界面 |
5.2 数据模型
- a. 数据库系统中, 数据模型包括 ( )
- answer:概念模型, 逻辑模型, 物理模型
逻辑模型 ( 逻辑数据模型 ) ( 数据模型 ) | 下属分类 | 下属相应结构 | 概念模型 | 下属分类 |
---|---|---|---|---|
层次模型 | 树形结构 | 实体-联系模型 | ||
网状模型 | 网状结构 | 面向对象模型 | ||
关系模型 | 二维表 | |||
面向对象模型 |
一、 逻辑模型是面向数据库系统的模型, 着重于在数据库系统一极的实现
二、 概念数据模型, 即概念模型, 他是一种面向用户, 面向客观世界的模型, 它与具体的数据库管理系统和具体的计算机管理平台无关.
- b. 实体之间联系的模型包括 ( )
- answer:如下表
-
以上模型也是数据库系统的按照传统数据模型分类的模型.
模型 | 结构 |
---|---|
层次模型 | 树形结构 |
网状模型 | 网状结构 |
关系模型 | 二维表 |
- c. 关系数据库中的键 ( )
- answer:能唯一标识元组的属性或属性集合
- d. 关系模式中的键或码 对应的解释 ( )
- answer:在关系模式中凡能唯一标识元组的最小属性集称为该关系的键或码. 关系模式中可能有若干个键, 它们称为该表的候选码或候选键
- e. 关系模型中的关系模式至少是 ( )
- answer:1NF
-
在任何一个数据库中, 第一范式 ( 1NF )是对关系模式的基本要求。
- f. 数据库三级模式之间的数量关系 ( )
- answer:一个数据库的概念模式和内模式 ( 物理模式 ) 只能有一个, 外模式 ( 子模式或用户模式 ) 可以有多个
- g. 由关系R1和关系R2得到关系R3的操作是 ( )
- answer:等值连接
-
【解析】
-
一、关系R1和关系R2均为3元的关系,而关系R3为6元的关系,两个3元的关系进行并或交操作不可能得到6元的关系,可直接排除并、交两项操作。
-
二、关系R1和关系R2均为有3个元组,两者进行笛卡尔积操作应得到一个含有9个元组的关系,而题目中R3只有3个元组, 排除笛卡尔积操作。
-
三、关系R3是关系R1和关系R2按照条件R1.B=R2.D进行等值连接得到的关系。
5.3 数据库设计和管理
- a. 数据库管理系统的基本功能包括 ( )
- answer:如下表
数据库管理系统的基本功能 |
---|
数据模式定义 |
数据库存取的物理构建 |
数据操纵) |
数据完整性、安全性的定义与检查 |
数据库的并发控制与故障恢复 |
数据的服务 |