当前位置:学者斋 >

计算机 >计算机二级 >

计算机二级公共基础知识模拟试题及答案

计算机二级公共基础知识模拟试题及答案

以下是应届毕业生考试网小编搜索整理的2017年计算机二级公共基础知识模拟试题及答案,更多计算机二级考试内容请继续关注应届毕业生考试网。

计算机二级公共基础知识模拟试题及答案

(1) 算法一般都可以用哪几种控制结构组合而成______。

A. 循环、分支、递归

B. 顺序、循环、嵌套

C. 循环、递归、选择

D. 顺序、选择、循环

[答案]D

[考点]数据结构与算法

[评析]

结构化程序设计中,基本的控制结构为顺序、选择、循环。各种具体的程序设计语言中的一些控制结构都可以划分到这些类中。比如VB里的Select Case语句、 If,C/C++中的switch()、if{}……都属于选择控制结构。相应的for循环和while语句都属于循环结构。按从上到下顺序执行的即是顺序控制结构。

(2) 数据的存储结构是指______。

A. 数据所占的存储空间量

B. 数据的逻辑结构在计算机中的表示

C. 数据在计算机中的顺序存储方式

D. 存储在外存中的数据

[答案]B

[考点]数据结构与算法

[评析]

这是个基本概念题。存储空间量只是数据的存储结构的一个属性,答案C也太片面,比如链表也是种存储方式,而非线性的还有树、图……我们所学的数据结构不涉及到数据在计算机外存(比如硬盘、软盘)具体的方式,而仅关心它们在内存中逻辑结构,比如数组,它是内存中一片连续的数据存储,我们对每一个元素都可以顺序地访问,只需要知道某一个元素的地址,其它数据元素的地址可以据库下标与数组类型(如字符型、整型……)所占的存储空间就可算出每个元素的地址,故顺序访问所有元素。但是对于具体数据在内存中的物理存储,我们很少关心。比如某个数组建立时,它的首地址具体是多少?它们在内存中的二进制表示是什么的?

另,什么叫物理结构,什么叫逻辑结构,可以这样来理解,就好比物理结构是一个人的肉体,逻辑结构是一个人的灵魂,类似于计算机中硬件与软件的说法。就好比我们上QQ,发送消息、接收消息,基本上近似大众人的思维,但发送消息与接收消息这些的具体技术过程或它们在CPU和硬盘上的活动,甚至二进制是什么呢?去问腾讯公司

(3) 设有下列二叉树:

对此二叉树中序遍历的结果为______。

A. ABCDEF

B. DBEAFC

C. ABDECF

D. DEBFCA

[答案]B

[考点]数据结构与算法

[评析]

该题原稿没图,故无从解释,此知识点的详解部分请看5题

(4) 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。

A. 调用语句

B. 命令

C. 口令

D. 消息

[答案]D

[考点]程序设计基础

[评析]

通过消息机制。太理论方面的不多说,现举例说明。

C++:

比如在VC++中,单击了一个菜单命令项"退出",我们要实现退出程序,如何来实现?很简单,只要向窗体发送一个PostQuitMessage(0);就可以关闭窗体。

这个在VB中还简单,三个字符"End"即可解决,相当于向所有窗体发送一个销毁窗体的消息,即"Unload 窗体名"语句。(如果是单个窗体的话,即相当于Unload Me语句)

VB:

Public a As Integer

Private Sub Command1_Click()

a = 20

Print a

End Sub

Private Sub Command2_Click()

Form_Load ''''''''''''''这里调用Form_Load()过程,实用a=10

Print a

End Sub

Private Sub Form_Load()

a = 10

End Sub

命令按纽Command2向其母窗体发送一个消息,使其为Command2服务。

Command2是CommandButton类的一个对象,主窗体是窗体类的一个对象。

关于类与对象的理解,请大家看前面的题的详解。

(5) 检查软件产品是否符合需求定义的过程称为______。

A. 确认测试

B. 集成测试

C. 验证测试

D. 验收测试

[答案]A

[考点]软件工程基础

[评析]

A、C、D相近,但A为比较正规的说法名词。

确认测试也称合格测试或验收测试,主要由用户参加,检验软件规格说明的技术标准的符合程度,是保证软件质量的最后关键环节。

单元测试主要采用白盒法,之后再采用集成测试,主要采用黑盒法。这些主要由开发者的工作,而无用户参与,不是检查是否符合需求定义的。

什么叫白盒黑盒?

