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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、二级 C+笔试-111 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在下面的 4 个关键字中用来说明虚函数的是( )。(分数:2.00)A.virtualB.publicC.protectedD.private2.关于函数重载,下列叙述中错误的是( )。(分数:2.00)A.重载函数的函数名必须相同B.重载函数必须在参数个数或类型上有所不同C.重载函数的返回值类型必须相同D.重载函数的函数体可以有所不同3.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public 成员在派生类中仍是 public 的B.公有继承时

2、基类中的 private 成员在派生类中仍是 private 的C.私有继承时基类中的 public 成员在派生类中是 private 的D.保护继承时基类中的 public 成员在派生类中是 protected 的4.分析下面程序,该程序的运行结果是( )。#includeiostream.hclass TestClasspublic; static int m;TestClass ()m+;TestClass(int n)m=n;static void test()m+;int TestClass:m=0;void main()TestClass A;TestClass B(3);A.te

3、st();TestClass:test();tout“m=“B.mend1;(分数:2.00)A.m=3B.m=4C.m=5D.m=65.需求分析阶段的任务是( )。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能6.下列关于线性链表的描述中,正确的是( )。、只含有一个指针域来存放下一个元素地址、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)、结点由两部分组成:数据域和指针域。(分数:2.00)A.仅、B.仅、C.仅、D.全部7.在下面的类定义中,横线处应填入的内容是( )。class Fredpublic:void print()cout

