1、生活需要游戏,但不能游戏人生;生活需要歌舞,但不需醉生梦死;生活需要艺术,但不能投机取巧;生活需要勇气,但不能鲁莽蛮干;生活需要重复,但不能重蹈覆辙。 -无名公共基础知识120题详解篇(1) 下面叙述正确的是_。A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(1)答案C考点程序设计基础评析时间复杂度:在运行算法时所耗费的时间为f(n)(即 n的函数)。空间复杂度:实现算法所占用的空间为g(n)(也为n的函数)。A应为有关。(2) 以下数据结构中不属于线性数据结构的是
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. 使用顺序、选择和重复(循环)三种基本
3、控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(4)答案A考点程序设计基础评析B没这规定,模块之间的可以通过多个接口来耦合C结构化程序设计提倡程序的可读性(可理解性),超过程序执行效率的要求D结构化程序设计限制goto语句的使用,因为goto语句的功能可以用三种基本的控制结构来代替,但也不是绝对不能用,只是限制使用(少用)。(5) 下面概念中,不属于面向对象方法的是_。A. 对象B. 继承C. 类D. 过程调用(5)答案D考点软件工程基础评析面向对象=对象+类+继承+通过消息的通信对象:一组属性及其上的操作的封装体类:一组有
4、相同属性和操作的对象的集合继承:一个类为另一个类上的扩充的方式,子类继承父类,主要目的是代码复用消息:对象间通信的手段D是结构化程序设计或过程式(函数式)语言中的,一般的面向对象程序设计语言兼容这种方式,但不是其特征,故最佳选项为D(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_。A. 可行性分析B. 需求分析C. 详细设计D. 程序编码 (6)答案B考点软件工程基础评析分析员对用户的要求作出分析,并画出数据流程图,该图通俗易懂,不涉及到如何在计算机上实现,这是需求分析阶段。软件工程中的瀑布模型:问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,运行和
5、维护相关链点:层次图和HIPO图是概要设计中的工具图;程序流程图、N-S图、问题分析PAD图、设计程序语言PDL是详细设计中的工具图(7) 在软件开发中,下面任务不属于设计阶段的是_。A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(7)答案D考点软件工程基础评析A、B为概要设计中的,C为详细设计中的,D为分析阶段中的(8) 数据库系统的核心是_。A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(8)答案B考点数据库设计基础评析数据库管理系统DBMS是数据库系统的核心,上层与用户打交道,底层与操作系统接口注意点:数据库系统与数据库管理系统的区别
6、前者指的一整套业务系统,包括用户、应用程序、DBMS及操作系统的支持(9) 下列叙述中正确的是_。A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C. 数据库技术的根本目标是要解决数据共享的问题D. 数据库系统中,数据的物理结构必须与逻辑结构一致 (9)答案C考点数据库设计基础评析晕倒,数据库管理系统是人人都可设计的吗?那SYBASE和ORACLE等不都没饭吃了?普通人的数据库设计就是在DBMS的支持下设计几张表格,命几个名而已;D也错了的,数据库具有物理独立性和逻辑独立性,比如QQ是一个完整的数据库系统,我们使用的只是客户端应用程序,其数据库在腾讯的服
7、务器上,物理独立性呢指的是数据库的底层结构改变了,而QQ的客户端不用变,对应地,逻辑独立性是指QQ的客户端改变了,数指据库的结构不用变了,否则,这么多QQ版本,那腾讯的服务器不是乱了套?(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是_。A. 内模式B. 外模式C. 概念模式D. 逻辑模式(10)答案A考点数据库设计基础评析通过前些题可知道,数据库的物理结构最底层,即对应内模式,对应的模式映像为内模式/模式(概念模式映像),逻辑独立性则对应于模式/外模式映像(11) 算法的时间复杂度是指_。A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算
8、次数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. 栈与队列是非线性
9、结构C. 线性链表是非线性结构D. 二叉树是线性结构 (12)答案A考点数据结构与算法评析一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)。此题与(2)题类似(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为_。A. 349B. 350C. 255D. 351(13)答案B考点数据结构与算法评析完全二叉树:若二叉树中最多只有最下面两层的结点的度可以小于2,并且最下面一层的结点(叶结点)都依次排列在该层最左边的位置上,这样的二叉树为完全二叉树。比如图:完全二叉树除叶结点层外的所有结点数(叶结点层以上所有结点数)为奇数,此题中,699
10、是奇数,叶结点层以上的所有结点数为保证是奇数,则叶结点数必是偶数,这样我们可以立即选出答案为B!如果完全二叉树的叶结点都排满了,则是满二叉树,易得满二叉树的叶结点数是其以上所有层结点数+1比如图:此题的其实是一棵满二叉树,我们根据以上性质,699+1=700,700/2=350,即叶结点数为350,叶结点层以上所有结点数为350-1=349。(14) 结构化程序设计主要强调的是_。A. 程序的规模B. 程序的易读性C. 程序的执行效率D. 程序的可移植性(14)答案B考点程序设计基础评析又是结构化的问题,何谓结构化?简单地比如:VB: If.End IfC: if.Pascle: Begin
11、.End我们在结构的中间写代码,从哪执行到哪结束我们能很快抓住!此题中重要性为:BCD(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。A. 概要设计B. 详细设计C. 可行性分析D. 需求分析(15)答案D考点软件工程基础评析题中所述为需求分析可行性研究包括经济可行性、技术可行性、操作可行性,即以最小的代价确定系统的规模是否现实概要设计的任务是确定软件的总体结构、子结构和模块的划分详细设计的任务是确定每一模块的实现细节,包括数据结构、算法和接口也许有人这么久了还不知道什么叫系统,什么叫模块。晕倒,这里罗嗦一下,软件工程中的系统指的整个软件系统,比如QQ的
12、所有东西,我们用的是客户端程序,实际的东西放在腾讯公司的服务器上,主要是数据库,包括在中间的传输过程,这一整个相关的东东都叫做OICQ的系统;什么叫模块,这里不单指如VB里的标准模块、类模块,也不单指一个窗体或者一个文件,宏观上讲,软件工程中把一种功能或相关功能把它做成一个模块,这个模块有可能是一个过程,有可能是一个函数从功能角度度量模块内的联系为模块的内聚(一般来说越强越好,不易出错);模块之间的联系为耦合,比如我们编程中常用把一实参的值赋给了函数中的形参,使函数完成某一功能,耦合度越低越好,独立性就强;何谓独立性?比如我们二级编程都有考到全局变量、局部变量,函数中的局部变量独立性很强,函数
13、外无法访问何谓变量?晕如果这都要说,那你可以不用考二级了。(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_。A. 控制流B. 加工C. 数据存储D. 源和潭(16)答案A考点软件工程基础评析数据流图用于需求分析阶段,在此阶段我们只考虑大致的数据流流向,而不关心内部具体的处理,以及如何在计算机上实现,不必讨论控制流,我们只关心的:数据流、数据储存、变换/加工(相当于一个黑盒,不关心内部细节)、外部实体,数据流图通俗易懂,因为它远离了计算机,用户(无需懂编程)和软件人员都易接受。比如一个简单的软件系统逻辑模型:输入流和
14、输出流即D中的源和潭。(17) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及_。A. 阶段性报告B. 需求评审C. 总结D. 都不正确(17)答案B考点软件工程基础评析评审(复审)每阶段都有,把前三个方面说完了,还剩什么呢?此题需要记一下,至于各名词的解释,顾名即可思义。(18) 下述关于数据库系统的叙述中正确的是_。A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型的一致D. 数据库系统比文件系统能管理更多的数据(18)答案A考点数据库设计基础评析关于数据管理技术的三个阶段如下:1.人工管理阶段人工管
15、理数据的特点是:(1)数据不保存。(2)数据无专门软件进行管理。(3)数据不共享。(4)数据不具有独立性。2.文件系统阶段该阶段的数据管理具有如下特点:(1)数据可以长期保存。(2)由文件系统管理数据。文件系统管理数据存在如下缺点:(1)数据共享性差,数据冗余度大。(2)数据独立性差。 3.数据库系统阶段与人工管理和文件系统阶段相比较,数据库系统阶段具有如下的特点:(1)数据结构化(2)数据共享性高、冗余度小、易扩充(3)数据独立性高(4)统一的数据管理和控制数据库管理系统必须提供以下几个方面的数据控制和保护功能:(1)数据的安全性(security)保护。(2)数据的完整性(integrit
16、y)控制。(3)数据库恢复(recovery)。(4)并发(concurrency)控制。(5)事务(transaction)支持。B错,为什么会有关系规范化理论,其主要目的之一是减少数据的冗余,说明数据库系统还存在一定的冗余;C错,数据完整性约束指一组完整性规则的集合,不一定是数据类型的一致性;D项也太菜鸟了吧,数据能管理存放多少数据主要看机子硬盘空间和一些相关的设置,比如在数据库管理系统中设置某个用户的空间最大为多少。(19) 关系表中的每一横行称为一个_。A. 元组B. 字段C. 属性D. 码(19)答案A考点数据库设计基础评析字段:列,属性名属性:实体的某一特性,如学生表中的学号、姓名
17、码(主健):元组(实体)的惟一标识,比如学生有同名的,但学号是惟一的。比如表:学号姓名性别院系0221301陈朝霞女油院矿机0221310周建峰男西南工业大学机电院0221326曾晓明男西南工业大学机电院0221315郭文广男西南工业大学机电院0123456茂叶男油院机电&软件(20) 数据库设计包括两个方面的设计内容,它们是_。A. 概念设计和逻辑设计B. 模式设计和内模式设计C. 内模式设计和物理设计D. 结构特性设计和行为特性设计(20)答案A考点数据库设计基础评析需求分析-(需求说明)-概念设计-(概念结构)-逻辑结构设计-(逻辑结构)-物理设计-(物理结构)-(21) 算法的空间复杂
18、度是指_。A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间(21)答案D考点程序设计基础评析时间复杂度:在运行算法时所耗费的时间为f(n)(即 n的函数)。空间复杂度:实现算法所占用的空间为g(n)(也为n的函数)。算法为什么会占用存储存空间?主要是内存空间,因为算法中的变量、地址等等通常保存在内存中(如果在虚存、缓存,甚至已在CPU中运行,也算占用了存储空间)。(22) 下列关于栈的叙述中正确的是_。A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表(22)答案D考点数据结构与算法
19、评析此题为基本概念,必记,注意:队列是先进先出的线性表,结合起来记不要搞混。(23) 在深度为5的满二叉树中,叶子结点的个数为_。A. 32B. 31C. 16D. 15(23)答案C考点数据结构与算法评析首先搞清楚满二叉树与完全二叉树之间的区别,前面已解释过。依次从上到下,可得出:第1层结点数为1;第2层结点数为2*1=2;第3层结点数为2*2=4;第n层结点数为2的n-1次幂,如图所示(24) 对建立良好的程序设计风格,下面描述正确的是_。A. 程序应简单、清晰、可读性好B. 符号名的命名要符合语法C. 充分考虑程序的执行效率D. 程序的注释可有可无(24)答案A考点程序设计基础评析结构化
20、程序设计中力求程序的可读性(如代码清晰,结构明了,附加注释),故D错;如果程序写的都是错的,谈何风格?如果符号名的命名不符合语法,编译会报错,也是很基本的错误,B错;追求程序的可读性要高于执行效率,C错。(25) 下面对对象概念描述错误的是_。A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性(25)答案A考点程序设计基础评析此题为基本概念,必记!这里举几个例子说明以助大家理解:比如VB:Command按纽类是个类,在窗体上画一个名为Command1的按纽即是创建该类的一个实例,也可创建另外一个实例如Command2,他们的属性可
21、以调置为不同的,但是都是Command类的实例。Command1,Command2都是对象,它们封装了属性和方法,都是封装体,比如Name属性,Caption属性宏观上可说Command1的Move操作是动态属性,对象间的通读靠消息传递,比如在Command1的单击事件中写上:Picture1.Print 消息传递Picture1是一个图片框对象,我们还可以调用Form_Load事件等等,都是通过消息传递的,即对象A向对象B发出消息,对象B执行怎样的操作。C+:class BasePublic:Base()Base().;class Derive:Public BasePublic:.Prin
22、t()Cout打印函数!0; h=h/2) /*控制增量*/for (j=h; j=0 & tlog2 n的最小整数值。比如n为4,最坏的情况要比较3次;n为18,最坏的情况要比较5次。二分法适用于已排序的顺序表(我们二级语言中都是数组),考二级书里的,这里不再罗嗦。(45) 信息隐蔽的概念与下述哪一种概念直接相关_。A. 软件结构定义B. 模块独立性C. 模块类型划分D. 模拟耦合度(45)答案B考点软件工程基础评析模块独立性越强,则信息隐蔽性越好。举个例,VB:在多重窗体设计时,每个窗体里的变量尽量与其它窗体里变量无关,比如少用Public声明的变量,即全局变量,当多个窗体共享全局变量越多
23、时,窗体的独立性就越差。C:头文件里的一些函数,一般不用到全局变量,否则在主程序里出乱子的情况很多,我们在模块化开发时,尽量使每个模块独立,强功能内聚,分工明确,调试程序也要方便得多。C+:考此项的朋友估计不用我多讲,类的封装性就是一个很好的说明。(46) 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是_。A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考(46)答案C考点软件工程基础评析我们举个例,从各种语言的结构体类型出发
24、,我们知道,结构体中可以定义很多变量,对每个变量执行相同的操作,挨个挨个写出,很麻烦。假设该结构体有如下变量:草鱼、田鱼、鲫鱼它们都在一口池塘里,现在执行:它们都上来传统的程序设计是:草鱼上来田鱼上来鲫鱼上来一条一条都写出,是不是很麻烦?改进一下,我们用个循环:n等于从1到10(假设共有10种鱼)第n种鱼上来还是很麻烦,现实中我们很易想到用面向对象的思想,池塘里所有的鱼都是一个结构体变量,名为鱼,执行:鱼上来意思即所有的鱼都上来。现特定于面象对象语言中的类,鱼,就可以看作为一类。这就属于 C 项:使用现实世界的概念抽象地思考问题从而自然地解决问题这样罗嗦的解释望大家别晕,旨在帮助部分人的确难想通的,为应试,你能背下答案也行。(47) 在结构化方法中,软件功能分解属于下列软件开发中的阶段是_。A. 详细设计B. 需求分析C. 总体设计D. 编程调试 (47)答案C考点软件工程基础评析从先到后一排,是:需求分析、总体设计、详细设计、编程