公共基础120题详解
(1) 下面叙述正确的是______。
A. 算法的执行效率与数据的存储结构无关
B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (1) [答案]C
[考点]程序设计基础 [评析]
时间复杂度:在运行算法时所耗费的时间为f(n)(即 n的函数)。 空间复杂度:实现算法所占用的空间为g(n)(也为n的函数)。 A应为有关。
(2) 以下数据结构中不属于线性数据结构的是______。 A. 队列 B. 线性表 C. 二叉树 D. 栈 (2) [答案]C
[考点]数据结构与算法 [评析]
一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)。
A是先进先出的线性表;B是宏观概念,包括顺序表、链表、堆栈、队列…;D是先进后出的线性表
(3) 在一棵二叉树上第5层的结点数最多是______。 A. 8 B. 16 C. 32 D. 15 (3) [答案]B
[考点]数据结构与算法
[评析]依次从上到下,可得出: 第1层结点数为1;
第2层结点数为2*1=2; 第3层结点数为2*2=4;
第n层结点数为2的n-1次幂,如图所示
(4) 下面描述中,符合结构化程序设计风格的是______。
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口
C. 注重提高程序的执行效率 D. 不使用goto语句 (4) [答案]A
[考点]程序设计基础
[评析]
B没这规定,模块之间的可以通过多个接口来耦合
C结构化程序设计提倡程序的可读性(可理解性),超过程序执行效率的要求 D结构化程序设计限制goto语句的使用,因为goto语句的功能可以用三种基本的控制结构来代替,但也不是绝对不能用,只是限制使用(少用)。 (5) 下面概念中,不属于面向对象方法的是______。 A. 对象 B. 继承 C. 类 D. 过程调用 (5)
[答案]D
[考点]软件工程基础 [评析]
面向对象=对象+类+继承+通过消息的通信 对象:一组属性及其上的操作的封装体
类:一组有相同属性和操作的对象的集合
继承:一个类为另一个类上的扩充的方式,子类继承父类,主要目的是代码复用 消息:对象间通信的手段
D是结构化程序设计或过程式(函数式)语言中的,一般的面向对象程序设计语言兼容这种方式,但不是其特征,故最佳选项为D
(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。 A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (6)
[答案]B
[考点]软件工程基础
[评析]
分析员对用户的要求作出分析,并画出数据流程图,该图通俗易懂,不涉及到如何在计算机上实现,这是需求分析阶段。
软件工程中的瀑布模型:
问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,运行和维护 相关链点:
层次图和HIPO图是概要设计中的工具图;程序流程图、N-S图、问题分析PAD图、设计程序语言PDL是详细设计中的工具图
(7) 在软件开发中,下面任务不属于设计阶段的是______。 A. 数据结构设计
B. 给出系统模块结构 C. 定义模块算法
D. 定义需求并建立系统模型 (7) [答案]D
[考点]软件工程基础 [评析]
A、B为概要设计中的,C为详细设计中的,D为分析阶段中的 (8) 数据库系统的核心是______。 A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (8)
[答案]B
[考点]数据库设计基础
[评析]
数据库管理系统DBMS是数据库系统的核心,上层与用户打交道,底层与操作系统接口 注意点:数据库系统与数据库管理系统的区别
前者指的一整套业务系统,包括用户、应用程序、DBMS及操作系统的支持 (9) 下列叙述中正确的是______。
A. 数据库是一个独立的系统,不需要操作系统的支持 B. 数据库设计是指设计数据库管理系统
C. 数据库技术的根本目标是要解决数据共享的问题
D. 数据库系统中,数据的物理结构必须与逻辑结构一致 (9) [答案]C
[考点]数据库设计基础 [评析]
晕倒,数据库管理系统是人人都可设计的吗?那SYBASE和ORACLE等不都没饭吃了?普通人的数据库设计就是在DBMS的支持下设计几张表格,命几个名而已;D也错了的,数据库具有物理独立性和逻辑独立性,比如QQ是一个完整的数据库系统,我们使用的只是客户端应用程序,其数据库在腾讯的服务器上,物理独立性呢指的是数据库的底层结构改变了,而QQ的客户端不用变,对应地,逻辑独立性是指QQ的客户端改变了,数指据库的结构不用变了,否则,这么多QQ版本,那腾讯的服务器不是乱了套?
(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (10)
[答案]A
[考点]数据库设计基础 [评析]
通过前些题可知道,数据库的物理结构最底层,即对应内模式,对应的模式映像为内模式/模式(概念模式映像),逻辑独立性则对应于模式/外模式映像 (11) 算法的时间复杂度是指______。 A. 执行算法程序所需要的时间 B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (11) [答案]C
[考点]数据结构与算法 [评析]
算法的复杂度分时间复杂度和空间复杂度。
时间复杂度:在运行算法时所耗费的时间为f(n)(即 n的函数)。 空间复杂度:实现算法所占用的空间为g(n)(也为n的函数)。
称O(f(n))和O(g(n))为该算法的复杂度。
简单的例子比如常见的顺序结构时间复杂度为O(1),1层循环里面次数为n,时间复杂度就是O(n),2层循环for i=1 to n,for j=1 to n算法时间复杂度为O(n2)(里面为n的平方),复杂度主要用于算法的效率比较与优化,比如排序,查找… (12) 下列叙述中正确的是______。 A. 线性表是线性结构
B. 栈与队列是非线性结构 C. 线性链表是非线性结构 D. 二叉树是线性结构 (12) [答案]A
[考点]数据结构与算法 [评析]
一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)。 此题与(2)题类似
(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。 A. 349 B. 350 C. 255 D. 351 (13) [答案]B
[考点]数据结构与算法 [评析]
完全二叉树:若二叉树中最多只有最下面两层的结点的度可以小于2,并且最下面一层的结点(叶结点)都依次排列在该层最左边的位臵上,这样的二叉树为完全二叉树。 比如图:
完全二叉树除叶结点层外的所有结点数(叶结点层以上所有结点数)为奇数,此题中,699
是奇数,叶结点层以上的所有结点数为保证是奇数,则叶结点数必是偶数,这样我们可以立即选出答案为B!
如果完全二叉树的叶结点都排满了,则是满二叉树,易得满二叉树的叶结点数是其以上所有层结点数+1比如图:
此题的其实是一棵满二叉树,我们根据以上性质,699+1=700,700/2=350,即叶结点数为350,叶结点层以上所有结点数为350-1=349。 (14) 结构化程序设计主要强调的是______。 A. 程序的规模 B. 程序的易读性 C. 程序的执行效率 D. 程序的可移植性 (14) [答案]B
[考点]程序设计基础 [评析]
又是结构化的问题,何谓结构化? 简单地比如: VB: If...End If C: if..{...}
Pascle: Begin ...End
我们在\结构\的中间写代码,从哪执行到哪结束我们能很快抓住! 此题中重要性为:B>C>D
(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。 A. 概要设计 B. 详细设计 C. 可行性分析 D. 需求分析 (15)
[答案]D
[考点]软件工程基础 [评析]
题中所述为需求分析
可行性研究包括经济可行性、技术可行性、操作可行性,即以最小的代价确定系统的规模是否现实
概要设计的任务是确定软件的总体结构、子结构和模块的划分
详细设计的任务是确定每一模块的实现细节,包括数据结构、算法和接口 也许有人这么久了还不知道什么叫系统,什么叫模块。
晕倒,这里罗嗦一下,软件工程中的系统指的整个软件系统,比如QQ的所有东西,我们用的是客户端程序,实际的东西放在腾讯公司的服务器上,主要是数据库,包括在中间的传输过程,这一整个相关的东东都叫做OICQ的系统;什么叫模块,这里不单指如VB里的\标准模块\、\类模块\,也不单指一个窗体或者一个文件,宏观上讲,软件工程中把一种功能或相关功能把它做成一个模块,这个模块有可能是一个过程,有可能是一个函数…从功能