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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】二级C++-12-1及答案解析.doc

1、二级 C+-12-1 及答案解析(总分:83.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:56.00)1.如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。#includeiostreamusing namespace std;class Baseint a,b;public:Base(int x,int y)a=x;b=y;void show()couta,bendl;class Derived:public Baseint c,d;public:Derived(int x,int y,int z,

2、int m):Base(x,y)c=z;d=w;void show()coutc,dendl;int main()Base B1(50,50),*pb;Derived D1(10,20,30,40);pb=char * p“It is mine“;则以下不正确的叙述是 A. a1 表示的是字符 t 的地址 B. p 指向另外的字符串时,字符串的长度不受限制 C. p 变量中存放的地址值可以改变 D. a 中只能存放 10 个字符(分数:2.00)A.B.C.D.4.定义静态成员函数的主要目的是 A. 方便调用 B. 有利于数据隐蔽 C. 处理类的静态成员变量 D. 便于继承(分数:2.00)A

3、.B.C.D.5.凡是函数中未指定存储类别的局部变量,其隐含的存储类型是U /U。 A. auto B. static C. regiser D. extern(分数:2.00)A.B.C.D.6.数据结构中,与所使用的计算机无关的是数据的 A. 存储结构 B. 物理结构 C. 逻辑结构 D. 物理和存储结构(分数:1.00)A.B.C.D.7.下列有关指针的用法中错误的是U /U。 A.int i;int *ptr= B.int i;int *ptr;i=*ptr; C.int *ptr;ptr=0; D.inti=5;int *ptr;*ptr(分数:2.00)A.B.C.D.8.在说明一

4、个结构体变量时,系统分配给它的存储空间是U /U。 A.该结构体中第一个成员所需的存储空间 B.该结构体中最后一个成员所需的存储空间 C.该结构体中占用最大存储空间的成员所需的存储空间 D.该结构体中所有成员所需存储空间的总和(分数:2.00)A.B.C.D.9.运行以下程序后,如果从键盘上输入 shose 后回车,则输出结果为 _。# includeiostream.hvoid main()int v1=0,v2=0,k=0;char ch80;cinch;while(chk)switch(chk)case s;case h;default: v1+1;case o: v2+;k+;cout

5、v1 “,“v2end1; A. 2, 0 B. 5, 0 C. 4, 5 D. 2, 5(分数:2.00)A.B.C.D.10.下列关于运算符重载的叙述中,正确的是 A.通过运算符重载,可以定义新的运算符 B.有的运算符只能作为成员函数重载 C.若重载运算符+,则相应的运算符函数名是+ D.重载一个二元运算符时,必须声明两个形参 (分数:1.00)A.B.C.D.11.下面正确的是U /U。 A. 4.1/2 B. 3.2%3 C. 3/2=1 结果为 2 D. 5.2/3 结果是 1(分数:2.00)A.B.C.D.12.设有以下程序段:int a5=0,*p,*q;p=a;q=a;则下列

6、选项中,合法的运算是U /U。 A. p+q B. p-q C. p*q D. p%q(分数:1.00)A.B.C.D.13.若有以下的定义, int a =1,2,3,4,5,6,7,8,9,10,*p=a;则值为 3 的表达式是 _。 A. p+=2,*(p+) B. p+=2,*+p C. p+=3,*p+ D. p+=2,+*p(分数:2.00)A.B.C.D.14.在说明 int const *ptr;中,ptr 应是U /U。 A. 指向常量的指针 B. 指针常量 C. 指针常数 D. 常指针(分数:2.00)A.B.C.D.15.下列函数的运行结果是U /U。#includeio

7、stream.hint f(int a,int b)int c;if(ab) c=1;else if(a=b)c=0elsec=-1;return(c); void main() int i=2,j=3;int p=f(i,j);coutp: A.-1 B.1 C.2 D.编译出错,无法运行(分数:1.00)A.B.C.D.16.对于下面定义的类 MyClass,在函数 f()中将对象成员 n 的值修改为 50 的语句应该是 U /U。 class MyClass public: MyClass(int X)n=x; void SetNum(int nl)n=nl private: int n