4、dataend1;void setData(double ddata=d;static int count;private:double data;_count=0; /静态数据成员的定义(分数:2.00)A.intB.static intC.int Fred:D.static int Fred:8.内部格式控制操作函数是在头文件( )中定义的。(分数:2.00)A.iostream.hB.iomanip.hC.istream.hD.ostream.h9.运算符函数调用格式的表达式“y/x+”与表达式“y.operator/(operator+(x,0)”的含义相同,由此可看出( )。(分数:

5、2.00)A.“/”和“+”都是作为成员函数重载的B.“/”和“+”都是作为非成员函数重载的C.“/”是作为成员函数重载的,“+”是作为非成员函数重载的D.“/”是作为非成员函数重载的,“+”都是作为成员函数重载的10.下列关于 this 指针的叙述中,正确的是( )。(分数:2.00)A.任何与类相关的函数都有 this 指针B.类的成员函数都有 this 指针C.类的友元函数都有 this 指针D.类的非静态成员函数才有 this 指针11.下列哪一条不属于数据库设计的任务?( )(分数:2.00)A.设计数据库应用结构B.设计数据库概论结构C.设计数据库逻辑结构D.设计数据库物理结构12

6、.在关系代数运算中,有 5 种基本运算,它们是( )。(分数:2.00)A.并()、差(-)、交()、除()和笛卡儿积错误B.并()、差(-)、交()、投影()和选择()C.并()、交()、投影()、选择()和笛卡儿积错误D.并()、差(-)、投影()、选择()和笛卡儿积错误13.设有以下定义和程序:#includeiostream.hclass TestClass1public:void show1()cout“TestClass1“end1;class TestClass2:TestClass 1public:void show2()tout“TestClass2“end1;class T

7、estClass3:protected TestClass2public:void show3()tout“TestClass3“end1;void main()TestClass1 obj1;TestClass2 obj2;TestClass3 obj3;则以下不合语法的调用语句是( )。(分数:2.00)A.obj1.show1();B.obj2.show1();C.obj3.show1();D.obj2.show2();14.如果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。(分数:2.00)A.变量 a 的值,即 3B.变量 a 的地址值C.变量 p 的

8、地址值D.无意义15.在 C+语言中函数返回值的类型是由( )决定的。(分数:2.00)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型16.数据管理技术发展的三个阶段中,( )没有专门的软件对数据进行管理。人工管理阶段 文件系统阶段 数据库阶段(分数:2.00)A.仅B.仅C.和D.和17.阅读以下程序:#includeiostream.hvoi6 main()static int a2=5,3,1,2;int i,j,s1=0;for(i=0;i2;i+)for(j=0;j2;j+)if(i=j)s1=s1+aij;

9、couts1end1;则该程序的输出结果为( )。(分数:2.00)_18.下面关于构造函数和析构函数的描述,错误的是( )。(分数:2.00)A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数19.有如下程序:#includeiostreamusing namespace std;void fun(intx=y;y=t;int main()int a2=1,2;fun(a1,a0);std:couta0“,“a1std:end1;return 0;执行后的输出结果是( )。(分

10、数:2.00)A.2,2B.1,1C.1,2D.2,120.下面关于数据库三级模式结构的叙述中,正确的是( )。(分数:2.00)A.内模式可以有多个,外模式和模式只有一个B.外模式可以有多个,内模式和模式只有一个C.内模式只有一个,模式和外模式可以有多个D.模式只有一个,外模式和内模式可以有多个21.下列字符串中,正确的 C+标识符是( )。(分数:2.00)A.foo-1B.2bC.newD.25622.执行语句:coutsetfill(*)setw(10)seffill(#)left123“0K“end1;return 0;后将输出( )。(分数:2.00)A.123*0KB.123#0

11、KC.123*0K*D.123#0K#23.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表24.有如下程序:#includeiostreamusing namespace std;class TestClasspublic;TestClass ()cout“BASE:;class TestClass1:public TestClasspublic:TestClass 1 ()cout“DERIVED“;int main()TestClass1 x;return 0;执行后的输出结果是( )。(

12、分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE25.设有关键码序列(66,13,51,76,8l,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为( )。(分数:2.00)A.23,13,51,57,66,26,81,69,76B.13,23,26,51,57,66,81,76,69C.23,13,51,57,26,66,81,69,76D.23,13,51,57,81,26,66,69,7626.以下程序的执行结果为( )。#includeiostream.hcla

13、ss Sampleint n;public:Sample(int i)n=i;operator+()n+; /前缀重载运算符operator+(int)n+=2; /后缀重载运算符void disp()cout“n=“nend1;void main()Sample A(2),B(2);A+;+B;A.disp();B.disp();(分数:2.00)A.n=4n=3B.n=1n=2C.n=3n=4D.n=5n=627.数据库技术的根本目标是( )。(分数:2.00)A.数据存储B.数据共享C.数据查询D.数据管理28.若有如下程序段:#includeiostreamusing namespac

14、e std;int main ()char*p=“abcdefgh“,*r;r=p;cout*rend1;return 0;该程序的输出结果是( )。(分数:2.00)A.aB.bC.cD.d29.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。(分数:2.00)A.外模式/模式B.内模式/外模式C.模式/内模式D.内模式/模式30.下列情况中,不会调用拷贝构造函数的是( )。(分数:2.00)A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执

15、行返回调用时31.有如下程序:#includeiostreamusing namespace std;class AAint n;public:AA(int k):n(k)int get()return n;int get()constreturn n+1;int main()从 a(5);const AA b(6);couta.get()b.get();return 0;执行后的输出结果是( )。(分数:2.00)_32.重载输入流运算符“”必须使用的原型为( )。(分数:2.00)A.istreamB.istreamC.istream operator(istream,类名D.类名oper

16、ator(istream33.下面程序的运行结果是( )。#includeiostream.hint x=5;int fan(int(分数:2.00)A.class T235.派生类的构造函数的成员初始化列表中,不能包含( )。(分数:2.00)A.基类的构造函数B.派生类中子对象的初始化C.基类中子对象的初始化D.派生类中一般数据成员的初始化二、填空题(总题数:15,分数:30.00)36.软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 1 阶段。(分数:2.00)填空项 1:_37.不改变关系表中的属性个数但能减少元组个数的是 1。(分数:2.00)填空项

17、 1:_38.用树形结构表示实体之间联系的模型是 1。(分数:2.00)填空项 1:_39.在两种基本测试方法中, 1 测试的原则之一是保证所测模块中每一个独立路径至少执行一次。(分数:2.00)填空项 1:_40.与二维表中的“行”的概念最接近的概念是 1。(分数:2.00)填空项 1:_41.执行以下程序后,输出“*”号的个数是_。#includeiostream.hmain()int i,j;for(i=1;i5;i+)for(j=2;j=i;j+)cout*;(分数:2.00)_42.有如下类声明:class TestClass1int k;public:void set(int n)

18、k=n;int get()constreturn k;class TestClass2:protected TestClass1protected:int j;public:void set(int m,int n)TestClass1:set(m);j=n;int get()constreturn TestClass1:get()+j;);则类 TestClass2 中保护的数据成员和成员函数的个数是_。(分数:2.00)填空项 1:_43.一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称 1。(分数:2.00)填空项 1:_44.表达式 x

19、.operator+(y.operator+(0)还可以写成_。(分数:2.00)填空项 1:_45.基类为虚函数,撤销对象调用析构函数时,采用 1 联编。(分数:2.00)填空项 1:_46.以下函数实现的功能是_。void fun(char*s)char*p,*q,temp;p=s;q=s+strlen(s)-1;while(pq)temp=*p;*p=*q;*p=temp;p+;q-;(分数:2.00)填空项 1:_47.指针数组是由 1 构成的数组。(分数:2.00)填空项 1:_48.已知一个函数的原型是:int fn(double a);若要以 5.27 为实参调用该函数,应使用表

20、达式_。(分数:2.00)填空项 1:_49.非成员函数应声明为类的 1 函数才能访问这个类的 private 成员。(分数:2.00)填空项 1:_50.在类中, 1 成员为类的所有对象所共享。(分数:2.00)填空项 1:_二级 C+笔试-111 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在下面的 4 个关键字中用来说明虚函数的是( )。(分数:2.00)A.virtual B.publicC.protectedD.private解析:解析 C+中用,virtual 关键字声明虚函数。而 public、protected、priva

21、te 为成员访问限定符。2.关于函数重载,下列叙述中错误的是( )。(分数:2.00)A.重载函数的函数名必须相同B.重载函数必须在参数个数或类型上有所不同C.重载函数的返回值类型必须相同 D.重载函数的函数体可以有所不同解析:解析 所谓函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。但函数的返回类型小能作为判断重载的依据。3.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public 成员在派生类中仍是 public 的B.公有继承时基类中的 private 成员在派生类中仍是 private 的 C.私有继

22、承时基类中的 public 成员在派生类中是 private 的D.保护继承时基类中的 public 成员在派生类中是 protected 的解析:解析 公用继承时基类中的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。私有继承时,基类的公有成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有。受保护的继承时,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员认为基类私有。4.分析下面程序,该程序的运行结果是( )。#includeiostream.hclass TestClasspublic; static int m;TestClass ()m+;Te

23、stClass(int n)m=n;static void test()m+;int TestClass:m=0;void main()TestClass A;TestClass B(3);A.test();TestClass:test();tout“m=“B.mend1;(分数:2.00)A.m=3B.m=4C.m=5 D.m=6解析:解析 由主函数 main 入手,首先定义 TestClass 对象 A,B;对象 B 构造函数值为 3,构造函数中m+,所以这时 m=4。主函数中调用 A.test(),因为“static int m;”,m 被定义为类 TestClass 静态成员变量,当它

24、的值改变后,则在各对象中这个数据成员的值都同时改变了。所以这里执行“A.test();”中的 m 为前面进行加 1 操作后的 4,即 m 现在的值为 5。5.需求分析阶段的任务是( )。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能 解析:解析 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。6.下列关于线性链表的描述中,正确的是( )。、只含有一个指针域来存放下一个元素地址、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)、结

25、点由两部分组成:数据域和指针域。(分数:2.00)A.仅、B.仅、C.仅、D.全部 解析:解析 在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。7.在下面的类定义中,横线处应填入的内容是( )。class Fredpublic:void print()coutdataend1;void setData(double ddata=d;static int count;private:

26、double data;_count=0; /静态数据成员的定义(分数:2.00)A.intB.static intC.int Fred: D.static int Fred:解析:解析 此题考查的是静态数据成员的定义。题目中 count 数据成员要定义成静态的,其初始化的格式为:类型 类名:静态数据成员=常量。8.内部格式控制操作函数是在头文件( )中定义的。(分数:2.00)A.iostream.hB.iomanip.h C.istream.hD.ostream.h解析:解析 C+语言中,除了 ios 类成员函数之外,还提供了另一种 I/O 格式化方法,即操作符。所有不带形参的操作符都定义

27、在 iostream.h 中,而带形参的操作符则定义在头文件 iomanip.h 中。9.运算符函数调用格式的表达式“y/x+”与表达式“y.operator/(operator+(x,0)”的含义相同,由此可看出( )。(分数:2.00)A.“/”和“+”都是作为成员函数重载的B.“/”和“+”都是作为非成员函数重载的C.“/”是作为成员函数重载的,“+”是作为非成员函数重载的 D.“/”是作为非成员函数重载的,“+”都是作为成员函数重载的解析:解析 远算符函数有两种调用形式,第一种是像一般函数那样用雨数名调用,即 y.operator*(z)或者 operator*(y,z);另一种是通过

28、运算符构成表达式,即 y*z。因为“+”运算符既可以作为前缀运算符,又可以作为后缀运算符,所以重载这个运算符时,重载后缀“+”时必须多一个虚拟参数:int。10.下列关于 this 指针的叙述中,正确的是( )。(分数:2.00)A.任何与类相关的函数都有 this 指针B.类的成员函数都有 this 指针C.类的友元函数都有 this 指针D.类的非静态成员函数才有 this 指针 解析:解析 此题考查的是 this 指针的使用。类的每一个非静态成员函数都有一个隐含的常最指针,即this 指针。类的静态成员函数不能含有 this 指针,因为 this 指针是个指向本对象的指针。11.下列哪一

29、条不属于数据库设计的任务?( )(分数:2.00)A.设计数据库应用结构 B.设计数据库概论结构C.设计数据库逻辑结构D.设计数据库物理结构解析:解析 数据库设计工作量大而且过程复杂,既是一项数据库工程也是一项庞大的软件工程。考虑数据库及其应用系统开发全过程,将数据库设计分为以下 6 个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的运行和维护。12.在关系代数运算中,有 5 种基本运算,它们是( )。(分数:2.00)A.并()、差(-)、交()、除()和笛卡儿积错误B.并()、差(-)、交()、投影()和选择()C.并()、交()、投影()、选择()和笛卡儿积

30、错误D.并()、差(-)、投影()、选择()和笛卡儿积错误 解析:解析 并、差、笛卡儿积、投影和选择是 5 种基本的运算,其他运算即交、连接和除,均可以通过 5 种基本的运算来表达。13.设有以下定义和程序:#includeiostream.hclass TestClass1public:void show1()cout“TestClass1“end1;class TestClass2:TestClass 1public:void show2()tout“TestClass2“end1;class TestClass3:protected TestClass2public:void show3

31、()tout“TestClass3“end1;void main()TestClass1 obj1;TestClass2 obj2;TestClass3 obj3;则以下不合语法的调用语句是( )。(分数:2.00)A.obj1.show1();B.obj2.show1();C.obj3.show1(); D.obj2.show2();解析:解析 TestClass1 为 TestClass2 的私有基类,所以派生类 TestClass2 中继承过来的 show1()为私有的。TestClass3 为 TestClass2 的受保护派生类。所以 TestClass3 定义的对象不能访问 Tes

32、tClass中的 show1()。14.如果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。(分数:2.00)A.变量 a 的值,即 3 B.变量 a 的地址值C.变量 p 的地址值D.无意义解析:解析 此题考查的是指针变量的定义与赋初值。语句*p=int i,j,s1=0;for(i=0;i2;i+)for(j=0;j2;j+)if(i=j)s1=s1+aij;couts1end1;则该程序的输出结果为( )。(分数:2.00)_解析:解析 程序中“static int a2=5,3,1,218.下面关于构造函数和析构函数的描述,错误的是( )。(分数:2.00

33、)A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数 解析:解析 构造函数的主要作用是对数据成员初始化。构造函数不能声明为虚函数,这是因为在执行构造函数时类对象还未完成建立过程,当然谈不上函数与类对象的关联。19.有如下程序:#includeiostreamusing namespace std;void fun(intx=y;y=t;int main()int a2=1,2;fun(a1,a0);std:couta0“,“a1std:end1;return 0;执行后的输出结果

34、是( )。(分数:2.00)A.2,2B.1,1 C.1,2D.2,1解析:解析 程序中的 fun 函数的功能是实现函数中两个参数的交换。主函数中 fun 的调用中第一个参数为数组第二个值即 2,第二个参数为第一个值即 1。在 fun 的定义中第一个形参引用类型,其改变会改变主函数中实参的值;而第二个形参不是引用类型,其改变不会改变第二个实参,所以 2,1 的交换结果为 1,1,即 B。20.下面关于数据库三级模式结构的叙述中,正确的是( )。(分数:2.00)A.内模式可以有多个,外模式和模式只有一个B.外模式可以有多个,内模式和模式只有一个 C.内模式只有一个,模式和外模式可以有多个D.模

35、式只有一个,外模式和内模式可以有多个解析:解析 数据库的三级模式结构是指数据库系统的外模式、模式和内模式。一个数据库可以有多个外模式,但只有一个模式和一个内模式。21.下列字符串中,正确的 C+标识符是( )。(分数:2.00)A.foo-1B.2bC.newD.256 解析:解析 此题考查的是标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格:标识符的长度是任意的,但由于编译系统的限制一般不超过 31 个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。22.执行语句:coutsetfill(*)setw(10)seffill(#)

36、left123“0K“end1;return 0;后将输出( )。(分数:2.00)A.123*0KB.123#0K C.123*0K*D.123#0K#解析:解析 cout.fill()用于设置或返回输出的填充字符,默认是空格,fill()函数的设置一直有效,直到下一个 fill()函数改变该值为止。setw(int n)作用是设置输入输出的宽度,此设置只对一次输入或输出有效,在完成一次数据的输入或输出后,宽度设簧自动恢复为 0。注意:默认为输出数据在指定宽度内右对齐。23.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接 C.关联

37、、更新、排序D.显示、打印、制表解析:解析 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。24.有如下程序:#includeiostreamusing namespace std;class TestClasspublic;TestClass ()cout“BASE:;class TestClass1:public TestClasspublic:TestClass 1 ()cout“DERIVED“;int main()TestClass1 x;return 0;执行后的输出结果是( )。(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DER

38、IVEDBASE 解析:解析 程序中的 TestClassl 为 TestClass 的派生类,从程序中的 main 函数入手,定义了TestClass1 对象 x。调用析构函数的顺序,先执行派生类自己的析构函数,对派生类新增加的成员进行清理,然后调用子对象的析构函数,对予对象进行清理,最后调用基类的析构函数,对基类进行清理。这里派生类中析构函数输出 DERIVED,基类析构函数输出 BASE。25.设有关键码序列(66,13,51,76,8l,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为( )。(分数:2.00)

39、A.23,13,51,57,66,26,81,69,76 B.13,23,26,51,57,66,81,76,69C.23,13,51,57,26,66,81,69,76D.23,13,51,57,81,26,66,69,76解析:解析 快速排序是起泡排序的改进。在快速排序中,任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的在一部分,关键码值比它大的在另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。26.以下程序的执行结果为( )。#includeiostream.hclass Sampleint n;public:Sample(int i)n=i;op

40、erator+()n+; /前缀重载运算符operator+(int)n+=2; /后缀重载运算符void disp()cout“n=“nend1;void main()Sample A(2),B(2);A+;+B;A.disp();B.disp();(分数:2.00)A.n=4n=3 B.n=1n=2C.n=3n=4D.n=5n=6解析:解析 此题考查的是“+”运算符的重载。为了区分前缀和后缀运算符,规定:重载后缀运算符时必须多一个虚拟参数:int。本题中,A(2)首先给 n 赋值 2,语句 A+,调用的是后缀运算符重载语句,使得 n 加 2 变为 4。B(2)首先给 n 赋值 2,然后语句

41、+B,调用前缀运算符重载函数,使得 n 加 1。因此最终的输出结果是 n=4 n=3。27.数据库技术的根本目标是( )。(分数:2.00)A.数据存储B.数据共享 C.数据查询D.数据管理解析:解析 数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享,所以数据库技术的根本目标是解决数据共享问题。28.若有如下程序段:#includeiostreamusing namespace std;int main ()char*p=“abcdefgh“,*r;r=p;cout*rend1;retur

42、n 0;该程序的输出结果是( )。(分数:2.00)A.a B.bC.cD.d解析:解析 字符指针 p 指向“abcdefgh”字符串,语句“r=p;”是 r 指向 p 指向的字符串,而*r 则是指向字符串中的第一个字符。即 a。29.在数据库系统的组织结构中,下列( )映射把用户数据库与概念数据库联系了起来。(分数:2.00)A.外模式/模式 B.内模式/外模式C.模式/内模式D.内模式/模式解析:解析 数据库有两层映像,即外模式/模式和模式/内模式映像。模式/内模式映像定义数据库全局逻辑结构与存储结构之间的对应关系。30.下列情况中,不会调用拷贝构造函数的是( )。(分数:2.00)A.用

43、一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时 C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时解析:解析 此题考查的是复制构造函数的概念。用一个已知的对象初始化个一个正在创建的同类别象时,就会发生复制构造函数。因此,选项 A) 、C)、D) 均会调用复制构造函数,而只有选项 B) 没有创建的动作,不调用复制构造函数。31.有如下程序:#includeiostreamusing namespace std;class AAint n;public:AA(int k):n(k)int get()return n

44、;int get()constreturn n+1;int main()从 a(5);const AA b(6);couta.get()b.get();return 0;执行后的输出结果是( )。(分数:2.00)_解析:解析 语句 AAa(5)调用的是 AA(int k):n(k),a.get()测用 int get()return n;,结果会输出 5;而常对象 const AAb(6),b.get()调用的是 int get()constreturn n+1;32.重载输入流运算符“”必须使用的原型为( )。(分数:2.00)A.istream B.istreamC.istream op

45、erator(istream,类名D.类名operator(istream解析:解析 C+流的输入运算符“”和输出运算符“”只能作为非成员函数重载。重载输入流运算符“”须使用以下原型:istream int fan(int(分数:2.00)A.class T2解析:解析 声明一个函数模板的格式为:template模板形参表声明函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。35.派生类的构造函数的成员初始化列表中,不能包含( )。(分数:2.00)A.基类的构造函数B.派生类中子对象的初始化C.基类中子对象的初始化 D.派生类中一般数据成员的初始化解析:解析 存定义派生类的构造函数时,除了对自己的数据成员进行初始化外,还必须负责调用基类的构造函数使基类的数据成受得以初始化。如果派生类中还有子对象,还应包含对子对象初始化的构造函数。二、填空题(总题数:15,分数:30.00)36.软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 1 阶段。(分数:2.00)填空项 1:_

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