Page1of36公共基础知识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.8B.16C.32D.15(3)[答案]B[考点]数据结构与算法[评析]依次从上到下,可得出:第1层结点数为1;第2层结点数为2*1=2;第3层结点数为2*2=4;第n层结点数为2的n-1次幂,如图所示(4)下面描述中,符合结构化程序设计风格的是______。A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑Page2of36B.模块只有一个入口,可以有多个出口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[考点]软件工程基础[评析]分析员对用户的要求作出分析,并画出数据流程图,该图通俗易懂,不涉及到如何在计算机上实现,这是需求分析阶段。软件工程中的瀑布模型:问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,运行和维护Page3of36相关链点:层次图和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)下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。Page4of36A.内模式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层循环fori=1ton,forj=1ton算法时间复杂度为O(n2)(里面为n的平方),复杂度主要用于算法的效率比较与优化,比如排序,查找…(12)下列叙述中正确的是______。A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构(12)[答案]A[考点]数据结构与算法[评析]一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)。此题与(2)题类似(13)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。A.349B.350Page5of36C.255D.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...EndIfC:if..{...}Pascle:Begin...End我们在结构的中间写代码,从哪执行到哪结束我们能很快抓住!此题中重要性为:BCD(15)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。A.概要设计B.详细设计C.可行性分析D.需求分析(15)[答案]D[考点]软件工程基础[评析]Page6of36题中所述为需求分析可行性研究包括经济可行性、技术可行性、操作可行性,即以最小的代价确定系统的规模是否现实概要设计的任务是确定软件的总体结构、子结构和模块的划分详细设计的任务是确定每一模块的实现细节,包括数据结构、算法和接口也许有人这么久了还不知道什么叫系统,什么叫模块。晕倒,这里罗嗦一下,软件工程中的系统指的整个软件系统,比如QQ的所有东西,我们用的是客户端程序,实际的东西放在腾讯公司的服务器上,主要是数据库,包括在中间的传输过程,这一整个相关的东东都叫做OICQ的系统;什么叫模块,这里不单指如VB里的标准模块、类模块,也不单指一个窗体或者一个文件,宏观上讲,软件工程中把一种功能或相关功能把它做成一个模块,这个模块有可能是一个过程,有可能是一个函数…从功能角度度量模块内的联系为模块的内聚(一般来说越强越好,不易出错);模块之间的联系为耦合,比如我们编程中常用把一实参的值赋给了函数中的形参,使函数完成某一功能,耦合度越低越好,独立性就强;何谓独立性?比如我们二级编程都有考到全局变量、局部变量,函数中的局部变量独立性很强,函数外无法访问…何谓变量?晕~~~~~~~如果这都要说,那你可以不用考二级了。(16)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是______。A.控制流B.加工C.数据存储D.源和潭(16)[答案]A[考点]软件工程基础[评析]数据流图用于需求分析阶段,在此阶段我们只考虑大致的数据流流向,而不关心内部具体的处理,以及如何在计算机上实现,不必讨论控制流,我们只关心的:数据流、数据储存、变换/加工(相当于一个黑盒,不关心内部细节)、外部实体,数据流图通俗易懂,因为它远离了计算机,用户(无需懂编程)和软件人员都易接受。比如一个简单的软件系统逻辑模型:输入流和输出流即D中的源和潭。(17)软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______。A.阶段性报告B.需求评审C.总结D.都不正确Page7of36(17)[答案]B[考点]软件工程基础[评析]评审(复审)每阶段都有,把前三个方面说完了,还剩什么呢?此题需要记一下,至于各名词的解释,顾名即可思义。(18)下述关于数据库系统的叙述中正确的是______。A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据(18)[答案]A[考点]数据库设计基础[评析]关于数据管理技术的三个阶段如下:1.人工管理阶段人工管理数据的特点是:(1)数据不保存。(2)数据无专门软件进行管理。(3)数据不共享。(4)数据不具有独立性。2.文件系统阶段该阶段的数据管理具有如下特点:(1)数据可以长期保存。(2)由文件系统管理数据。文件系统管理数据存在如下缺点:(1)数据共享性差,数据冗余度大。(2)数据独立性差。3.数据库系统阶段与人工管理和文件系统阶段相比较,数据库系统阶段具有如下的特点:(1)数据结构化(2)数据共享性高、冗余度小、易扩充(3)数据独立性高(4)统一的数据管理和控制数据库管理系统必须提供以下几个方面的数据控制和保护功能:(1)数据的安全性(security)保护。(2)数据的完整性(integrity)控制。(3)数据库恢复(recovery)。(4)并发(concurrency)控制。(5)事务(transaction)支持。Page8of36B错,为什么会有关系规范化理论,其主要目的之一是减少数据的冗余,说明数据库系统还存在一定的冗余;C错,数据完整性约束指一组完整性规则的集合,不一定是数据类型的一致性;D项也太菜鸟了吧,数据能管理存放多少数据主要看机子硬盘空间和一些相关的设置,比如在数据库管理系统中设置某个用户的空间最大为多少。(19)关系表中的每一横行称为一个______。A.元组B.字段C.属性D.码(19)[答案]A[考点]数据库设计基础[评析]字段:列,属性名属性:实体的某一特性,如学生表中的学号、姓名…码(主健):元组(实体)的惟一标识,比如学生有同名的,但学号是惟一的。比如表:学号姓名性别院系0221301陈朝霞女油院矿机0221310周建峰男西南工业大学机电院022