8、; int f() MyClass*ptr=new MyClass(45); _ AMyClass(50) BSetNum(50) Cptr-SetNum(50) Dptr-n=50(分数:1.00)A.B.C.D.17.下面 _ 机制允许对一个函数名给出多个函数定义 A. 封装性 B. 继承性 C. 函数重载 D. 多态性(分数:2.00)A.B.C.D.18.下面程序的输出结果是U /U。#include iostreamusing namespace Std;int main()int x6=1,3,5,7,9,11,*k,*s;k=x;s=class Testpublic:Test()

9、 n+=2;Test() n-=3;static int getNum()return n;private:static int n;int Test:n=1;int main()Test* p=new Test;delete p;cout“n=“Test:getNum()endl;return 0;执行该程序的输出结果是_。 A.n=0 B.n=1 C.n=2 D.n=3(分数:1.00)A.B.C.D.22.在 C+语言里,一条语句以U /U字符作为结束符。 A. , B. ; C. D. 无符号(分数:2.00)A.B.C.D.23.以下关键字不能用来声明类的访问权限的是U /U。 A.

10、 public B. static C. protected D. private(分数:1.00)A.B.C.D.24.下列虚基类的声明中正确的是 _。 A. class virtual B: public A B. class B: public A virtual C. class B: public virtual A D. virtual class B: public A(分数:2.00)A.B.C.D.25.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 A. acbed B. decab C. deabc D. cedba(分数:1.00)

11、A.B.C.D.26.下列语句不能够用于打开 C 根目录下文件 testtxt 的语句是 A. ifstream fin;finopen(“C:/testtxt“); B.ifstream fin(“C:/testtxt“); C.A)和 B) D. ifstream fin;fin(“C:/testtxt“); (分数:1.00)A.B.C.D.27.下列工具中为需求分析常用工具的是U /U。 A.PAD B.PFD C.NS D.DFD(分数:2.00)A.B.C.D.28.下面关于虚函数的描述,错误的是U /U。 A. 在成员函数声明的前面加上 virtual 修饰,就可把该函数声明为虚

12、函数 B. 基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数 C. 虚函数可以是另一个类的友元函数,但不能是静态成员函数 D. 基类中说明的纯虚函数在其任何派生类中都必须实现(分数:2.00)A.B.C.D.29.下列字符串中可以用作 C+标识符的是 A. 2009var B. goto C. test-2009 D. -123(分数:2.00)A.B.C.D.30.下列关于多继承二义性的描述中,错误的是U /U。 A. 一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性。 B. 解决二义性的最常用的方法是对成员名的限定法 C. 基类和派生类中同时出现的

13、同名函数,也存在二义性问题 D. 一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性(分数:1.00)A.B.C.D.31.下列关于类模板的模板参数的叙述中,错误的是_。 A.模板参数可以作为数据成员的类型 B.模板参数可以作为成员函数的返回类型 C.模板参数可以作为成员函数的参数类型 D.模板参数不能作为成员函数的局部变量的类型(分数:1.00)A.B.C.D.32.需求分析阶段的任务是确定 A.软件开发方法 B.软件开发工具 C.软件开发费用 D.软件系统功能(分数:1.00)A.B.C.D.33.( )是以一种完全通用的方法来设计函数

14、或类而不必预先说明将被使用的每个对象的类型。 A. 模板 B. 类 C. 对象 D. 函数(分数:2.00)A.B.C.D.34.在一个派生类对象结束其生命周期时 A. 先调用派生类的析构函数,后调用基类的析构函数 B. 先调用基类的析构函数,后调用派生类的析构函数 C. 如果基类没有定义析构函数,则只调用派生类的析构函数 D. 如果派生类没有定义析构函数,则只调用基类的析构函数(分数:2.00)A.B.C.D.35.有如下程序:#include iostream using namespace std;class Apublic :A() cout“A“; A() t cout“ A“; ;

15、class B : public AA* p;public :B() cout“B“; p = new A();B() cout“ B“; deletep; ;int main()B obj;return 0 ;执行这个程序的输出结果是U /U。 A. BAAABA B. ABABAA C. BAABAA D. ABAABA(分数:1.00)A.B.C.D.二、B填空题/B(总题数:15,分数:27.00)36.数据结构分为逻辑结构和存储结构,循环队列属于U U /U /U结构。(分数:2.00)填空项 1:_37.数据库管理系统是位于U U /U /U之间的软件系统。(分数:1.00)填空项

