我要投稿 投诉建议

计算机二级公共基础知识练习试题

时间:2022-07-28 20:37:36 计算机等级 我要投稿
  • 相关推荐

2017计算机二级公共基础知识练习试题

  考生们在备考计算机二级的时候,要及时做题进行巩固。下面是小编分享的2017计算机二级公共基础知识练习试题,欢迎大家练习!

2017计算机二级公共基础知识练习试题

  (1) 在计算机中,算法是指______。

  A. 查询方法

  B. 加工方法

  C. 解题方案准确而完整的描述

  D. 排序方法

  [答案]C

  [考点]数据结构与算法

  [评析]

  A、B、D都过于片面,此题直接选答案也很简单。

  (2) 栈和队列的共同点是______。

  A. 都是先进后出

  B. 都是先进先出

  C. 只允许在端点处插入和删除元素

  D. 没有共同点

  [答案]C

  [考点]数据结构与算法

  [评析]

  栈是先进后出的,队列是先进先出的,共同点是只允许在端点处插入和删除元素。栈都是在一端进与出,而队列是在一端进在另一端出。

  (3) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。

  A. cedba

  B. acbed

  C. decab

  D. deabc

  [答案]A

  [考点]数据结构与算法

  [评析]

  后序又叫后根,一次递归过程是先左再右最后根;中序是先左再根最后右。

  比如下图:

  前序是:abc

  中序是:bac

  后序是:bca

  题中据后序遍历序列,一眼得知c结点是根,那么据中序deba结点都在一边,或都在根结点左边,或右边;据中序遍历序列得知全在根结点的左边。

  接下来据后序得出e结点是紧挨着c结点的左子女,再据中序得知d是e的左子女,ba是右子树。

  再据后序得b是e的右子女,再据中序得a是b的右子女。

  分析结果得二叉树图示如下:

  因为我茂叶数据结构是自学的,分析此类型的题我都是用自己的方法(递归分析的方法),要边分析边画图,一步一步连结起来,最后再根据题中的遍历检查图是否画对,如果都符合题目,最后再可根据图来得所求的遍历。

  再次声明,此所有二级公基题全是我一人的思路写的,如果你觉得不可靠,可以看其它的书。

  (4) 在下列几种排序方法中,要求内存量最大的是______。

  A. 插入排序

  B. 选择排序

  C. 快速排序

  D. 归并排序

  [答案]D

  [考点]数据结构与算法

  [分析]

  我们对比一个排序方法的优越性有"平均时间"、"最坏情况时间"和"辅助空间"。其中辅助空间一般是排序中需要额外的内存开销,这些内存开销一般据一些如中间变量(暂存变量)、比较与交换等等来决定。

  插入排序和选择排序的辅助空间都是o(1),快速排序是o(nlog2n),归并排序是o(n)。

  可知归并排序要求内存量最大,我们也可以从其变量及循环个数也以看出归并排序要求内存量最大。

  (5) 在设计程序时,应采纳的原则之一是______。

  A. 程序结构应有助于读者理解

  B. 不限制goto语句的使用

  C. 减少或取消注解行

  D. 程序越短越好

  [答案]A

  [考点]程序设计基础

  [评析]

  前面的题中已解释过,二级的各种程序设计语言教程都会对结构化程序设有一定的介绍,比如goto语句的限制使用,基本上每本书上都会提到。

  其中A,即易读性比程序的效率更显得重要,这是结构化程序设计原则提倡的,也是我们进行开发时非常重要的一点。

  (6) 下列不属于软件调试技术的是______。

  A. 强行排错法

  B. 集成测试法

  C. 回溯法

  D. 原因排除法

  [答案]B

  [考点]软件工程基础

  [评析]

  我们严格区分调试与测试,调试是已知有错误而来找错误,是被动的;测试有很多种,比如未发现错误但不能保证程序没错而来找BUG,还比如我们运行测试程序是否符合用户的要求,是主动的。不用说答案就是B了 :)

  A、C、D都是具体的程序调试方法,而B是宏观的程序测试方法。

  测试有单元测试、集成测试、确认测试、系统测试。比如我们在进行单元测试时,发现程序有错误,我们再可以根据A、C、D的方法来找错误。

  题外话:

  很多人学软件工程时认为软件工程太无聊了,似乎全部都是些背背记记的东西,但对于一个软件构架师,软件工程是非常重要的,这就不能是些背背的东西了,最重要的是理解,要彻底地理解,还得有些开发经验才行。《软件工程》这学科是从实践中得出来的,同样也需要赋予给实践中去,这样才有用!

  (7) 下列叙述中,不属于软件需求规格说明书的作用的是______。

  A. 便于用户、开发人员进行理解和交流

  B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据

  C. 作为确认测试和验收的依据

  D. 便于开发人员进行需求分析

  [答案]D

  [考点]软件工程基础

  [评析]

  A、B、C都是作用,D说法有一定的错误,开发人员包括很多,比如程序员的工作就不是进行需求分析。

  (8) 在数据流图(DFD)中,带有名字的箭头表示______。

  A. 控制程序的执行顺序

  B. 模块之间的调用关系

  C. 数据的流向

  D. 程序的组成成分

  [答案]C

  [考点]软件工程基础

  [评析]

  顾名思义,数据流图就是带有方框(外部实体)、圆圈(变换/加工)和带有名字的箭头以表示数据的流向。需求分析中常用的分析图,它远离计算机上的具体实现,软件人员和用户都能看懂,有益于和用户交流。

  (9) SQL语言又称为______。

  A. 结构化定义语言

  B. 结构化控制语言

  C. 结构化查询语言

  D. 结构化操纵语言

  [答案]C

  [考点]数据库设计基础

  [评析]

  学VF和ACCESS的朋友轻而易举选出答案,考其它的朋友们若没学数据库技术这一章节,则要记一下了。

  Structured Query Language

  结构化 查询 语言(语句)

  (10) 视图设计一般有3种设计次序,下列不属于视图设计的是______。

  A. 自顶向下

  B. 由外向内

  C. 由内向外

  D. 自底向上

  [答案]B

  [考点]数据库设计基础

  [评析]

  通常有如下几种方法:

  1、自顶向下。先全局框架,然后逐步细化

  2、自底向上。先局部概念结构,再集成为全局结构

  3、由里向外。先核心结构,再向外扩张

  4、混合策略。1与2相结合,先自顶向下设计一个概念结构的框架,再自底向上为框架设计局部概念结构  (11) 数据结构中,与所使用的计算机无关的是数据的______。

  A. 存储结构

  B. 物理结构

  C. 逻辑结构

  D. 物理和存储结构

  [答案]C

  [考点]数据结构与算法

  [评析]

  通过前面的一些题的解释,相信此题对大家也很简单了。

  逻辑结构更接近人的思想,比如栈的先进后出的结构,这是逻辑结构,如果研究到了栈在内存中的结构,如地址、地址里的内容等等,这就是物理结构了,我们一般无须过于深入底层地钻研。

  (12) 栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______。

  A. ABCED

  B. DBCEA

  C. CDABE

  D. DCBEA

  [答案]D

  [考点]数据结构与算法

  [评析]

  栈是先进后出的,因为在E放入前,A、B、C、D已经依次放进栈里了,故这四个元素出栈的顺序只能是D、C、B、A,E可是其中排序的任何位置,答案只有D符合了。

  (13) 线性表的顺序存储结构和线性表的链式存储结构分别是______。

  A. 顺序存取的存储结构、顺序存取的存储结构

  B. 随机存取的存储结构、顺序存取的存储结构

  C. 随机存取的存储结构、随机存取的存储结构

  D. 任意存取的存储结构、任意存取的存储结构

  [答案]B

  [考点]数据结构与算法

  [评析]

  顺序存储结构可以以数组为例子,它在内存中的一片连续的储存空间,从第一个元素到最后一个元素,只要根据下标就可以访问。二级的各种程序设计语言都有。

  链式存储结构可以以C/C++语言中的链表为例,各个链结点无须存放在一片连续的内存空间,而只需要指针变量指过来指过去,实现随机存取。

  (14) 在单链表中,增加头结点的目的是______。

  A. 方便运算的实现

  B. 使单链表至少有一个结点

  C. 标识表结点中首结点的位置

  D. 说明单链表是线性表的链式存储实现

  [答案]A

  [考点]数据结构与算法

  [评析]

  举个例子,假如我们写一个实现链表删除一个元素的函数(或过程),供共享用,函数的参数有2个,一个指针变量(指向链表的头结点),一个字符变量(待删除的元素)。通过链表头结点的指针传给函数的第一个指针变量参数,就可方便实现是哪一个链表的操作。

  如果你考的科目没有指针,此题答案记一下就行了。

  (15) 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______。

  A. 模块间的关系

  B. 系统结构部件转换成软件的过程描述

  C. 软件层次结构

  D. 软件开发过程

  [答案]B

  [考点]软件工程基础

  [评析]

  相当于详细设计,比如N-S图就是一种,它不用具体的某种语言实现,但描述了程序的思路,有了这就可以很轻松转换为某种语言的程序源代码。这是一种系统结构部件转换成软件的过程描述。

  (16) 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。

  A. PAD图

  B. N-S图

  C. 结构图

  D. 数据流图

  [答案]B

  [考点]软件工程基础

  [评析]

  二级科目的很多教程都在前N-S图的例子,比如C语言教程基本上都有,程序流程图大部分科目也有例子。这里再举个例子。

  比如:

  如果2等于3,则变量a=1,否则a=0。

  我们用N-S图表示:

  转换成VB:

  If 2=3 Then

  a=1

  else

  a=0

  End If

  转换成C/C++/JAVA:

  if(2==3)

  a=1;

  else

  a=0;

  (17) 数据处理的最小单位是______。

  A. 数据

  B. 数据元素

  C. 数据项

  D. 数据结构

  [答案]C

  [考点]数据结构与算法

  [评析]

  此题比较弱智,本来无从解释。

  "数据"过于宏观,比如数据库里的所有内容都可叫数据,它是不是数据处理的最小单位呢?

  "数据元素"中的"元素",如果要死钻牛角尖,的确没"数据项"说得更合适。

  "数据结构",这个范围又过于大了。

  (18) 下列有关数据库的描述,正确的是______。

  A. 数据库是一个DBF文件

  B. 数据库是一个关系

  C. 数据库是一个结构化的数据集合

  D. 数据库是一组文件

  [答案]C

  [考点]数据库设计基础

  [评析]

  A错,比如ACCESS数据库的文件是mdb格式的。

  B错,数据库里可能有很多个二维表,一个二维表就是一个关系。

  D错,虽有些数据库底层是些文件组成的,但是从逻辑结构上来说它与文件完全是2个概念,数据库管理比文件管理更容易、效率更高、安全性更强。

  (19) 单个用户使用的数据视图的描述称为______。

  A. 外模式

  B. 概念模式

  C. 内模式

  D. 存储模式

  [答案]A

  [考点]数据库设计基础

  [评析]

  外模式、模式(概念模式)、内模式(存储模式),分别是视图级、概念级、物理级。视图级即是用户使用的数据视图级,主要为局部逻辑结构,因为模式上很多个外模式,外模式到模式的映射定义了局部数据逻辑结构与全局逻辑结构之间的对应关系,表现了数据的逻辑独立性。模式到内模式则表现了数据物理独立性。

  (20) 需求分析阶段的任务是确定______。

  A. 软件开发方法

  B. 软件开发工具

  C. 软件开发费用

  D. 软件系统功能

  [答案]D

  [考点]软件工程基础

  [评析]

  据前面的题的解释,相信大家对需求分析有个理性认识了。

  分析员对用户的要求作出分析,并画出数据流程图,该图通俗易懂,不涉及到如何在计算机上实现,这是需求分析阶段,用户也参与,确定软件系统功能是一个重要的任务。 (21) 算法分析的目的是______。

  A. 找出数据结构的合理性

  B. 找出算法中输入和输出之间的关系

  C. 分析算法的易懂性和可靠性

  D. 分析算法的效率以求改进

  [答案]D

  [考点]数据结构与算法

  [评析]

  为什么要讲各种各样的算法,只要达到功能不就行了吗?

  有些场合为了让程序效率更高,必须改进算法。

  我们二级熟悉的算法改进,如二分法查找比顺序查找更快,仔细分析这些算法以求效率改进。

  再比如选择排序、插值排序、冒泡排序,哪个效率高?

  我们分析算法,可知如果序列初始比较有序的情况下,冒泡法效率最高。

  各种例子都说明D是正确答案。

  (22) n个顶点的强连通图的边数至少有______。

  A. n-1

  B. n(n-1)

  C. n

  D. n+1

  [答案]C

  [考点]数据结构与算法

  [评析]

  此题超纲不用看啦!

  图这一节超纲,软考的程序员的难度也不考的,等考三级也考不到,只有计算机四级与高级程序员或以上级别才考到。

  关于图的概念,我们在这里结合树来讲。

  通过前面的一些题,我们了解了树与二叉树,其实树也算是图的一种,树从上到下是一对多关系的,而图不单从上到下,而且可以是任意的多对多联系,它还可以有回路(结点与线合成回路),无方向的叫无向图,有箭头方向的叫有向图。

  连通图(又叫弱连通图):有顶点间存在通路(就是2点间有条路径,从这可到那)(如果是有向图,则略去方向)。

  强连通图:图中任何两点都可相互到达(有向图不能略去方向)。强连通图一定是弱连通图。

  此题问要是强连通图至少应有的边数,我们可以设想个一个环的特例,假设箭头全部是顺时针(或逆时针),可以构成任何两点都可到达的强连通图,假设有n个顶点,我们很快得出它的边数也为n。

  (23) 已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是______。

  A. 堆排序

  B. 直接插入排序

  C. 快速排序

  D. 直接选择排序  考试大论坛

  [答案]B

  [考点]数据结构与算法

  [评析]

  做此题时,我们可以回想一下每个选项的排序原理。

  堆排序是边建堆边排序的过程,而建堆排序时的效率元素距其最终位置的远近关系不大。

  插入排序是把每个元素挨个比较之前的元素,插入到合适的位置,这种排序的比较次数很不固定,它决定于每个元素距其最终位置。

  快速排序的每一趟可确定一个元素的最终位置,但以某个元素为标准的比较次数还是得比较剩下所有的,它的最大的特点是序列初始无序的情况下排序最快。(初始有序并不是每个元素距其最终位置不远,而是有一些最终相邻的元素初始已经相邻了或大致左右的顺序已经好了)。

  直接选择排序,就是每一趟选择序列剩下的元素的一个最大值(或最小值)挨个排在首端(或尾端),是人脑最常使用的方法,所以被人脑最易理解。在电脑上,这种排序效率不受其初始位置的影响。

  茂叶特注:上述解释都是我自己的理解,书上并没有如此解释,有错误还望大侠们指正!

  (24) 用链表表示线性表的优点是______。

  A. 便于插入和删除操作

  B. 数据元素的物理顺序与逻辑顺序相同

  C. 花费的存储空间较顺序存储少

  D. 便于随机存取

  [答案]A

  [考点]数据结构与算法

  [评析]

  我们知道,如果是紧凑排列的话,数组在删除一个其中一个元素时极为不方便,因为它需要把后面的元素都要往前移一个位置(插入的话则往后移)。而用链表就绝然不同了,它只需要改变指针的指向,指向这指向那的,其它元素都不用动。

  所以便于插入和删除操作。

  (25) 下列不属于结构化分析的常用工具的是______。

  A. 数据流图

  B. 数据字典

  C. 判定树

  D. PAD图

  [答案]D

  [考点]软件工程基础

  [评析]

  通过前面题的解释,数据流图属于分析阶段相信大家都有所了解了。

  数据字典也是一种分析阶段的工具。什么叫数据字典,我们可以这样理解。假设给了你一个数据流图,但上面的文字说明,比如"看书"、"练习"、"考试"、"拿证书"…(假设这些是数据(知识)的处理过程,但可能有些人认为有个"测试",实际上他的意思是"考试",如果写在数据流图上,其它人认为是"练习测试"的意思,这就造成了数据流图不一致的理解,而数据流图是开发人员和用户都能看懂的,理解肯定是一致的。所以必须有个数据字典,它标识了数据流图的所有名词述语,就好比我们用英汉词典一样,不会再有不一致的理解了。

  判定树和判定表都是加工描述方法,当然也是分析阶段的。

  PAD图(问题分析图)是详细设计阶段的工具,它的作用类似于程序流程图和N-S图。

  关于程序流图和N-S图,二级很多科目都有介绍,前面的题中我也解释过。

  (26) 软件开发的结构化生命周期方法将软件生命周期划分成______。

  A. 定义、开发、运行维护

  B. 设计阶段、编程阶段、测试阶段

  C. 总体设计、详细设计、编程调试

  D. 需求分析、功能定义、系统设计

  [答案]A

  [考点]软件工程基础

  [评析]

  我们可从一个软件的从无到有的过程来看,就是分析人员先分析,开发人员再开发,最终运行和维护。

  (27) 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是______。

  A. 循环的集合

  B. 地址的集合

  C. 路径的集合

  D. 目标的集合

  [答案]C

  [考点]软件工程基础

  [评析]

  白盒测试,我们要深入源代码的内部;而黑盒测试,我们只关心输入与输出数据是否符合要求。

  (28) 在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有______。

  A. 数据无冗余

  B. 数据可共享

  C. 专门的数据管理软件

  D. 特定的数据模型

  [答案]D

  [考点]数据库设计基础

  [评析]

  文件根据一些压缩技术也可减少冗余,数据库也有冗余,只是比文件少;

  文件也可共享,只是比数据库共享性能差;

  也有专门的文件管理软件;

  数据库发展的模型依次是:

  层次模型、网状模型、关系模型、面向对象模型。

  其中关系模型目前应用最广泛。

  (29) 分布式数据库系统不具有的特点是______。

  A. 分布式

  B. 数据冗余

  C. 数据分布性和逻辑整体性

  D. 位置透明性和复制透明性

  [答案]B

  [考点]数据库设计基础

  [评析]

  如果论特点,当然是优点,数据冗余是种害处,怎能论特点?

  何况分布式数据库还减少了冗余。

  (30) 下列说法中,不属于数据模型所描述的内容的是______。

  A. 数据结构

  B. 数据操作

  C. 数据查询

  D. 数据约束

  [答案]C

  [考点]数据库设计基础

  [评析]

  数据模型的三要素

  1.数据结构

  数据结构用于描述系统的静态特性。在数据库系统中,通常按照其数据结构的类型来命名数据模型。

  2.数据操作

  数据操作用于描述系统的动态特征。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。操作有检索、插入、删除、修改。

  3.数据完整性约束

  数据完整性约束是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。数据模型应该反映和规定本数据模型必须遵守的、基本的、通用的完整性约束。此外,数据模型还应该提供定义完整性约束的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束。

【计算机二级公共基础知识练习试题】相关文章:

2016计算机二级考试练习试题及答案08-06

2016计算机二级基础知识巩固练习题08-07

2016计算机二级公共基础知识考试预测题及答案08-06

计算机公共基础知识09-03

计算机基础知识笔试题09-26

计算机的二级公共基础学习教程09-07

计算机二级公共基础学习教程09-08

2017计算机二级C语言试题09-25

计算机二级公共基础学习教程提要09-08

2016计算机二级JAVA全真模拟试题08-06