
(完整版)最新全国计算机等级考试二级c++题库6(共17套).doc
17页完整版)最新全国计算机等级考试二级c++题库6(共17套)第六套1、下列叙述中正确的是______.A、栈是”先进先出"的线性表B、队列是"先进后出”的线性表C、循环队列是非线性结构D、有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素所以栈又称"后进先出”表,所以选项A是错误的 队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素因此队列又称”先进先出"表,所以选项B是错误的 循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用它的逻辑结构仍然是线性结构,所以选项C是错误的 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构,所以选项D是正确的.故本题答案为D2、将E-R图转换为关系模式时,实体和联系都可以表示为______。
A、属性B、键C、关系D、域 将E-R图转换为关系模式时,实体和联系都可以表示成关系,E-R图中属性也可以转换成关系的属性实体集也可以转换成关系故本题答案为C3、下面叙述中错误的是______A、软件测试的目的是发现错误并改正错误B、对被调试的程序进行"错误定位"是程序调试的必要步骤C、程序调试通常也称为DebugD、软件测试应严格执行测试计划,排除测试的随意性 1983年IEEE将软件测试定义为:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别因此选项A的叙述是错误的 软件测试的基本准则为:①所有测试都应追溯到需求②严格执行测试计划,排除测试的随意性.③充分注意测试中的群集现象④程序员应避免检查自己的程序⑤穷举测试不可能⑥妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便因此选项D正确 在对程序进行了成功的测试之后将进入程序调试(通常称Debug,即排错).因此选项C正确 程序调试的任务是诊断和改正程序中的错误程序调试的基本步骤:①错误定位②修改设计和代码,以排除错误③进行回归测试,防止引进新的错误.因此选项B是正确的。
故本题答案为A4、下列排序方法中,最坏情况下比较次数最少的是______A、冒泡排序B、简单选择排序C、直接插入排序D、堆排序 (1)冒泡排序法:是一种最简单的交换类排序法,它是通过相邻数据元素的交换逐步将线性表变成有序.假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要比较的次数为n(n-1)/2次 (2)简单插入排序法:在简单插入排序法中,每一次比较后最多移掉一个逆序,因此,这种排序方法的效率与冒泡排序法相同在最坏情况下,简单插入排序需要n(n—1)/2次比较 (3)简单选择排序法:对于长度为n的序列,选择排序需要扫描n—1遍,每一遍扫描均从剩下的子表中选出最小的元素,然后将该最小的元素与子表中的第一个元素进行交换.简单选择排序法在最坏情况下需要比较n(n-1)/2次. (4)堆排序法:堆排序的方法为:①首先将一个无序序列建成堆②然后将堆顶元素(序列中的最大项)与堆中最后一个元素交换(最大项应该在序列的最后)在最坏情况下,堆排序需要比较的次数为 假设线性表的长度为16,那么冒泡排序、直接插入排序、简单选择排序都需要比较120次,而堆排序需要比较64次. 故本题答案为D。
5、耦合性和内聚性是对模块独立性度量的两个标准下列叙述中正确的是______.A、提高耦合性降低内聚性有利于提高模块的独立性B、降低耦合性提高内聚性有利于提高模块的独立性C、耦合性是指一个模块内部各个元素间彼此结合的紧密程度D、内聚性是指模块间互相连接的紧密程度 内聚性:内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量耦合性:耦合性是模块间互相连接的紧密程度的度量.因此选项C、D是错误的在程序结构中,各模块的内聚性越强,则耦合性越弱一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性因此选项A是错误的,应该降低耦性合提高内聚性,所以选项B是正确的 故本题答案为B6、有两个关系R,S如下: R S 由关系R通过运算得到关系S,则所使用的运算为______A、选择B、投影C、插入D、连接 专门的关系运算包括:选择、投影和连接1、选择:从关系中找出满足给定条件的元组的操作称为选择选择是从行的角度进行的运算,即从水平方向抽取记录2、投影:从关系模式中指定若干个属性组成新的关系。
投影是从列的角度进行的运算,相当于对关系进行垂直分解3、连接:连接是关系的横向结合.连接运算将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足连接条件的元组.连接过程是通过连接条件来控制的,连接条件中将出现两个表中的公共属性名,或者具有相同语义、可比的属性选择和投影运算的操作对象只是一个表.相当于对一个二维表进行切割连接运算需要两个表作为操作对象 由图可知关系R通过运算得到关系S,关系S与关系R相比,记录的条数没有发生变化,属性的个数发生了变化.因此所使用的运算应该是投影选项C插入运算会增加记录的条数.所以选项B是正确的故本题答案为B7、数据库应用系统中的核心问题是______A、数据库设计B、数据库系统设计C、数据库维护D、数据库管理员培训 数据库应用系统是数据库系统再加上应用软件及应用界面这三者所组成,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面在数据库应用系统中的一个核心问题就是设计一个能满足用户要求,性能良好的数据库,这就是数据库设计所以选项A是正确的故本题答案为A8、支持子程序调用的数据结构是______A、栈B、树C、队列D、二叉树 子程序调用是一种层次关系,子程序调用功能模块,调用功能模块的个数也不确定,可以是一个,也可以是多个.选项A、C中元素之间是一种前后件关系,前后元素之间没有层次之分,每个结点有一个前件也只有一个后件。
二叉树是一种很有用的非线性结构,二叉树不同于树形结构二叉树具有以下两个特点:①非空二叉树只有一个根结点;②每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树.选项D规定每个结点只能有两个后件.在子程序调用中,调用的功能模块可以是多个,可以调用超过两个功能模块所以选项A、C、D均不正确.故本题答案为B9、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是______A、10B、8C、6D、4 在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个本题中度为2的结点数为5,故叶子结点数为5+1=6个故本题答案为C10、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)下面属于应用软件的是______A、编译程序B、操作系统C、教务管理系统D、汇编程序 软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件).应用软件是为解决特定领域的应用而开发的软件.例如,事务处理软件、工程与科学计算软件,实时处理软件,嵌入式软件,人工智能软件等应用性质不同的软件因此选项C教务管理系统属于应用软件.系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。
如操作系统,编译程序,汇编程序,网络软件,数据库管理系统等因此选项A、B、D都属于系统软件故本题答案为C11、有如下程序:#include〈iostream>using namespace std;class ONE{ int c;public: ONE():c(0){cout<<1;} ONE(int n):c(n){cout〈<2;}};class TWO{ ONE one1; ONE one2;public: TWO(int m):one2(m){cout<<3;}};int main(){ TWO t(4); return 0;}运行时的输出结果是______.A、3B、23C、123D、213 本题主要考查了成员对象 当一个类的成员是另外一个类的对象时,该对象就称为成员对象建立一个类的对象时,要调用它的构造函数.如果这个类有成员对象,要首先执行所有的成员对象的构造函数,当全部成员对象的初始化都完成之后,再执行当前类的构造函数体.当类中有多个成员对象时,要按照定义成员对象的顺序建立各个子对象,即成员对象构造函数的执行顺序仅与成员对象在类中声明的顺序有关,而与成员初始化列表中给出的成员对象的顺序无关.如果在构造函数的成员初始化列表中没有给出对成员对象的初始化,则表示使用成员对象的缺省构造函数。
如果所有的成员对象都是调用缺省构造函数建立的,那么该类的构造函数的成员初始化列表可以省略类TWO的数据成员是类ONE的对象one1和one2,main()函数中首先创建类TWO的对象t并提供初始值4,先执行成员对象one1的构造函数体,输出1;再执行成员对象one2的构造函数体,输出2,最后执行类TWO的构造函数体,输出3.因此本题程序运行时的输出结果是123 故本题答案为C.12、假设下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外三条语句不同的语句是______A、cout< 故本题答案为C13、已知表达式++a中的”++"是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为______A、a.operator++(1)B、operator++(a)C、operator++(a,1)D、aoperator++() 本题主要考查了运算符重载. C++把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字operator一般而言,如果a是类X的对象,在类X中重载前置单目运算符@,则下列两种函数调用方法是等价的: 第一种是。









![2019版 人教版 高中语文 必修 上册《第一单元》大单元整体教学设计[2020课标]](http://img.jinchutou.com/static_www/Images/s.gif)