16、 1:_38.C+在重载运算将中,如用成员函数重载一元运算符参数表中需要_个参数,如用友元函数重载一元运算符参数表中需要_个参数。(分数:1.00)填空项 1:_39.十进制数 28 和 3.26 的类型分别为U U /U /U和U U /U /U。(分数:2.00)填空项 1:_40.表达式 operator+(x,int)其可以表示为U U /U /U。(分数:2.00)填空项 1:_41.在有序列表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 12,所需的关键码比较次数为U U /U /U。(分数:2.00)填空项 1:_42.有如下程序段: i

17、ntx=1,y=2,z=3; x=xz: y=yz; z=xy: coutxyz; 这个程序段的输出结果是_。(分数:2.00)填空项 1:_43.在关系数据库中,把数据表示成二维表,每一个二维表称为 1。(分数:2.00)填空项 1:_44.一棵二叉树第 6 层(根结点为第一层)的结点最多为 1 个。(分数:2.00)填空项 1:_45.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 1。(分数:1.00)填空项 1:_46.在数据库技术中,实体集之问的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 1。(

18、分数:2.00)填空项 1:_47.已知递归函数 f 的定义如下: int f(int n) if(n1)return 1; /递归结束情况 else return n*f(n-2);/递归) 则函数调用语句 f(5)的返回值是_。(分数:2.00)填空项 1:_48.数据流图的类型有U /U和事务型。(分数:2.00)填空项 1:_49.有如下循环语句: for(inti=50;i20;i-=2)couti“,“; 程序运行时循环体的执行次数是_。(分数:2.00)填空项 1:_50.在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,且每一个 1 实际上对应一个处理模块。(分数

19、:2.00)填空项 1:_二级 C+-12-1 答案解析(总分:83.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:56.00)1.如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。#includeiostreamusing namespace std;class Baseint a,b;public:Base(int x,int y)a=x;b=y;void show()couta,bendl;class Derived:public Baseint c,d;public:Derived(int x,

20、int y,int z,int m):Base(x,y)c=z;d=w;void show()coutc,dendl;int main()Base B1(50,50),*pb;Derived D1(10,20,30,40);pb=char * p“It is mine“;则以下不正确的叙述是 A. a1 表示的是字符 t 的地址 B. p 指向另外的字符串时,字符串的长度不受限制 C. p 变量中存放的地址值可以改变 D. a 中只能存放 10 个字符(分数:2.00)A.B.C.D. 解析:解析 本题考查字符串数组和指针的引用方式。在 C语言中,系统在每个字符串或数组的最后自动加入一个字符/

21、0,作为字符的结束标志,在本题中,char a “It is mine”;所表示的 a字符串实际含有 11 个字符。4.定义静态成员函数的主要目的是 A. 方便调用 B. 有利于数据隐蔽 C. 处理类的静态成员变量 D. 便于继承(分数:2.00)A.B.C. D.解析:解析 静态成员函数可以直接访问类的静态数据成员,但不能访问类的非静态成员,故正确答案为 C 项。5.凡是函数中未指定存储类别的局部变量,其隐含的存储类型是U /U。 A. auto B. static C. regiser D. extern(分数:2.00)A. B.C.D.解析:解析 变量说明时使用 auto 修饰的局部变

22、量是自动变量,auto 经常省略,在未指定存储类别时,默认为 auto。6.数据结构中,与所使用的计算机无关的是数据的 A. 存储结构 B. 物理结构 C. 逻辑结构 D. 物理和存储结构(分数:1.00)A.B.C. D.解析:解析 数据结构概念一般包括 3 个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。7.下列有关指针的用法中错误的是U /U。 A.int i;int *ptr= B.int i;int *ptr;i=*ptr; C.int *ptr;ptr=0; D.inti=5;int *p

