给你一些公共基础题全国计算机等级考试二级公共基础知识复习题 一、选择题(在下列各题的A、 B、 C、D四个选项中,只有一个选项是正确的,1.1 数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及 A)数据的存储结构 B)计算方法 C)数据映象 D)逻辑存储 1.2 数据处理的最小单位是 A)数据 B)数据元素 C)数据项 D)数据结构 1.3 根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成 A)动态结构和静态结构 B)紧凑结构和非紧凑结构 C)线性结构和非线性结构 D)内部结构和外部结构 1.4 数据结构中,与所使用的计算机无关的是数据的 A)存储结构 B)物理结构 C)逻辑结构 D)物理和存储结构 1.5 在计算机中,算法是指 A)加工方法 B)解题方案的准确而完整的描述 C)排序方法 D)查询方法 1.6 算法分析的目的是 A)找出数据结构的合理性 B)找出算法中输入和输出之间的关系 C)分析算法的易懂性和可靠性 D)分析算法的效率以求改进 1.7 算法的时间复杂度是指 A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数 1.8 算法的空间复杂度是指 A)算法程序的长度 B)算法程序中的指令条数 C)算法程序所占的存储空间 D)执行过程中所需要的存储空间 1.9 链表不具有的特点是 A)不必事先估计存储空间 B)可随机访问任一元素 C)插入删除不需要移动元素 D)所需空间与线性表长度成正比 1.10 用链表表示线性表的优点是 A)便于随机存取 B)花费的存储空间较顺序存储少 C)便于插入和删除操作 D)数据元素的物理顺序与逻辑顺序相同 1.11 下列叙述中正确的是 A)线性表是线性结构 B)栈与队列是非线性结构 C)线性链表是非线性结构 D)二叉树是线性结构 1.12 线性表的顺序存储结构和线性表的链式存储结构分别是 A)顺序存取的存储结构、顺序存取的存储结构 B)随机存取的存储结构、顺序存取的存储结构 C)随机存取的存储结构、随机存取的存储结构 D)任意存取的存储结构、任意存取的存储结构 1.13 线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是 A)每个元素都有一个直接前件和直接后件 B)线性表中至少要有一个元素 C)表中诸元素的排列顺序必须是由小到大或由大到小 D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 1.14 在单链表中,增加头结点的目的是 A)方便运算的实现 B)使单链表至少有一个结点 C)标识表结点中首结点的位置 D)说明单链表是线性表的链式存储实现 1.15 非空的循环单链表head的尾结点(由p所指向),满足 A)p->next==NULL B)p==NULL C)p->next=head D)p=head 1.16 循环链表的主要优点是 A)不再需要头指针了 B)从表中任一结点出发都能访问到整个链表 C)在进行插入、删除运算时,能更好的保证链表不断开 D)已知某个结点的位置后,能够容易的找到它的直接前件 1.17 下列数据结构中,按先进后出原则组织数据的是 A)线性链表 B)栈 C)循环链表 D)顺序表 1.18 栈和队列的共同特点是 A)都是先进先出 B)都是先进后出 C)只允许在端点处插入和删除元素 D)没有共同点 1.19 如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是 A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D)任意顺序 1.20 栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是 A)ABCED B)DCBEA C)DBCEA D)CDABE 1.21 栈通常采用的两种存储结构是 A)线性存储结构和链表存储结构 B)散列方式和索引方式 C)链表存储结构和数组 D)线性存储结构和非线性存储结构 1.22 串的长度是 A)串中不同字符的个数 B)串中不同字母的个数 C)串中所含字符的个数且字符个数大于零 D)串中所含字符的个数 1.23 树是结点的集合,它的根结点数目是 A)有且只有1 B)1或多于1 C)0或1 D)至少2 1.24 设有下列二叉树:对此二叉树前序遍历的结果为 A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPY 1.25 已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为 A)GEDHFBCA B)DGEBHFCA C)ABCDEFGH D)ACBFEDHG 1.26 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是 A)acbed B)decab C)deabc D)cedba 1.27 具有3个结点的二叉树有 A)2种形态 B)4种形态 C)7种形态 D)5种形态 1.28 在深度为5的满二叉树中,叶子结点的个数为 A)32 B)31 C)16 D)15 1.29 设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为 A)12 B)13 C)14 D)15 1.30 n个顶点的强连通图的边数至少有 A)n-1 B)n(n-1) C)n D)n+1 1.31 假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为 A)log2n B)n2 C)O(n1.5) D)n(n-1)/2 1.32 已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是 A)堆排序 B)直接插入排序 C)快速排序 D)直接选择排序 1.33 最简单的交换排序方法是 A)快速排序 B)选择排序 C)堆排序 D)冒泡排序 1.34 在下列几种排序方法中,要求内存量最大的是 A)插入排序 B)选择排序 C)快速排序 D)归并排序 1.35 程序设计语言的基本成分是数据成分、运算成分、控制成分和 A)对象成分 B)变量成分 C)语句成分 D)传输成分 1.36 结构化程序设计的3种结构是 A)顺序结构、选择结构、转移结构 B)分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D)顺序结构、选择结构、循环结构 1.37 在设计程序时,应采纳的原则之一是 A)不限制goto语句的使用 B)减少或取消注解行 C)程序越短越好 D)程序结构应有助于读者理解 1.38 对建立良好的程序设计风格,下面描述正确的是 A)程序应简单、清晰、可读性好 B)符号名的命名只要符合语法 C)充分考虑程序的执行效率 D)程序的注释可有可无 1.39 下列叙述中,不属于结构化程序设计方法的主要原则的是 A)自顶向下 B)由底向上 C)模块化 D)限制使用goto语句 1.40 结构化程序设计主要强调的是 A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序易读性 1.41 在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的 A)安全性 B)一致性 C)可理解性 D)合理性 1.42 一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用 A)栈 B)堆 C)数组 D)链表 1.43 以下不属于对象的基本特点的是 A)分类性 B)多态性 C)继承性 D)封装性 1.44 下列不属于软件工程的3个要素的是 A)工具 B)过程 C)方法 D)环境 1.45 开发大型软件时,产生困难的根本原因是 A)大系统的复杂性 B)人员知识不足 C)客观世界千变万化 D)时间紧、任务重 1.46 下面不属于软件设计原则的是 A)抽象 B)模块化 C)自底向上 D)信息隐蔽 1.47 软件工程的理论和技术性研究的内容主要包括软件开发技术和 A)消除软件危机 B)软件工程管理 C)程序设计自动化 D)实现软件可重用 1.48 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 A)软件投机 B)软件危机 C)软件工程 D)软件产生 1.49 软件工程的出现是由于 A)程序设计方法学的影响 B)软件产业化的需要 C)软件危机的出现 D)计算机的发展 1.50 下列不属于结构化分析的常用工具的是 A)数据流图 B)数据字典 C)判定树 D)PAD图 1.51 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是 A)控制流 B)加工 C)数据存储 D)源和潭 1.52 在数据流图(DFD)中,带有名字的箭头表示 A)模块之间的调用关系 B)程序的组成成分 C)控制程序的执行顺序 D)数据的流向 1.53 在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示 A)模块之间的调用关系 B)程序的组成成分 C)控制程序的执行顺序 D)数据的流向 1.54 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 A)PAD图 B)N-S图 C)结构图 D)数据流图 1.55 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的 A)抽象和信息隐蔽 B)局部化和封装化 C)内聚性和耦合性 D)激活机制和控制方法 1.56 下列选项中,不属于模块间耦合的是 A)数据耦合 B)同构耦合 C)异构耦合 D)公用耦合 1.57 软件开发的结构化生命周期方法将软件生命周期划分成 A)定义、开发、运行维护 B)设计阶段、编程阶段、测试阶段 C)总体设计、详细设计、编程调试 D)需求分析、功能定义、系统设计 1.58 需求分析阶段的任务是确定 A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能 1.59 需求分析中开发人员要从用户那里了解 A)软件做什么 B)用户使用界面 C)输入的信息 D)软件的规模 1.60 下列叙述中,不属于软件需求规格说明书的作用的是 A)便于用户、开发人员进行理解和交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 C)作为确认测试和验收的依据 D)便于开发人员进行需求分析 1.61 在软件生产过程中,需求信息的给出是 A)程序员 B)项目管理者 C)软件分析设计人员 D)软件用户 1.62 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指 A)模块间的关系 B)系统结构部件转换成软件的过程描述 C)软件层次结构 D)软件开发过程 1.63 开发软件时对提高开发人员工作效率至关重要的是 A)操作系统的资源管理功能 B)先进的软件开发工具和环境 C)程序人员的数量 D)计算机的并行处理能力 1.64 在软件测试设计中,软件测试的主要目的是 A)实验性运行软件 B)证明软件正确 C)找出软件中全部错误 D)发现软件错误而执行程序 1.65 下列叙述中,不属于测试的特征的是 A)测试的挑剔性 B)完全测试的不可能性 C)测试的可靠性 D)测试的经济性 1.66 为了提高测试的效率,应该 A)随机选取测试数据 B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划 D)集中对付那些错误群集的程序 1.67 软件开发离不开系统环境资源的支持,其中必要的测试数据属于 A)硬件资源 B)通信资源 C)支持软件 D)辅助资源 1.68 完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是 A)黑箱测试法 B)白箱测试法 C)错误推测法 D)安装测试法 1.69 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是 A)路径的集合 B)循环的集合 C)目标的集合 D)地址的集合 1.70 下列不属于软件调试技术的是 A)强行排错法 B)集成测试法 C)回溯法 D)原因排除法 1.71 检查软件产品是否符合需求定义的过程称为 A)确认测试 B)集成测试 C)验证测试 D)验收测试 1.72 软件生命周期中所花费用最多的阶段是 A)详细设计 B)软件编码 C)软件测试 D)软件维护 1.73 软件复杂性度量的参数包括 A)效率 B)规模 C)完整性 D)容错性 1.74 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是 A)数据库系统 B)文件系统 C)人工管理 D)数据项管理 1.75 在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 A)特定的数据模型 B)数据无冗余 C)数据可共享 D)专门的数据管理软件 1.76 相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和 A)可重用性差 B)安全性差 C)非持久性 D)冗余性 1.77 下列说法中,不属于数据模型所描述的内容的是 A)数据结构 B)数据操作 C)数据查询 D)数据约束 1.78 下列有关数据库的描述,正确的是 A)数据库是一个DBF文件 B)数据库是一个关系 C)数据库是一个结构化的数据集合 D)数据库是一组文件 1.79 下列有关数据库的描述,正确的是 A)数据处理是将信息转化为数据的过程 B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 C)关系中的每一列称为元组,一个元组就是一个字段 D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字 1.80 应用数据库的主要目的是 A)解决数据保密问题 B)解决数据完整性问题 C)解决数据共享问题 D)解决数据量大的问题 1.81 数据库设计包括两个方面的设计内容,它们是 A)概念设计和逻辑设计 B)模式设计和内模式设计 C)内模式设计和物理设计 D)结构特性设计和行为特性设计 1.82 下述关于数据库系统的叙述中正确的是 A)数据库系统减少了数据冗余 B)数据库系统避免了一切冗余 C)数据库系统中数据的一致性是指数据类型一致 D)数据库系统比文件系统能管理更多的数据 1.83 数据库系统的核心是 A)数据库 B)数据库管理系统 C)模拟模型 D)软件工程 1.84 为用户与数据库系统提供接口的语言是 A)高级语言 B)数据描述语言(DDL) C)数据操纵语言(DML) D)汇编语言 1.85 数据库、数据库系统和数据库管理系统之间的关系是 A)数据库包括数据库系统和数据库管理系统 B)数据库系统包括数据库和数据库管理系统 C)数据库管理系统包括数据库和数据库系统 D)3者没有明显的包含关系 1.86 分布式数据库系统不具有的特点是 A)数据分布性和逻辑整体性 B)位置透明性和复制透明性 C)分布性 D)数据冗余 1.87 数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为 A)C B)Basic C)DDL D)DML 1.88 单个用户使用的数据视图的描述称为 A)外模式 B)概念模式 C)内模式 D)存储模式 1.89 索引属于 A)模式 B)内模式 C)外模式 D)概念模式 1.90 在数据库设计中,将E-R图转换成关系数据模型的过程属于 A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段 1.91 实体是信息世界中广泛使用的一个术语,它用于表示 A)有生命的事物 B)无生命的事物 C)实际存在的事物 D)一切事物 1.92 将E-R图转换到关系模式时,实体与联系都可以表示成 A)属性 B)关系 C)键 D)域 1.93 下列叙述中,正确的是 A)用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系 B)用E-R图只能表示实体集之间一对一的联系 C)用E-R图只能表示实体集之间一对多的联系 D)用E-R图表示的概念数据模型只能转换为关系数据模型 1.94 一个关系中属性个数为1时,称此关系为 A)对应关系 B)单一关系 C)一元关系 D)二元关系 1.95 下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 A)选择 B)连接 C)投影 D)并 1.96 下列数据模型中,具有坚实理论基础的是 A)层次模型 B)网状模型 C)关系模型 D)以上3个都是 1.97 关系模型允许定义3类数据约束,下列不属于数据约束的是 A)实体完整性约束 B)参照完整性约束 C)域完整性约束 D)用户自定义的完整性约束 1.98 “年龄在18~25之间”这种约束是属于数据库当中的 A)原子性措施 B)一致性措施 C)完整性措施 D)安全性措施 1.99 关系表中的每一横行称为一个 A)元组 B)字段 C)属性 D)码 1.100 SQL语言又称为 A)结构化定义语言 B)结构化控制语言 C)结构化查询语言 D)结构化操纵语言 1.101 下列SQL语句中,用于修改表结构的是 A)ALTER B)CREATE C)UPDATE D)INSERT 1.102 NULL是指 A)0 B)空格 C)未知的值或无任何值 D)空字符串 1.103 数据库的故障恢复一般是由 A)数据流图完成的 B)数据字典完成的 C)DBA完成的 D)PAD图完成的 二、填空题(请将每一个空的正确答案写在答题卡相应序号后。) 1.104 算法的基本特征是可行性、确定性、 【1】 和拥有足够的情报。 1.105 数据结构分为逻辑结构与存储结构,线性链表属于 【2】 。 1.106 数据的逻辑结构有线性结构和 【3】 两大类。 1.107 在算法正确的前提下,评价一个算法的两个标准是 【4】 。 1.108 算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 【5】 。 1.109 顺序存储方法是把逻辑上相邻的结点存储在物理位置 【6】 的存储单元中。 1.110 长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【7】 。 1.111 栈和队列通常采用的存储结构是 【8】 。 1.112 当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【9】 。 1.113 若串s="MathTypes",则其子串的数目是【10】 。 1.114 在树形结构中,树根结点没有 【11】 。 1.115 在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【12】 。 1.116 排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 【13】和选择排序等。 1.117 冒泡排序算法在最好的情况下的元素交换次数为 【14】 。 1.118 在最坏情况下,堆排序需要比较的次数为 【15】 。 1.119 Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【16】 的设计方法。 1.120 面向对象的模型中,最基本的概念是对象和 【17】 。 1.121 类是一个支持集成的抽象数据类型,而对象是类的 【18】 。 1.122 在面向对象的程序设计中,类描述的是具有相似性质的一组 【19】 。 1.123 可以把具有相同属性的一些不同对象归类,称为 【20】 。 1.124 在面向对象方法中,类之间共享属性和操作的机制称为 【21】 。 1.125 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【22】 。 1.126 在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为【23】。 1.127 【24】 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。 1.128 将代数式 Z=x2+y2a+b 转换成程序设计中的表达式为 【25】。 1.129 在程序设计阶段应该采取 【26】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。 1.130 软件危机出现于60年代末,为了解决软件危机,人们提出了 【27】 的原理来设计软件,这就是软件工程诞生的基础。 1.131 软件工程包括3个要素,分别为方法、工具和 【28】 。 1.132 软件工程研究的内容主要包括: 【29】 技术和软件工程管理。 1.133 软件开发环境是全面支持软件开发全过程的 【30】 集合。 1.134 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【31】。 1.135 软件结构是以 【32】 为基础而组成的一种控制层次结构。 1.136 软件设计模块化的目的是 【33】 。 1.137 耦合和内聚是评价模块独立性的两个主要标准,其中 【34】 反映了模块内各成分之间的联系。 1.138 数据模型按不同应用层次分成3种类型,它们是概念数据模型、 【35】 和物理数据模型。1.139 数据流图的类型有 【36】 和事务型。 1.140 为了便于对照检查,测试用例应由输入数据和预期的 【37】 两部分组成。 1.141 常用的黑箱测试有等价分类法、 【38】 、因果图法和错误推测法4种。 1.142 测试的目的是暴露错误,评价程序的可靠性;而 【39】 的目的是发现错误的位置并改正错误。 1.143 软件维护活动包括以下几类:改正性维护、适应性维护、 【40】 维护和预防性维护。1.144 数据库管理系统常见的数据模型有层次模型、网状模型和 【41】 3种。 1.145 用树型结构表示实体类型及实体间联系的数据模型称为 【42】 。 1.146 在关系模型中,把数据看成一个二维表,每一个二维表称为一个 【43】 。 1.147 关系操作的特点是 【44】 操作。 1.148 【45】 是从二维表列的方向进行的运算。 1.149 一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体"项目主管"与实体"项目"的联系属于【46】 的联系。 1.150 数据库设计分为以下6个设计阶段:需求分析阶段、 【47】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。 1.151 【48】 是数据库设计的核心。 1.152 数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和 【49】两个含义。1.153 当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【50】 。 1.154 关系数据库的关系演算语言是以 【51】 为基础的DML语言。 1.155 关键字ASC和DESC分别表示 【52】 的含义。 1.156 数据库保护分为:安全性控制、 【53】 、并发性控制和数据的恢复。 1.157 由关系数据库系统支持的完整性约束是指 【54】 和参照完整性。