相当于这样理解吧:

白盒测试,我们要注意到代码;黑盒,我们只关心程序运行的输入输出是否正确,一般是大量的测试,主要于非增量测试中使用,而非增量测试又一般适用于规模较小的系统开发。可以想象,一个很大很复杂的系统,我们用黑盒法来集成测试,效果可想而知。

(6) 下列工具中属于需求分析常用工具的是______。

A. PAD

B. PFD

C. N-S

D. DFD

[答案]D

[考点]软件工程基础

[评析]

PAD,问题分析图,常用于详细设计;

PFD,程序流程图,常用于详细设计,我们很多如C、VB…程序设计书上都有简单的实例;

N-S,方框图,比程序流程图更灵活,也常用于详细设计;

DFD,数据流图,远离具体在计算机上的实现,不懂计算机的用户也能看懂,用于需求分析。

什么叫详细设计?它与我们编程有什么区别?

这样理解吧,公司的高级程序员,就是软件设计师,他们会搞详细设计的(在概要设计之后),比如用PAD或N-S画个图,它不涉及具体的某种程序设计语言的实现,但程序员们都能看懂,程序员再用某种语言(比如C、VB、JAVA…)按照图来写代码。这个过程,高级程序员完成设计工作,程序员完成写代码工作。

(7) 下面不属于软件设计原则的是______。

A. 抽象

B. 模块化

C. 自底向上

D. 信息隐蔽

[答案]C

[考点]软件工程基础

[评析]

我们无论是设计与编写代码,无论是画数据流图还是程序流图,习愦性思维都是先有输入才有输出,从下至下。自底向上不是软件设计的原则。

(8) 索引属于______。

A. 模式

B. 内模式

C. 外模式

D. 概念模式

[答案]B

[考点]数据库设计基础

[评析]

要特别记住此题的答案。