23、tr;*ptr(分数:2.00)A.B. C.D.解析:8.在说明一个结构体变量时,系统分配给它的存储空间是U /U。 A.该结构体中第一个成员所需的存储空间 B.该结构体中最后一个成员所需的存储空间 C.该结构体中占用最大存储空间的成员所需的存储空间 D.该结构体中所有成员所需存储空间的总和(分数:2.00)A.B.C.D. 解析:9.运行以下程序后,如果从键盘上输入 shose 后回车,则输出结果为 _。# includeiostream.hvoid main()int v1=0,v2=0,k=0;char ch80;cinch;while(chk)switch(chk)case s;ca

24、se h;default: v1+1;case o: v2+;k+;coutv1 “,“v2end1; A. 2, 0 B. 5, 0 C. 4, 5 D. 2, 5(分数:2.00)A.B.C. D.解析:10.下列关于运算符重载的叙述中,正确的是 A.通过运算符重载,可以定义新的运算符 B.有的运算符只能作为成员函数重载 C.若重载运算符+,则相应的运算符函数名是+ D.重载一个二元运算符时,必须声明两个形参 (分数:1.00)A.B. C.D.解析:解析 一般运算符重载可以采用成员函数方式或友元方式。但成员运算符(.),指向成员的指针,作用域运算符(:),条件运算符(?:)只能采用成员函

25、数方式;重载运算符(+),对应的运算符函数名是operator+();重载一个二元运算符时,只需声明一个形参,左操作数毋须用参数输入,而是通过隐含的this 指针传入。11.下面正确的是U /U。 A. 4.1/2 B. 3.2%3 C. 3/2=1 结果为 2 D. 5.2/3 结果是 1(分数:2.00)A. B.C.D.解析:解析 选项 B 的%要求是整型;选项 C 关系运算值为 1;选项 D 结果为 1.7333。12.设有以下程序段:int a5=0,*p,*q;p=a;q=a;则下列选项中,合法的运算是U /U。 A. p+q B. p-q C. p*q D. p%q(分数:1.0

26、0)A.B. C.D.解析:解析 本题考核指针的运算。C+语言中,指向同一字符串的指针之间能且只能进行减运算,减运算后返回的是一整型数,表示指针之间的地址偏移量。13.若有以下的定义, int a =1,2,3,4,5,6,7,8,9,10,*p=a;则值为 3 的表达式是 _。 A. p+=2,*(p+) B. p+=2,*+p C. p+=3,*p+ D. p+=2,+*p(分数:2.00)A. B.C.D.解析:14.在说明 int const *ptr;中,ptr 应是U /U。 A. 指向常量的指针 B. 指针常量 C. 指针常数 D. 常指针(分数:2.00)A.B.C.D. 解析

27、:解析 此处是常指针格式。15.下列函数的运行结果是U /U。#includeiostream.hint f(int a,int b)int c;if(ab) c=1;else if(a=b)c=0elsec=-1;return(c); void main() int i=2,j=3;int p=f(i,j);coutp: A.-1 B.1 C.2 D.编译出错,无法运行(分数:1.00)A. B.C.D.解析:16.对于下面定义的类 MyClass,在函数 f()中将对象成员 n 的值修改为 50 的语句应该是 U /U。 class MyClass public: MyClass(int

28、X)n=x; void SetNum(int nl)n=nl private: int n; int f() MyClass*ptr=new MyClass(45); _ AMyClass(50) BSetNum(50) Cptr-SetNum(50) Dptr-n=50(分数:1.00)A.B.C. D.解析:17.下面 _ 机制允许对一个函数名给出多个函数定义 A. 封装性 B. 继承性 C. 函数重载 D. 多态性(分数:2.00)A.B.C.D. 解析:18.下面程序的输出结果是U /U。#include iostreamusing namespace Std;int main()in

29、t x6=1,3,5,7,9,11,*k,*s;k=x;s=class Testpublic:Test() n+=2;Test() n-=3;static int getNum()return n;private:static int n;int Test:n=1;int main()Test* p=new Test;delete p;cout“n=“Test:getNum()endl;return 0;执行该程序的输出结果是_。 A.n=0 B.n=1 C.n=2 D.n=3(分数:1.00)A. B.C.D.解析:解析 本题考查静态数据成员和静态成员函数。静态数据成员是类中所有对象共享的成

