【计算机类职业资格】二级C++笔试-19及答案解析.doc
《【计算机类职业资格】二级C++笔试-19及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-19及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-19 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于构造函数的描述中,错误的是( )。(分数:2.00)A.构造函数名与类名相同B.构造函数可以有返回值C.构造函数可以重载D.每个类都有构造函数2.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书3.有如下程序:#includeiostreamusing namespace std;class Pointint x,y;public:Point(int x1=0,int
2、y1=0):x(x1),y(y1)int get()return x+y;class CirclePoint center;int radius;public:Circle(int cx,int cy,int r):center(cx,cy),radius(r)int get()return center.get()+radius;int main()Circle c(3,4,5);coutc.get()end1;return 0;运行时的输出结果是( )。(分数:2.00)A.5B.7C.9D.124.若 AA 为一个类,a 为该类的非静态数据成员,在该类的一个成员函数定义中访问 a 时,其
3、书写格式为( )。(分数:2.00)A.aB.AA.aC.aD.AA:a5.若要对 Date 类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。(分数:2.00)A.Data+(Data);B.Data operator+(Data);C.Data+operator(Data);D.operator+(Data.Data);6.下列关于文件流的描述中,正确的是( )。(分数:2.00)A.文件流只能完成针对磁盘文件的输入输出B.建立一个文件流对象时,必须同时打开一个文件C.若输入流要打开的文件不存在,将建立一个新文件D.若输出流要打开的文件不存在,将建立一个新文件7.字符串“a+
4、b=12/n/t”的长度为( )。(分数:2.00)A.12B.10C.8D.68.结构化程序所要求的基本结构不包括( )。(分数:2.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构9.有如下程序:#includeiostreamusing namespace std;int main()int a6=23,15,64,33,40,58;int s1,s2;s1=s2=a0;for(int *p=a+1;pa+6;p+)if(s1*p)s1=*p;if(s2*p)s2=*p;couts1+s2end1;return 0;运行时的输出结果是( )。(分数:2.00)
5、A.23B.58C.64D.7910.下列关于栈叙述正确的是( )。(分数:2.00)A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.以上三种说法都不对11.下列叙述中正确的是( )。(分数:2.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构12.生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。(分数:2.00)A.无需任何条件B.基类中显式定义了构造函数C.派生类中显式定义了构造函数D.派生类构造函数明确调用了基类构造函数13.若 PAT 是一个
6、类,则程序运行时,语句“PAT(*ad)3);”调用 PAT 的构造函数的次数是( )。(分数:2.00)A.0B.1C.2D.314.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。(分数:2.00)A.内联函数B.重载函数C.递归函数D.函数模板15.下列语句都是程序运行时的第 1 条输出语句,其中一条语句的输出效果与其他 3 条语句不同,该语句是( )。(分数:2.00)A.coutinternal12345;B.coutleft12345;C.coutright12345;D.coutsetw(6)12345;16.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则
7、该二叉树的深度为(假设根结点在第 1 层)( )。(分数:2.00)A.3B.4C.6D.717.有如下类模板定义:templatetypename Tclass BigNumbeilong n;public;BigNumber(T i):n(i)BigNumber operator+(BigNumber b)return:BigNumber(n+b.n);已知 b1、b2 是 BigNumber 的两个对象,则下列表达中错误的是( )。(分数:2.00)A.b1+b2B.b1+3C.3+b1D.3+318.有如下程序:#includeiostreamusing namespace std;c
8、lass Pairint m,n;public;Pair(int j,int k):m(j),n(k)int get()return m;int get()constreturn m+n;int main() Pair a(3,5);const Pair b(3,5);couta.get()b.get();return 0;运行时的输出结果是( )。(分数:2.00)A.33B.38C.83D.8819.若是对类 BigNumber 中重载的类型转换运算符 long 进行声明,下列选项中正确的是( )。(分数:2.00)A.operator long()const;B.operator lon
9、g(BigNumber);C.long operator long()const;D.long operator long(BigNumber);20.C+系统预定义了 3 个用于标准数据流的对象,下列选项中不属于此类对象的是( )。(分数:2.00)A.coutB.cinC.eerrD.cset21.有如下程序:#includeiostreamusing namespace std;class XAint a;public:static int b;XA(int aa):a(aa)b+;XA()int get()return a;int XA:b=0int main()XA d1(1),d2
10、(3);coutd1.get()+d2.get()+XA:bend1;return 0;运行时的输出结果是( )。(分数:2.00)A.5B.6C.7D.822.有如下函数模板定义:templatetypename T1,typename T2T1 FUN(T2 n)return n*5,0;若要求以 int 型数据 9 作为函数实参调用该模板,并返回一个 double 型数据,则该调用应表示为( )。(分数:2.00)A.FUN(9)B.FUN9C.FUNdouble(9)D.FUN9(double)23.下面描述中错误的是( )。(分数:2.00)A.系统总体结构图支持软件系统的详细设计B
11、.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具24.有如下程序:#includeiostreamusing namespace std;void f1(intx,inty) int z=x;x=y;y=z;void f2(int x,int y) int z=x;x=y;y=z;int main()int x=10,y=26;f1(x,y);f2(x,y);coutyend1;return 0;运行时的输出结果是( )。(分数:2.00)A.10B.16C.26D.3625.当派生类从一个基类保护继承时,基类中的一些
12、成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是( )。(分数:2.00)A.任何B.公有或保护C.保护或私有D.私有26.下列关于析构函数的描述中,错误的是( )。(分数:2.00)_27.下列关于派生类和基类的描述中,正确的是( )。(分数:2.00)A.派生类成员函数只能访问基类的公有成员B.派生类成员函数只能访问基类的公有和保护成员C.派生类成员函数可以访问基类的所有成员D.派生类对基类的默认继承方式是公有继承28.Windows 环境下,由 C+源程序文件编译而成的目标文件的扩展名是( )。(分数:2.00)A.cppB.exeC.objD.lik29.负责数据库中查询操
13、作的数据库语言是( )。(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言30.下列描述中,错误的是( )。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中的保护成员在派生类中仍是保护成员31.下列关于函数模板的描述中,正确的是( )。(分数:2.00)A.函数模板是一个实例函数B.使用函数模板定义的函数没有返回类型C.函数模板的类型参数与函数的参数相同D.通过使用不同的类型参数,可以从函数模板得到不同的实例函数32.
14、定义无符号整数为 Uint,下面可以作为类 Uint 实例化值的是( )。(分数:2.00)A.-369B.369C.0.369D.整数集合 1,2,3,4,533.有 3 个关系 R、S 和 T 如下表所示:(分数:2.00)A.B.C.D.34.有如下程序:#includediostreamusing namespace std;int main()int f,f1=0,f2=1;for(int i=3;i=6;i+)f=f1+f2;f1=f2;f2=f;coutfend1;return 0;运行时的输出结果是( )。(分数:2.00)A.2B.3C.5D.835.一个教师可讲多门课程,一
15、门课程可由多个教师讲授,则实体教师和课程问的联系是( )。(分数:2.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系二、填空题(总题数:15,分数:30.00)36.有序线性表能进行二分查找的前提是该线性表必须是 1 存储的。(分数:2.00)填空项 1:_37.一棵二叉树的中序遍历结果为 DBEAFC,前序遍历结果为 ABDECF,则后序遍历结果为 1。(分数:2.00)填空项 1:_38.对软件设计的最小单位(模块或程序单元)进行的测试通常称为 1 测试。(分数:2.00)填空项 1:_39.实体完整性约束要求关系数据库中元组的 1 属性值不能为空。(分数:2.00
16、)填空项 1:_40.在关系 A(S,SN,D)和关系 B(D,CN,NM)中,A 的主关键字是 S,B 的主关键字是 D,则称 1 是关系 A的外码。(分数:2.00)填空项 1:_41.若有定义语句 int x=10,y=20,z=20;,则表达式 xzy=z 的值为 1。(分数:2.00)填空项 1:_42.有如下语句序列:int x=-10;while(+x)运行时 while 循环体的执行次数为_。(分数:2.00)填空项 1:_43.有如下语句序列:int arr22=9,8,7,6;int *p=arr0+1;cout*pend1;运行时的输出结果是_。(分数:2.00)填空项
17、1:_44.函数 fun 的功能是将一个数字字符串转换为一个整数,请将函数补充完整。int fun(char *str)int num=0;while(*str)num*=10;num+=_;str+;return num;(分数:2.00)填空项 1:_45.若要将函数“void FriFun1;”声明为类 MyClass 的友元函数,则应在类 MyClass 的定义中加入语句 2。(分数:2.00)填空项 1:_46.下列程序的输出结果为 012,请根据注翻译将横线处的缺失部分补充完整。#includeiostreamusing namespace std;class Testpublic
18、;Test(int a)data=a;Test()void print()(coutdata;private;int data;int main()Test t3=_;/对有 3 个元素的 Test 类对象数组 t 初始化for(int i=0;i3;i+)ti.print();return 0;(分数:2.00)_47.请在横线处填写派生类 Derived 的继承方式,使得程序的输出结果为 Base。#includeiostreamusing namespace std;class Basepublic:void print() cout“Base“;ClaSS Derived: Base;
19、int main()Derived d;d.print();return 0;(分数:2.00)填空项 1:_48.下列程序的输出结果为 1,2.3,2,4.6,请将横线处的缺失部分补充完整。#includeiostreamusing namespace std;class Basepublic:Base(int a):idata(a)void print()coutidata;private:int idata;class Derived:public Basepublic:Derived(int a,double b):_,ddata(b)void print()Base:print();
20、coutddata;private:double ddata;int main()Derived d1(1,2.3),d2(2,4.6);d1.print();d2.print();return 0;(分数:2.00)填空项 1:_49.下列程序的输出结果为-5/8 -3/4,请将横线处的缺失部分补充完整。#includeiostreamusing namespace std;Class Fraction/“分数“类public:Fraction(double a,double b):num(a),den(b)Fraction()/重载取负运算符”-”,返回一个分数对象,其分子是原来分子的相反
21、数。Fraction operator-()_return f;void print()(coutnum/den;private:double num;/分子double den;/分母;int main()Fraction f1(5,8),f2(3,4);(-f1).print();(-f2).print();(分数:2.00)填空项 1:_50.函数 Min 的功能是返回具有 n 个元素的数组 array 中的最小值,请将横线处的缺失部分补充完整,使得程序的输出结果为 1.24。#includeiostreamusing namespace std;templatetypename TT
22、Min(T *array,int n)T min=array0;For(int i=1;in;i+)if(arrayimin)min=arrayi;return min;int main()double arr8=5.2,48.45,41.01,42,51,2,1.24,14.12,42;cout_;return 0;(分数:2.00)填空项 1:_二级 C+笔试-19 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于构造函数的描述中,错误的是( )。(分数:2.00)A.构造函数名与类名相同B.构造函数可以有返回值 C.构造函数可以
23、重载D.每个类都有构造函数解析:解析 构造函数没有返回值,虽然叫函数,但是它没有任何返回值,包括 void 型都不是,官方叫法应该叫“构造器”。2.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:解析 需求分析阶段只能产生需求分析规格说明书。A 测试说明书是软件测试阶段生成的;B 软件详细设计说明书是设计阶段生产;C 用户手册是软件发布时随软件一同交付给用户的。3.有如下程序:#includeiostreamusing namespace std;class Pointint x,y;pub
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 19 答案 解析 DOC