索引的写入修改了数据库的物理结构,而不是简单的逻辑设计。内模式规定了数据在存储介质上的`物理组织方式、记录录址方式。

(9) 在关系数据库中,用来表示实体之间联系的是______。

A. 树结构

B. 网结构

C. 线性表

D. 二维表

[答案]D

[考点]数据库设计基础

[评析]

关系数据库中的关系,用二维表表示,A为层次数据模型的,B为网状数据模型的。

数据库模型分为:

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

(10) 将E-R图转换到关系模式时,实体与联系都可以表示成______。

A. 属性

B. 关系

C. 键

D. 域

[答案]B

[考点]数据库设计基础

[评析]

基本概念题,实体与联系可以表示成关系,关系可以表示成二维表。

(11) 在下列选项中,哪个不是一个算法一般应该具有的基本特征______。

A. 确定性

B. 可行性

C. 无穷性

D. 拥有足够的情报

[答案]C

[考点]程序设计基础

[评析]

算法具有确定性、可行性,并拥有足够的情报。

(12) 希尔排序法属于哪一种类型的排序法______。

A. 交换类排序法

B. 插入类排序法

C. 选择类排序法

D. 建堆排序法

[答案]B

[考点]数据结构与算法

[评析]

Shell排序法 输入:数组名称(也就是数组首地址)、数组中元素个数

思想为:在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,

并且对插入下一个数没有提供任何帮助。如果比较相隔较远距离(称为

增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除

多个元素交换。l于1959年在以他名字命名的排序算法中实现

了这一思想。算法先将要排序的一组数按某个增量d分成若干组,每组中

记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量

对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成

一组,排序完成。

下面的函数是一个希尔排序算法的一个实现,初次取序列的一半为增量,

以后每次减半,直到增量为1。以C语言为例。

void shell_sort(int *x, int n)

{

int h, j, k, t;

for (h=n/2; h>0; h=h/2) /*控制增量*/

{

for (j=h; j  {

t = *(x+j);

for (k=j-h; (k>=0 && t<*(x+k)); k-=h)

{

*(x+k+h) = *(x+k);

}

*(x+k+h) = t;

}

}

}

故属于插入类排序法。

(13) 下列关于队列的叙述中正确的是______。

A. 在队列中只能插入数据

B. 在队列中只能删除数据

C. 队列是先进先出的线性表

D. 队列是先进后出的线性表

[答案]C

[考点]数据构与算法

[评析]

队列是先进先出的,栈是先进后出的,2者的区别一定要搞清楚。

(14) 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。

A. N+1

B. N

C. (N+1)/2

D. N/2

[答案]B

[考点]数据结构与算法

[评析]

很简单,我们的二级程序设计语言书中都有此算法,另外还要掌握二分法查找,这也是我们二级中常考的。

那么二分法最坏的情况为多少次呢?

>log2 n的最小整数值。

比如n为1,最坏的情况要比较次;

n为18,最坏的情况要比较5次。

二分法适用于已排序的顺序表(我们二级语言中都是数组),考二级书里的,这里不再罗嗦。

(15) 信息隐蔽的概念与下述哪一种概念直接相关______。

A. 软件结构定义

B. 模块独立性

C. 模块类型划分

D. 模拟耦合度

[答案]B

[考点]软件工程基础

[评析]

模块独立性越强,则信息隐蔽性越好。

举个例,

VB:

在多重窗体设计时,每个窗体里的变量尽量与其它窗体里变量无关,比如少用Public声明的变量,即全局变量,当多个窗体共享全局变量越多时,窗体的独立性就越差。

C:

头文件里的一些函数,一般不用到全局变量,否则在主程序里出乱子的情况很多,我们在模块化开发时,尽量使每个模块独立,强功能内聚,分工明确,调试程序也要方便得多。

C++:

考此项的朋友估计不用我多讲,类的封装性就是一个很好的说明。

(16) 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。

A. 模拟现实世界中不同事物之间的联系

B. 强调模拟现实世界中的算法而不强调概念

C. 使用现实世界的概念抽象地思考问题从而自然地解决问题

D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

[答案]C

[考点]软件工程基础

[评析]

我们举个例,

从各种语言的结构体类型出发,我们知道,结构体中可以定义很多变量,对每个变量执行相同的操作,挨个挨个写出,很麻烦。假设该结构体有如下变量:

草鱼、田鱼、鲫鱼……

它们都在一口池塘里,现在执行:它们都上来

传统的程序设计是:

草鱼上来

田鱼上来

鲫鱼上来

……

一条一条都写出,是不是很麻烦?

改进一下,我们用个循环:

n等于从1到10(假设共有10种鱼)

第n种鱼上来

还是很麻烦,现实中我们很易想到用"面向对象的思想",池塘里所有的鱼都是一个结构体变量,名为鱼,执行:

鱼上来

意思即所有的鱼都上来。

现特定于面象对象语言中的类,鱼,就可以看作为一类。

这就属于 C 项:

使用现实世界的概念抽象地思考问题从而自然地解决问题

这样罗嗦的解释望大家别晕,旨在帮助部分人的确难想通的,为应试,你能背下答案也行。

(17) 在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。

A. 详细设计

B. 需求分析

C. 总体设计

D. 编程调试

[答案]C

[考点]软件工程基础

[评析]

从先到后一排,是:

需求分析、总体设计、详细设计、编程调试

需求分析远离在计算机上的实现,谈不上功能的分解;

有了需求分析的报告,软件设计员可以思考我要让软件怎么做,开始总体设计,其间将软件的功能分解,确定模块之间的接口;

有了每个模块功能的分解,再对每个模块进入详细设计阶段;

接下来再是程序员的任务,编写代码,开始编程调试。

(18) 软件调试的目的是______。

A. 发现错误

B. 改正错误

C. 改善软件的性能

D. 挖掘软件的潜能

[答案]B

[考点]软件工程基础

[评析]

一个程序调试是为了干什么?

还不是为了改正错误?

发现错误?这只是一个过程,改正错误之前必须先发现错误,总不能目的就仅为发现错误吧。

(19) 按条件f对关系R进行选择,其关系代数表达式为______。

A. R|X|R

B. R|X|R

C. бf(R)

D. ∏f(R)

[答案]C

[考点]数据库设计基础

[评析]

C是选择一行,D是投影一列,二者要区分开。

如果不仅谈此题的话,有关关系代数,内容有些多,这里不是一两句能说清,可以看看相关《数据库》的资料中的关系代数,里面写得很详细。为应试,情急之下能记住几个题答案就行。

(20) 数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。

A. 自顶向下

B. 由底向上

C. 由内向外

D. 由整体到局部

[答案]D

[考点]数据库设计基础

[评析]

通常有如下几种方法:

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

2、自底向上。先局部概念结构,再集成为全局结构 、由里向外。先核心结构,再向外扩张

1、混合策略。1与2相结合,先自顶向下设计一个概念结构的框架,再自底向上为框架设计局部概念结构

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/erji/093g9n.html