30、员,而不是某个对象的成员。题目中的静态数据成员 n 的运算具有叠加性,执行“n+=2”和“n-=3”后 n 的值为0。22.在 C+语言里,一条语句以U /U字符作为结束符。 A. , B. ; C. D. 无符号(分数:2.00)A.B. C.D.解析:解析 在 C+语言里,一条语句以“;”字符作为结束符。23.以下关键字不能用来声明类的访问权限的是U /U。 A. public B. static C. protected D. private(分数:1.00)A.B. C.D.解析:解析 类的成员访问权限有 3 种:public(公用)、protected(保护)、private(私有)

31、。24.下列虚基类的声明中正确的是 _。 A. class virtual B: public A B. class B: public A virtual C. class B: public virtual A D. virtual class B: public A(分数:2.00)A.B.C. D.解析:25.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 A. acbed B. decab C. deabc D. cedba(分数:1.00)A.B.C.D. 解析:解析 依据后序遍历序列可确定根结点为 c;再依据中序遍历序列可知其左子树由 deb

32、a 构成,右子树为空;又由左子树的后序遍历序列可知其根结点为 e,由中序遍历序列可知其左子树为 d,右子树由 ba 构成,如下图所示。求得该二叉树的前序遍历序列为选项 D)。 *26.下列语句不能够用于打开 C 根目录下文件 testtxt 的语句是 A. ifstream fin;finopen(“C:/testtxt“); B.ifstream fin(“C:/testtxt“); C.A)和 B) D. ifstream fin;fin(“C:/testtxt“); (分数:1.00)A.B.C.D. 解析:解析:C+语言中打开文件有两种方式ifstream fin(“testdar“,

33、)if stream fin;finopen(“testdat“,);。27.下列工具中为需求分析常用工具的是U /U。 A.PAD B.PFD C.NS D.DFD(分数:2.00)A.B.C.D. 解析:解析 需求分析常用的工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。PAD(问题分析图)、PFD(程序流程图)、NS(盒式图)都是详细设计的常用工具,不是需求分析的工具。28.下面关于虚函数的描述,错误的是U /U。 A. 在成员函数声明的前面加上 virtual 修饰,就可把该函数声明为虚函数 B. 基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数 C. 虚函数可以

34、是另一个类的友元函数,但不能是静态成员函数 D. 基类中说明的纯虚函数在其任何派生类中都必须实现(分数:2.00)A.B. C.D.解析:解析 虚函数的特性。29.下列字符串中可以用作 C+标识符的是 A. 2009var B. goto C. test-2009 D. -123(分数:2.00)A.B.C.D. 解析:解析 在 C+中,变量标识符必须以大小写字母或下画线开始,是由数字或者字母下画线等组成的一个字符串,其中 C+关键字不能作为标识符,不能包含-、+、*、/等运算符号。C+变量区分大小写。30.下列关于多继承二义性的描述中,错误的是U /U。 A. 一个派生类的两个基类中都有某个

35、同名成员,在派生类中对这个成员的访问可能出现二义性。 B. 解决二义性的最常用的方法是对成员名的限定法 C. 基类和派生类中同时出现的同名函数,也存在二义性问题 D. 一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性(分数:1.00)A.B.C. D.解析:解析 本题考核多继承中出现的二义性问题。在多重继承的情况下,派生类具有两个以上的直接基类,而这些直接基类的一部分或全部又是从另一个共同基类派生而来时,这些直接基类中从上一级继承来的成员就拥有相同的名称。在派生类的对象中,这些同名成员在内存中同时有多个复制件,所以派生对这些同名成员的访问

36、存在二义性。所以选项 A 和 D 的说法是正确的。 解决二义性的方法有两种:一是使用作用域分辨符来惟一标识并分别访问它们:二是可以将共同基类设置为虚基类。而第一种方法最常用。所以选项 B 的说法是正确的。 基类和派生类中同时出现同名函数,符合支配规则,不存在二义性问题。所以选项 C 的说法不正确。31.下列关于类模板的模板参数的叙述中,错误的是_。 A.模板参数可以作为数据成员的类型 B.模板参数可以作为成员函数的返回类型 C.模板参数可以作为成员函数的参数类型 D.模板参数不能作为成员函数的局部变量的类型(分数:1.00)A.B.C.D. 解析:解析 本题考查类模板的概念和定义,模板参数可以

