1、二级C+真题2008年4月答案真题 120一、选择题(每小题2分,共70分) 下列各题A、B、C、D 四个选项中,只有一个选项是正确的。第1题:参考答案:C答案解析:详细设计阶段的主要描述工具分为图形、语言和表格描述工具。程序流程图是常用的图形描述工具之一,流程图中包含的主要元素有方框:表示一个处理步骤;菱形框:表示一个逻辑条件;箭头:表示控制流向。第2题:参考答案:A答案解析:结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化。程序设计时,应先从最上层总目标开始设计,逐步使问题具体化。对复杂问题,应设计一些子目标作为过渡,逐步细化。模块化是把程序要解决的总目标分解为子目标,再进
2、一步分解为具体的小目标,把每一个小目标称为一个模块。第3题:参考答案:B答案解析:内聚性是对一个模块内部各个元素之间结合的紧密程度进行度量,它用于对模块功能强度进行衡量,内聚性越高,则模块的独立性越高;耦合性是各个模块之间的相互联系紧密程度的衡量,它用于对模块的块间联系进行度量,耦合性越低,则模块的独立性越高。模块内聚性高而耦合性低是模块划分的重要原则之一。第4题:参考答案:B答案解析:软件开发中的主要文档有,市场调研(可行性分析“做还是不做”);需求分析(软件需求规格说明书“做什么,不做什么”。);概要设计(概要设计说明书);详细设计(详细设计说明书);测试 (集成测试计划)。第5题:参考答
3、案:A答案解析:算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。算法的有穷性是指算法必须能在执行有限个步骤之后终止,即算法程序运行的时间是有限的。第6题:参考答案:D答案解析:主要考察各种排序方法的掌握情况。直接插入排序:每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。冒泡排序:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。快速排序:在当前无序区R1. H中任取一个数据元素作为比较的“基准”,用此基准将当前无序区划分为左右两个较小的无序区:R1. I-1和RI+1.
4、 H,且左边的无序子区中数据元素均小于等于基准元素,右边的无序子区中数据元素均大于等于基准元素,而基准则位于最终排序的位置上,即R1. I-1X. KeyRI+1. H(1IH),当RI. I-1)和RI+1. H均非空时,分别对它们进行上述的划分过程,直至所有无序子区中的数据元素均已排序为止。堆排序:堆排序是一树形选择排序,在排序过程中,将R1. N看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择最小的元素。第7题:参考答案:B答案解析:栈是种只能在叫做栈的一段进行进栈或者出栈操作的线性数据结构。栈的主要特点是“后进先出”,即后进栈的元素先处理。第8
5、题:参考答案:C答案解析:E-R图就是实体关系图,E就是实体,R就是关系形象的表示实体之间的联系。逻辑结构设计阶段是将概念结构转换为某个DBMS所支持的数据模型,并将其性能进行优化。第9题:参考答案:D答案解析:关系R与s并,由属于R或属于s的元组构成的集合组成;R和S的广义笛卡儿积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组;关系 R与S的交既属于R同时又属于S的元组构成的集合。自然连接,要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。第10题:参考答案:C答案解析:本题考查数据库关键字和表之间关系的相关知识。所谓关
6、键字就是指表中的某个属性的值具有能唯一标识关系中元组。第11题:参考答案:C答案解析:函数重载的函数名是相同的,而参数列表不同。可行函数的参数个数与调用的函数参数个数相同,或者可行函数的参数可以多一些,但是多出来的函数参数都要有相关的缺省值,即参数的默认值。第12题:参考答案:B答案解析:从类的定义可以知道类的私有成员只能由本类中的成员函数访问,外界不能访问一个对象的私有部分,所以,在C+中类成员的默认访问权限是私有的。在类中,类成员函数可以是公有的,也可以是私有的,友元函数属于类的外部函数。第13题:参考答案:D答案解析:派生方式分为两种:private派生或public派生,分别被称为私有
7、派生和公有派生,使用 public派生,基类的所有成员在派生类中的访问权限不变。第14题:参考答案:A答案解析:所谓运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型,所以它不是创造新的运算符;三元运算符“?”“、”“:”点运算符、作用域等运算符都不可以重载;运算符重载不改变运算符的优先级和结合性,不改变其语法结构,也就是不能改变操作数的个数,即单目的只能重载为单目运算符,双目的只能重载为双目运算。第15题:参考答案:B答案解析:类模板可以成为另外一个类模板的成员(叫“成员模板”),函数模板没有实参和形参之分,函数模板可以看成一个无参函数,它的参数要根据调用对象
8、的参数而定。第16题:参考答案:A答案解析:C+操作符endl可以实现输出的回车换行的功能;在处理文件I/O时,要包含头文件iostream,是为了说明引用的参数或函数的位置;函数eof()用来检测是否到达文件尾,如果到达件尾返回非0值,否则返回0。第17题:参考答案:C答案解析:作为标识符必须满足以下规则:所有标识符必须由一个字母(az,AZ)或下划线“_”开头;标识符的其它部分可以用字母、下划线或数字(09)组成;大小写字母表示不同意义,即代表不同的标识符;标识符只有前32个字符有效;标识符不能使用关键字。count是设备保留字不能作为标识符。第18题:参考答案:D答案解析:枚举值是常量,
9、不是变量。不能在程序中用赋值语句再对它赋值;枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2。所以枚举函数中对象的值应从。开始,依次加1,如果有的对象已赋值,则后面也按照前面的值依次加1的原则。第19题:参考答案:B答案解析:count是输出的意思,for是循环语句共执行了25次,应输出25个*。第20题:参考答案:B答案解析:第21题:参考答案:D答案解析:* a是指针变量,对指针变量的引用应加&。第22题:参考答案:C答案解析:static int n;是定义静态全局变量,int point是定义类的。第23题:参考答案:B答案解析:在C+中继承主要有三种关系:pu
10、blic、protected和private。这三种继承关系中public继承是最为常用的一种继承关系。第24题:参考答案:B答案解析:类名operator+(类名String & s1,类名String & s2)。第25题:参考答案:A答案解析:类模板说明的一般形式是: template类型形参表 class类名 /类说明体? ; 函数模板的一般说明形式如下 template模板形参表 返回值类型函数名(模板函数形参表) /函数定义体第26题:参考答案:C答案解析:setfill设置填充字符为*;默认输出有效位是6;setw(n)设置域宽,cout字符 endl。第27题:参考答案:A答案
11、解析:第28题:参考答案:D答案解析:第29题:参考答案:A答案解析:第30题:参考答案:B答案解析:第31题:参考答案:C答案解析:第32题:参考答案:B答案解析:只要是拥有了纯虚函数的类,就是一个抽象类,也就是说你不能根据它产生任何一个对象;纯虚函数的声明格式如下:virtual函数返回类型说明符函数名(参数表)0;纯虚函数根本就没有函数体;所以不能进行调用。第33题:参考答案:A答案解析:第34题:参考答案:B答案解析:第35题:参考答案:C答案解析:二、填空题(每空2分,共30分)第36题:参考答案:输出详细解答:测试用例是为测试设计的数据。测试用例由测试输入数据和与之对应的预期输出结
12、果两部分组成。第37题:参考答案:16详细解答:根据二叉树的性质:二叉树第i(i1)层上至多有2i-1个结点。得到第5层的结点数最多是16。第38题:参考答案:24详细解答:考查数据结构的循环队列的知识。队列元素数为:rearfront29-524个第39题:参考答案:二维表详细解答:在关系模型中,实体以及实体间的联系都是用关系表示的。关系模型中数据的逻辑结构;一张二维表。第40题:参考答案:数据定义语言详细解答:数据定义语言用于定义数据库的所有特性和属性,尤其是行布局、列定义、键列(有时是选键方法)、文件位置和存储策略。数据库操纵语言用于查询和操纵模式对象中的数据,数据库控制语言控制用户对数
13、据库的存取能力,控制数据库的安全性。第41题:参考答案:对象详细解答:对象是一个可视化的或非可视化的元件,而在C+程序代码中,对象是类的一个实例(有时指向对象的指针也称为对象)。第42题:参考答案:指针详细解答:如果一个数组中的每个元素均为指针类型,即由指针变量构成的数组,这种数组称之为指针数组,它是指针的集合。第43题:参考答案:首地址详细解答:调用函数的实参用数组名,被调用函数的形参用数组,这种调用的机制是形参和实参共用内存中的同一个数组。因此,在被调用函数中改变了数组中某个元素的值,对调用函数该数组的该元素值也被改变,因为它们是共用同一个数组,参数传递时将数据的首地址传递过去就可以了。第
14、44题:参考答案:构造函数详细解答:构造函数在对象创建时自动被调用。程序员不能在程序中调用构造函数。第45题:参考答案:类的静态详细解答:类的非静态成员属于类的实例所有,每创建一个类的实例都在内存中为非静态成员开辟了一块区域。而类的静态成员属于类所有,为这个类的所有实例所共享。第46题:参考答案:protected详细解答:protected:可以被该类中的函数、子类的函数以及其友元函数访问。但不能被该类的对象访问。第47题:参考答案:Bace(j)详细解答:因为程序在运行时输出:Derivde:d1 Base:b2 Base:b2 Base:b2,而前两个Base:b2 Base:b2分别来
15、自Base1(j),Base2(j),而在程序类的声明中,Base类也具有输出Base:b2的功能。所以,程序中应补充的代码为Base(j)。第48题:参考答案:PhoneNumber Opcrator详细解答:运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算。运算符重载实质上是函数的重载。重载运算符的函数一般格式为:函数类型operator运算符名称(形参列表)对运算符的重载处理,即函数名是由operator和运算符组成,如operator+意思是“对运算符+重载”。所以重载流插入操作符为:PhoneNumber Operator,其中符号“”为输出符。第49题:参考答案:virtual double area()详细解答:这里需要添加一个纯虚函数,即virtual double area()=0。第50题:参考答案:templatecalss dataClass详细解答:类模板说明的一般形式是: template类型形参表 class类名 /类说明体 ;更多试卷请见麦多课文库