ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:89KB ,
资源ID:1329631      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1329631.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】全国计算机等级考试二级C++真题2008年4月及答案解析.doc)为本站会员(jobexamine331)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】全国计算机等级考试二级C++真题2008年4月及答案解析.doc

1、全国计算机等级考试二级 C+真题 2008年 4月及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.程序流程图中带有箭头的线段表示的是(分数:2.00)A.图元关系B.数据流C.控制流D.调用关系2.结构化程序设计的基本原则不包括(分数:2.00)A.多态性B.自顶向下C.模块化D.逐步求精3.软件设计中模块划分应遵循的准则是(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合4.在软件开发中,需求分析阶段产生的主要文档是(分数:2.00)A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测

2、试计划5.算法的有穷性是指(分数:2.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用6.对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方法是(分数:2.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序7.下列关于栈的叙述正确的是(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据8.在数据库设计中,将 E-R图转换成关系数据模型的过程属于(分数:2.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段9

3、.有三个关系 R. S和 T如下: (分数:2.00)A.并B.自然连接C.笛卡尔积D.交10.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课SC(学号,课号,成绩),则表 SC的关键字(键或码)为(分数:2.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩11.下列有关函数重载的叙述中,错误的是(分数:2.00)A.函数重载就是用相同的函数名定义多个函数B.重载函数的参数列表必须不同C.重载函数的返回值类型必须不同D.重载函数的参数可以带有默认值12.下列有关类成员的叙述中,正确的是(分数:2.00)A.友元函数是类的

4、成员函数B.类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员13.下列有关类继承的叙述中,错误的是(分数:2.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员14.下列有关运算符重载的叙述中,正确的是(分数:2.00)A.运算符重栽是多态性的一种表现B.C+中可以通过运算符重载创造新的运算符C.C+中所有运算符都可以作为非成员函数重载D.重载运算符时可以改变其结合性15.下列有关模板的叙述中,正确的是(分数:2.00)A.函数模板不能含有常规形参B.函数模

5、板的一个实例就是一个函数定义C.类模板的成员函数不能是模板函数D.用类模板定义对象时,绝对不能省略模板实参16.下列有关 C+流的叙述中,错误的是(分数:2.00)A.C+操作符 setw设置的输出宽度永久有效B.C+操作符 endl可以实现输出的回车换行C.处理文件 I/O时,要包含头文件 fstreamD.进行输入操作时,eof()函数用于检测是否到达文件尾17.下列符号中能够作为 C+标识符的是(分数:2.00)A.constB.2aC.-shapeD.-count18.已知枚举类型声明语句为: enum COLORWHITE,YELLOW,GREEN5,RED,BLACK10; 则下列

6、说法中错误的是(分数:2.00)A.枚举常量 YELLOW的值为 1B.枚举常量 RED的值为 6C.枚举常量 BLACK的值为 10D.枚举常量 WHITE的值为 119.执行下列语句段后,输出字符“*”的个数是 for(int i50;i1;i2)count*;(分数:2.00)A.24B.25C.26D.5020.有如下定义: int a51,3,5,7,9, * p=a; 下列表达式中不能得到数值 5的是(分数:2.00)A.a2B.a3C.*(p+2)D.*p+421.已知函数 f的原形是 void f(int * a,long ,变量 v1、v2 的定义是: int v1;long

7、 v2; 下列调用语句中正确的是(分数:2.00)A.f(v1, ; 则类 MyClass的构造函数的个数是(分数:2.00)A.1个B.2个C.3个D.4个28.有如下类和对象的定义: class Constants public: static double get PI()return 3.1416; ;Constants constants; 下列各组语句中,能输出 3.1416的是(分数:2.00)A.coutconstants-getPI();和 coutConstants:getPI();B.coutconstant getPI();和 coutConstantgetPI();C

8、.coutconstants-getPI();和 coutConstants-getPl();D.coutconstant getPI();和 coutConstants:getPI();29.有如下程序: #includciostream using namespace std; class VAC public: int f()constreturn 3; int f()return 5; ; int main() VAC v1; const VAC v2; coutv1f()v2f(); return 0; 运行时的输出结果是(分数:2.00)A.53B.35C.55D.3330.有如下

9、类的声明: class Base protected: int amount; public: Base(int n0):amount(n) int getAmount()constreturn amount; ; class Derived:public Base protected: int value public: Derived(int m,int n):value(m),Base(n) int getData()constreturn value+amount; ;已知 x是一个 Derived对象,则下列表达式中正确的是(分数:2.00)A.value+ getAmount()B

10、.getData()- getAmount()C.getData()- amountD.value+ amount31.有如下程序: #includeiostream using namespace std; class Base int x; public: Base(int n0):x(n)coutn;) int getX()constreturn x; ; class Derived:public Base int y; public: Derived(int m,int n):y(m,)Base(n)coutm; Derived(int m):y(m)coutm; ; int main

11、() Derived d1(3),d2(5,7) return 0; 运行时的输出结果是(分数:2.00)A.375B.357C.0375D.035732.下列有关抽象类和纯虚函数的叙述中,错误的是(分数:2.00)A.拥有纯虚函数的类是抽象类,不能用来定义对象B.抽象类的派生类若不实现纯虚函数,它也是抽象类C.纯虚函数的声明以“0;”结束D.纯虚函数都不能有函数体33.有如下程序: #includeiostream using namespace std; class Amount int amount; public: Amount(int n=0):amount(n) int getAm

12、ount()constreturn amount; Amount int main() Amount x(3),y(7); x+y, coutx. getAmount()endl; return 0; 已知程序的运行结果是 10,则下划线处缺失的表达式是(分数:2.00)A.* thisB.thisC. class GA public: virtual int f( ) return 1; ; class GB:public GA public: virtual int f() return 2; ; void show(GA g)coutg.f(); void display(GA int

13、main() GA a;show(A) ;display(A) ; GB b;show(B) ;display(B) ; return 0; 运行时的输出结果是(分数:2.00)A.1111B.1211C.1112D.1212二、B填空题/B(总题数:15,分数:30.00)36.测试用例包括输入值集和U 【1】 /U值集。(分数:2.00)填空项 1:_37.深度为 5的满二叉树有U 【2】 /U个叶子结点。(分数:2.00)填空项 1:_38.设某循环队列的容量为 50,头指针 front5(指向队头元素的前一位置),尾指针 rear =29(指向队尾元素),则该循环队列中共有U 【3】

14、/U个元素。(分数:2.00)填空项 1:_39.在关系数据库中,用来表示实体之间联系的是U 【4】 /U。(分数:2.00)填空项 1:_40.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,U 【5】 /U负责数据的模式定义与数据的物理存取构建。(分数:2.00)填空项 1:_41.在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作“类”。类是一种抽象的概念,属于该类的一个实例叫做“U 【6】 /U”。(分数:2.00)填空项 1:_42.指针数组是由U 【7】 /U构成的数组。(分数:2.00)填空项 1:_43.如果使用数组名作为

15、函数参数,形实结合时,传递的是U 【8】 /U。(分数:2.00)填空项 1:_44.在类的对象被创建的时候,U 【9】 /U函数会被自动调用。(分数:2.00)填空项 1:_45.在类中,U 【10】 /U成员为类的所有对象所共享。(分数:2.00)填空项 1:_46.有如下程序: #includeiostream using namespace std; class Base public: int m,n; ; class Derived1:U 【11】 /UBase; class Derived2:public Derived1 public: void SetMN(int M,int

16、 N)m=M;n=N; int GetSumMN()return(m+n); ; int main() Derived2 objD; ohjD. SetMN(3,4); cout“M+N=“objD, m+objD, nendl; return 0 编译时只有“cout“M+N“objDmobjDnendl;”有语法错误,程序的其他地方没有语法错误。请判断下划线处使用的关键字是什么。(分数:2.00)填空项 1:_47.有如下程序: #includeiostream using namespace std class Base int b; public: Base(int i) b=i; V

17、oid disp ( ) cout“Base:b=“b; ; class Base1:virtual public Base public: Base1(int i):Base(i) ; class Base2:virtual public Base public: Base2(int i):Base(i) ; class Derived:public Base2. public Base1 int d; public: Derived(int i ,int j):Base1(j),Base2(j),U 【12】 /U d=i; void disp() cout“Derived:d=“d ;

18、; int main() Derived objD(1,2);objD. disp() objD. Base:disp(); objD. Base1:disp() objD. Base2:disp(); return 0; 请将程序补充完整,使程序在运行时输出: Derivd:d=1 Base:b2 Base:b=2 Base:b=2(分数:2.00)填空项 1:_48.如下程序声明了一个电话号码类 PhoneNumber,重载了流插入运算符,以便于电话号码的输出。请将程序补充完整。 # includeiostream # includeiomanip # includestring usin

19、g namespace std; class PhoneNumber public: void setNumber(string number) this-number = number; /重载流插入操作符 friendU 【13】 /U(ostream return output; private: string number; ; int main() PhoneNumber phone; phone. setNumber(“8008100598“); cout“The phone number is:“phoneendl; return 0; (分数:2.00)填空项 1:_49.如下

20、程序声明了一个二维图形类 TwoDShape,从其派生出矩形类 Rec。 #includeiostream #includestring using namespaee std, class TwoDShape/ 二维图形类 char name20; public: TwoDShape (char * n=“unknown“) strcpy(name, n); Char * getName()return name; U 【14】 /U=0; ; class Rec: public TwoDShape double width, height public: Rec(double w-=0.

21、0,double h=0. 0):TwoDShape(“rectangle“) width=w; height=h; double getWidth() return width; double getHeight() return height; double area() return width * height; ; int main() TwoDShape * shape; Shape=new Rec(2.1,3.0); cout“object is“shape-getName()“/n“; cout“Area is“shape-area()“/n“; return 0 请将程序补充

22、完整,使程序在运行时输出: abject is triangle Area is 6.3(分数:2.00)填空项 1:_50.如下程序声明了一个使用两个通用数据类型的模板类 dataClass,其中构造函数用于初始化两个数据成员,成员函数 show用于输出两个数据成员的数值。 #includeiostream using namespace std; U 【15】 /U T1 i; T2 j; public: dataClass(T1 a, T2 b)i=a;j=b; void show()couti“,“j/n; ; int main() dataClassint. doubleob1(10

23、,0.23) dataCllasschar,char *ob2(X,“my data“); ob1show(); ob2show(); return 0; 请将程序补充完整,使程序在运行时输出: 10,0.23 X,my data(分数:2.00)填空项 1:_全国计算机等级考试二级 C+真题 2008年 4月答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.程序流程图中带有箭头的线段表示的是(分数:2.00)A.图元关系B.数据流C.控制流 D.调用关系解析:解析 详细设计阶段的主要描述工具分为图形、语言和表格描述工具。程序流程图是常用

24、的图形描述工具之一,流程图中包含的主要元素有方框:表示一个处理步骤;菱形框:表示一个逻辑条件;箭头:表示控制流向。2.结构化程序设计的基本原则不包括(分数:2.00)A.多态性 B.自顶向下C.模块化D.逐步求精解析:解析 结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化。程序设计时,应先从最上层总目标开始设计,逐步使问题具体化。对复杂问题,应设计一些子目标作为过渡,逐步细化。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。3.软件设计中模块划分应遵循的准则是(分数:2.00)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D

25、.高内聚高耦合解析:解析 内聚性是对一个模块内部各个元素之间结合的紧密程度进行度量,它用于对模块功能强度进行衡量,内聚性越高,则模块的独立性越高;耦合性是各个模块之间的相互联系紧密程度的衡量,它用于对模块的块间联系进行度量,耦合性越低,则模块的独立性越高。模块内聚性高而耦合性低是模块划分的重要原则之一。4.在软件开发中,需求分析阶段产生的主要文档是(分数:2.00)A.可行性分析报告B.软件需求规格说明书 C.概要设计说明书D.集成测试计划解析:解析 软件开发中的主要文档有,市场调研(可行性分析“做还是不做”);需求分析(软件需求规格说明书“做什么,不做什么”。);概要设计(概要设计说明书);

26、详细设计(详细设计说明书);测试 (集成测试计划)。5.算法的有穷性是指(分数:2.00)A.算法程序的运行时间是有限的 B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用解析:解析 算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。算法的有穷性是指算法必须能在执行有限个步骤之后终止,即算法程序运行的时间是有限的。6.对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方法是(分数:2.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序 解析:解析 主要考察各种排序方法的掌握情况。直接插入排序:每次将一个待排序的数据元素

27、,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。冒泡排序:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。快速排序:在当前无序区 R1 H中任取一个数据元素作为比较的“基准”,用此基准将当前无序区划分为左右两个较小的无序区:R1 I-1和 RI+1 H,且左边的无序子区中数据元素均小于等于基准元素,右边的无序子区中数据元素均大于等于基准元素,而基准则位于最终排序的位置上,即R1 I-1X. KeyRI+1 H(1IH),当 RI I-1)和 RI+1 H均非空时,分别对它们进行上述的划分过程,直至所有

28、无序子区中的数据元素均已排序为止。堆排序:堆排序是一树形选择排序,在排序过程中,将 R1 N看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择最小的元素。7.下列关于栈的叙述正确的是(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据 C.只能在栈底插入数据D.不能删除数据解析:解析 栈是种只能在叫做栈的一段进行进栈或者出栈操作的线性数据结构。栈的主要特点是“后进先出”,即后进栈的元素先处理。8.在数据库设计中,将 E-R图转换成关系数据模型的过程属于(分数:2.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段 D.物理设计阶

29、段解析:解析 E-R 图就是实体关系图,E 就是实体,R 就是关系形象的表示实体之间的联系。逻辑结构设计阶段是将概念结构转换为某个 DBMS所支持的数据模型,并将其性能进行优化。9.有三个关系 R. S和 T如下: (分数:2.00)A.并B.自然连接C.笛卡尔积D.交 解析:解析 关系 R与 s并,由属于 R或属于 s的元组构成的集合组成;R 和 S的广义笛卡儿积是一个(n+m)列的元组的集合。元组的前 n列是关系 R的一个元组,后 m列是关系 S的一个元组;关系 R 与 S的交既属于 R同时又属于 S的元组构成的集合。自然连接,要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中

30、将重复属性列去掉。10.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课SC(学号,课号,成绩),则表 SC的关键字(键或码)为(分数:2.00)A.课号,成绩B.学号,成绩C.学号,课号 D.学号,姓名,成绩解析:解析 本题考查数据库关键字和表之间关系的相关知识。所谓关键字就是指表中的某个属性的值具有能唯一标识关系中元组。11.下列有关函数重载的叙述中,错误的是(分数:2.00)A.函数重载就是用相同的函数名定义多个函数B.重载函数的参数列表必须不同C.重载函数的返回值类型必须不同 D.重载函数的参数可以带有默认值解析:解析 函数重载的函数

31、名是相同的,而参数列表不同。可行函数的参数个数与调用的函数参数个数相同,或者可行函数的参数可以多一些,但是多出来的函数参数都要有相关的缺省值,即参数的默认值。12.下列有关类成员的叙述中,正确的是(分数:2.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的 C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员解析:解析 从类的定义可以知道类的私有成员只能由本类中的成员函数访问,外界不能访问一个对象的私有部分,所以,在 C+中类成员的默认访问权限是私有的。在类中,类成员函数可以是公有的,也可以是私有的,友元函数属于类的外部函数。13.下列有关类继承的叙述中,错误的是(分

32、数:2.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员 解析:解析 派生方式分为两种:private 派生或 public派生,分别被称为私有派生和公有派生,使用 public派生,基类的所有成员在派生类中的访问权限不变。14.下列有关运算符重载的叙述中,正确的是(分数:2.00)A.运算符重栽是多态性的一种表现 B.C+中可以通过运算符重载创造新的运算符C.C+中所有运算符都可以作为非成员函数重载D.重载运算符时可以改变其结合性解析:解析 所谓运算符重载,就是对已有的运算符重新进行定义,赋予其

33、另一种功能,以适应不同的数据类型,所以它不是创造新的运算符;三元运算符“?”“、”“:”点运算符、作用域等运算符都不可以重载;运算符重载不改变运算符的优先级和结合性,不改变其语法结构,也就是不能改变操作数的个数,即单目的只能重载为单目运算符,双目的只能重载为双目运算。15.下列有关模板的叙述中,正确的是(分数:2.00)A.函数模板不能含有常规形参B.函数模板的一个实例就是一个函数定义 C.类模板的成员函数不能是模板函数D.用类模板定义对象时,绝对不能省略模板实参解析:解析 类模板可以成为另外一个类模板的成员(叫“成员模板”),函数模板没有实参和形参之分,函数模板可以看成一个无参函数,它的参数

34、要根据调用对象的参数而定。16.下列有关 C+流的叙述中,错误的是(分数:2.00)A.C+操作符 setw设置的输出宽度永久有效 B.C+操作符 endl可以实现输出的回车换行C.处理文件 I/O时,要包含头文件 fstreamD.进行输入操作时,eof()函数用于检测是否到达文件尾解析:解析 C+操作符 endl可以实现输出的回车换行的功能;在处理文件 I/O时,要包含头文件iostream,是为了说明引用的参数或函数的位置;函数 eof()用来检测是否到达文件尾,如果到达件尾返回非 0值,否则返回 0。17.下列符号中能够作为 C+标识符的是(分数:2.00)A.constB.2aC.-

35、shape D.-count解析:解析 作为标识符必须满足以下规则:所有标识符必须由一个字母(az,AZ)或下划线“_”开头;标识符的其它部分可以用字母、下划线或数字(09)组成;大小写字母表示不同意义,即代表不同的标识符;标识符只有前 32个字符有效;标识符不能使用关键字。count 是设备保留字不能作为标识符。18.已知枚举类型声明语句为: enum COLORWHITE,YELLOW,GREEN5,RED,BLACK10; 则下列说法中错误的是(分数:2.00)A.枚举常量 YELLOW的值为 1B.枚举常量 RED的值为 6C.枚举常量 BLACK的值为 10D.枚举常量 WHITE的

36、值为 1 解析:解析 枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值;枚举元素本身由系统定义了一个表示序号的数值,从 0开始顺序定义为 0,1,2。所以枚举函数中对象的值应从。开始,依次加 1,如果有的对象已赋值,则后面也按照前面的值依次加 1的原则。19.执行下列语句段后,输出字符“*”的个数是 for(int i50;i1;i2)count*;(分数:2.00)A.24B.25 C.26D.50解析:解析 count是输出的意思,for 是循环语句共执行了 25次,应输出 25个*。20.有如下定义: int a51,3,5,7,9, * p=a; 下列表达式中不能得到数值 5的

37、是(分数:2.00)A.a2B.a3 C.*(p+2)D.*p+4解析:21.已知函数 f的原形是 void f(int * a,long ,变量 v1、v2 的定义是: int v1;long v2; 下列调用语句中正确的是(分数:2.00)A.f(v1, ; 则类 MyClass的构造函数的个数是(分数:2.00)A.1个 B.2个C.3个D.4个解析:28.有如下类和对象的定义: class Constants public: static double get PI()return 3.1416; ;Constants constants; 下列各组语句中,能输出 3.1416的是(分

38、数:2.00)A.coutconstants-getPI();和 coutConstants:getPI();B.coutconstant getPI();和 coutConstantgetPI();C.coutconstants-getPI();和 coutConstants-getPl();D.coutconstant getPI();和 coutConstants:getPI(); 解析:29.有如下程序: #includciostream using namespace std; class VAC public: int f()constreturn 3; int f()return

39、 5; ; int main() VAC v1; const VAC v2; coutv1f()v2f(); return 0; 运行时的输出结果是(分数:2.00)A.53 B.35C.55D.33解析:30.有如下类的声明: class Base protected: int amount; public: Base(int n0):amount(n) int getAmount()constreturn amount; ; class Derived:public Base protected: int value public: Derived(int m,int n):value(m

40、),Base(n) int getData()constreturn value+amount; ;已知 x是一个 Derived对象,则下列表达式中正确的是(分数:2.00)A.value+ getAmount()B.getData()- getAmount() C.getData()- amountD.value+ amount解析:31.有如下程序: #includeiostream using namespace std; class Base int x; public: Base(int n0):x(n)coutn;) int getX()constreturn x; ; clas

41、s Derived:public Base int y; public: Derived(int m,int n):y(m,)Base(n)coutm; Derived(int m):y(m)coutm; ; int main() Derived d1(3),d2(5,7) return 0; 运行时的输出结果是(分数:2.00)A.375B.357C.0375 D.0357解析:32.下列有关抽象类和纯虚函数的叙述中,错误的是(分数:2.00)A.拥有纯虚函数的类是抽象类,不能用来定义对象B.抽象类的派生类若不实现纯虚函数,它也是抽象类 C.纯虚函数的声明以“0;”结束D.纯虚函数都不能有函

42、数体解析:解析 只要是拥有了纯虚函数的类,就是一个抽象类,也就是说你不能根据它产生任何一个对象;纯虚函数的声明格式如下:virtual函数返回类型说明符函数名(参数表)0;纯虚函数根本就没有函数体;所以不能进行调用。33.有如下程序: #includeiostream using namespace std; class Amount int amount; public: Amount(int n=0):amount(n) int getAmount()constreturn amount; Amount int main() Amount x(3),y(7); x+y, coutx. ge

43、tAmount()endl; return 0; 已知程序的运行结果是 10,则下划线处缺失的表达式是(分数:2.00)A.* this B.thisC. class GA public: virtual int f( ) return 1; ; class GB:public GA public: virtual int f() return 2; ; void show(GA g)coutg.f(); void display(GA int main() GA a;show(A) ;display(A) ; GB b;show(B) ;display(B) ; return 0; 运行时的

44、输出结果是(分数:2.00)A.1111B.1211C.1112 D.1212解析:二、B填空题/B(总题数:15,分数:30.00)36.测试用例包括输入值集和U 【1】 /U值集。(分数:2.00)填空项 1:_ (正确答案:输出)解析:解析 测试用例是为测试设计的数据。测试用例由测试输入数据和与之对应的预期输出结果两部分组成。37.深度为 5的满二叉树有U 【2】 /U个叶子结点。(分数:2.00)填空项 1:_ (正确答案:16)解析:解析 根据二叉树的性质:二叉树第 i(i1)层上至多有 2i-1个结点。得到第 5层的结点数最多是 16。38.设某循环队列的容量为 50,头指针 fr

45、ont5(指向队头元素的前一位置),尾指针 rear =29(指向队尾元素),则该循环队列中共有U 【3】 /U个元素。(分数:2.00)填空项 1:_ (正确答案:24)解析:解析 考查数据结构的循环队列的知识。队列元素数为:rearfront29-524 个39.在关系数据库中,用来表示实体之间联系的是U 【4】 /U。(分数:2.00)填空项 1:_ (正确答案:二维表)解析:解析 在关系模型中,实体以及实体间的联系都是用关系表示的。关系模型中数据的逻辑结构;一张二维表。40.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,U 【5】 /U负责数据的模式定义与数据的物理

46、存取构建。(分数:2.00)填空项 1:_ (正确答案:数据定义语言)解析:解析 数据定义语言用于定义数据库的所有特性和属性,尤其是行布局、列定义、键列(有时是选键方法)、文件位置和存储策略。数据库操纵语言用于查询和操纵模式对象中的数据,数据库控制语言控制用户对数据库的存取能力,控制数据库的安全性。41.在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作“类”。类是一种抽象的概念,属于该类的一个实例叫做“U 【6】 /U”。(分数:2.00)填空项 1:_ (正确答案:对象)解析:解析 对象是一个可视化的或非可视化的元件,而在 C+程序代码中,对象是类的一个实例(有时指向对象的指针也称为对象)。42.指针数组是由U 【7】 /U构成的数组。(分数:2.00)填空项 1

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1