37、作为成员函数的局部变量的类型。32.需求分析阶段的任务是确定 A.软件开发方法 B.软件开发工具 C.软件开发费用 D.软件系统功能(分数:1.00)A.B.C.D. 解析:解析 考查考生对需求分析的内容的了解。 解题要点 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。 错解分析 选项 A)软件开发方法是在总体设计阶段完成的任务;选项 B)软件开发工具是在实现阶段需完成的任务;选项 C)软件开发费用是在可行性研究阶段需完成的任务: 考点链接 需求分析的任务和

38、它的 6 种方法。33.( )是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。 A. 模板 B. 类 C. 对象 D. 函数(分数:2.00)A. B.C.D.解析:解析 本题考核模板的概念。模板是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。34.在一个派生类对象结束其生命周期时 A. 先调用派生类的析构函数,后调用基类的析构函数 B. 先调用基类的析构函数,后调用派生类的析构函数 C. 如果基类没有定义析构函数,则只调用派生类的析构函数 D. 如果派生类没有定义析构函数,则只调用基类的析构函数(分数:2.00)A.B. C.D.解析:

39、解析 在删除派生类对象时,应先执行派生类的析构函数,然后执行基类的析构函数。35.有如下程序:#include iostream using namespace std;class Apublic :A() cout“A“; A() t cout“ A“; ;class B : public AA* p;public :B() cout“B“; p = new A();B() cout“ B“; deletep; ;int main()B obj;return 0 ;执行这个程序的输出结果是U /U。 A. BAAABA B. ABABAA C. BAABAA D. ABAABA(分数:1.0

40、0)A.B. C.D.解析:解析 本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数。对象释放时,先执行派生类的析构函数,再执行基类的析构函数。所以本题答案为 B。二、B填空题/B(总题数:15,分数:27.00)36.数据结构分为逻辑结构和存储结构,循环队列属于U U /U /U结构。(分数:2.00)填空项 1:_ (正确答案:存储 或 物理)解析:37.数据库管理系统是位于U U /U /U之间的软件系统。(分数:1.00)填空项 1:_ (正确答案:用户与操作系统)解析:解析 本题考核数据库管理系统的基本概念。数据库管理系统是

41、一个帮助用户创建和管理数据库的应用程序的集合。因此,数据库管理系统需要操作系统的支持,为用户提供服务。38.C+在重载运算将中,如用成员函数重载一元运算符参数表中需要_个参数,如用友元函数重载一元运算符参数表中需要_个参数。(分数:1.00)填空项 1:_ (正确答案:0 1)解析:39.十进制数 28 和 3.26 的类型分别为U U /U /U和U U /U /U。(分数:2.00)填空项 1:_ (正确答案:整型 浮点型)解析:解析 数据类型的定义。40.表达式 operator+(x,int)其可以表示为U U /U /U。(分数:2.00)填空项 1:_ (正确答案:x+)解析:41

42、.在有序列表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 12,所需的关键码比较次数为U U /U /U。(分数:2.00)填空项 1:_ (正确答案:4)解析:42.有如下程序段: intx=1,y=2,z=3; x=xz: y=yz; z=xy: coutxyz; 这个程序段的输出结果是_。(分数:2.00)填空项 1:_ (正确答案:213)解析:解析 “”为二进制异或运算符,运算规则为:相同为假(0),不同为真(1)。43.在关系数据库中,把数据表示成二维表,每一个二维表称为 1。(分数:2.00)填空项 1:_ (正确答案:关系或关系表)解析

43、:解析 在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名,表中的一行称为一个元组,相当于记录值。44.一棵二叉树第 6 层(根结点为第一层)的结点最多为 1 个。(分数:2.00)填空项 1:_ (正确答案:32)解析:解析 二叉树第 k 层上,最多有 2k-i(k1)个结点。第 6 层的结点数最多是 26-1=32。区别“二叉树的结点最多数”和“某一层的结点最多数”。前者的计算是深度为 m 的二叉树最多有 2m-1个结点。45.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 1。(分数:1.00)填空项 1:_ (正确答案:n/2)解析:解析 在线性表的任何位置插入一个元素的概率相等,即概率为 p=1/(n+1)

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