欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1324585       资源大小:89KB        全文页数:34页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、二级 C+笔试-346 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列数据结构中,能用二分法进行查找的是(分数:2.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表2.下列关于运算符重载的叙述中,正确的是(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参3.用树形结构表示实体之间联系的模型是(分数:2.00)A.关系模型B.网状模型C.层次模型D.以上 3个都是4.有如下类声明:class

    2、 MyBASEint k;public:void set(int n)k=n;int get()constreturn k;class MyDERIVED:protected MyBASEprotected:int j;public:void set(int m, int n) MyBASE:set(m);j=n;int get()constreturn MyBASE:get()+j;则类 MyDERIVED中保护的数据成员和成员函数的个数是(分数:2.00)A.4B.3C.2D.15.下列叙述中正确的是(分数:2.00)A.黑箱(盒)测试方法完全不考虑程序的内部结构和内部特征B.黑箱(盒)测

    3、试方法主要考虑程序的内部结构和内部特征C.白箱(盒)测试不考虑程序内部的逻辑结构D.上述三种说法都不对6.已知:intn=10;那么下列语句中错误的是(分数:2.00)A.int*p=new longn;B.int pn;C.int*p=new long(n);D.int p10;7.已知枚举类型定义语句为:enum TokenNAME,NUMBER,PLUS=5,MINUS,PRINT=10);则下列叙述中错误的是(分数:2.00)A.枚举常量 NAME的值为 1B.枚举常量 NUMBER的值为 1C.枚举常量 MINUS的值为 6D.枚举常量 PRINT的值为 108.以下程序执行后的输出

    4、结果是#include iostreamusing namespace std;void try(int,int,int,int);int main ()int x,y,z,r;x =1 ;y = 2;try(x,y,z,r);coutrendl;return 0;void try(int x,int y,int z,int r)z = x+y;x = x*x;y = y*y;r = z+x+y;(分数:2.00)A.18B.9C.10D.不确定9.下列是模板声明的开始部分,其中正确的是(分数:2.00)A.templateTB.templateclassT1,T2C.templateclas

    5、sT1,classT2D.templateclassT1;classT210.在下面的运算符重载函数的原型中,错误的是(分数:2.00)A.Volume operator-(double,double);B.double Volume:operator-(double);C.Volume Volume:operator-(Volume);D.Volume operator-(Volume,Volume);11.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为(分数:2.00)A.log2nB.n/2C.nD.n+112.为了使模块尽可能独立,要求(分数:2.00)A.模块的内聚

    6、程序要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强13.若有以下程序:#include iostreamusing namespace std;class Basepublic:Base ()x=0;int x;class Derived1 : virtual public Basepublic:Derived1 ()x=10;class Derived2 : virtual public Basepublic:Derived2 ()x

    7、=20;class Derived : public Derived1,protected Derived2 ;int main()Derived obi;coutobj.xendl;return 0;该程序运行后的输出结果是(分数:2.00)A.20B.30C.10D.014.有以下程序:class Datepublic:Date(int y,int m,int d);year = y;month = m;day = d;Date(int y = 2000)year = y;month = 10;day = 1;Date(Date month = d.month;day = d.day;vo

    8、id print()coutyear“.“month“.“dayendl;private:int year,month,day;Date fun(Date d)Date temp;temp = d;resurn temp;int main ()Date date1 (2000,1,1),date2 (0,0,0);Date date3 (date1);date2 = fun(date3);return 0;程序执行时,Date 类的拷贝构造函数被调用的次数是(分数:2.00)A.2B.3C.4D.515.下列叙述中正确的是(分数:2.00)A.数据的逻辑结构与存储结构必定一一对应B.由于计算机

    9、存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对16.有以下程序;#include iostreamusing namespace std;class Rpublic:R(int r1,int r2)R1=r1;R2=r2;void print();void print () const;private:int R1, R2;void R:print ()coutR1“,“R2endl;void R:print() constcoutR1“, “R2endl;int main ()R

    10、a(5,4);const R b(20,52);b.print();return 0;执行后的输出结果是(分数:2.00)A.5,4B.20,52C.0,0D.4,517.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据18.有以下程序:#include iostreamusing namespace std;class sampleprivate:int n;public:sample()sample(int m)n=m;void addvalue(

    11、int m)sample s;s.n=n+m;*this=s;void disp ()cout“n=“nendl;int main()sample s(10);s.addvalue(5);s.disp();return 0;程序运行后的输出结果是(分数:2.00)A.n=10B.n=5C.n=15D.n=2019.要定义数组 A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是(分数:2.00)A.intA=3,9,4,8,0,0,0;B.intA9=3,9,4,8,0,0,0;C.intA=3,9,4,8;D.intA7=3,9,4,8;20.下列关于构造函数的描述

    12、中,错误的是(分数:2.00)A.构造函数可以设置默认参数B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数D.构造函数不可以重载21.在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是(分数:2.00)A.后缀一元运算符B.前缀一元运算符C.无操作数的运算符D.二元运算符22.以下程序段共有错误( )处。#include iostreamusing namespaces std;class Sampleprivate:int n;public:Sample (int i)n=i;void setvalue(int i)n=i;void display()cout

    13、“n=“nendl ;int main()const Sample a(10);a.setvalue(5);a.display();return 0;(分数:2.00)A.1B.2C.3D.423.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是(分数:2.00)A.“cout“是一个输出流对象B.“endl“的作用是输出回车换行C.“x“是一个变量D.“称作提取运算符24.下列对于线性链表的描述中正确的是(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在

    14、后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的25.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对26.下面类的定义,有( )处错误。class MyClasspublic:void MyClass();MyClass(int Value);private:int i=0;(分数:2.00)A.1B.2C.3D.427.考虑下面的函数原型:void f(int a,int b=7,char c=);下面的函数调用中,不合法的是(分数:

    15、2.00)A.f(5)B.f(5,8)C.f(6,class Aprivate:int a;public:A(int i)a=i;void disp ()couta“,“;class Bprivate:int b;public:B(int j)b=j;void disp ()coutb“,“;class C : public B,public Aprivate:int c;public:C(int k):A(k-2),B(k+2)c=k;void disp ()A:disp();B:disp();coutcendl;int main()C obj(10);obj.disp();return 0

    16、;(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,1030.已知 outfile是一个输出流对象,要想像 outfile的文件指针定位到当前位置之前 321字节处,正确的函数调用语句是(分数:2.00)A.outfile.seekp(321,ios_base:cur);B.outfile.seekp(321,ios_base:beg);C.outfile.seekp(-321,ios_base:beg);D.outfile.seekp(-321,ios_base:cur);31.设树 T的度为 4,其中度为 1,2,3,4 的结点个数分别为 4,2,1

    17、,1。则 T中的叶子结点数为(分数:2.00)A.5B.6C.7D.832.模板函数的真正代码是在( )时候产生。(分数:2.00)A.源程序中声明函数时B.源程序中定义函数时C.源程序中调用函数时D.运行执行函数时33.假定 MyClass为一个类,则该类的拷贝构造函数的声明语句为(分数:2.00)A.MyClassB.MyClass(MyClass x);C.MyClass(MyClass D.MyClass(MyClass *x);34.在 C+中,用于实现运行时多态性的是(分数:2.00)A.内联函数B.重载函数C.模板函数D.虚函数35.若有一个 MyClass类,则执行语句 MyC

    18、lass a,b(2),*p;后,自动调用该类的构造函数( )次。(分数:2.00)A.2B.3C.4D.5二、填空题(总题数:15,分数:30.00)36.算法的复杂度主要包括 1 复杂度和空间复杂度。(分数:2.00)填空项 1:_37.算法复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_38.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 1的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_39.一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集“项目主管“与

    19、实体集“项目“的联系属于 1 的联系。(分数:2.00)填空项 1:_40.实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多学生,而一个学生只归属于一个学校,则实体集学校与实体集学生之间的联系属于 1 的联系。(分数:2.00)填空项 1:_41.假设 a、b 均是整型变量,则表达式 a=2,b=5,a+,b+,a+b 值为 1。(分数:2.00)填空项 1:_42.假定用户没有给一个名为 MyClass的类定义析构函数,则系统为其定义的默认析构函数首部形式为 1。(分数:2.00)填空项 1:_43.执行语句序列int x=10,coutx-rendl;输

    20、出结果为_。(分数:2.00)填空项 1:_44.下列程序的输出结果为Object id=0Object id=1请将程序补充完整。#include iostreamusing namespace std;class Pointpublic:Point(int xx=0,int yy=0) X=xx;Y=yy;countP+;Point()countP-;int GetX()return X;int GetY()return Y;static Void GetC()cout“Object id=“countPendl;private:int X,Y;static int countP;_ /静

    21、态数据成员的初始化int main ()Point:GetC();Point A(4,5);A.GetC();return 0;(分数:2.00)填空项 1:_45.下列程序的输出结果是_。#include iostreamusing namespace std;int main()int i=5;int r = 7;coutiendl;return 0;(分数:2.00)填空项 1:_46.有以下程序#include iostreamusing namespace std;class MyClasspublic:MyClass();MyClass();static int s;void Se

    22、tValue(int val);int MyClass:s=0;MyClass:MyClass()s+;void MyClass:SetValue(int val)s=val;int main ()MyClass my3,*p;p=my;for (int k=0;k3;k+)p-SetValue(k+1);p+;coutMyClass:sendl;return 0;运行后的输出结果是_。(分数:2.00)填空项 1:_47.有以下程序:#include iostreamusing namespace std;long fib( int n )if ( n 2 )return ( fib( n

    23、- 1 ) + fib( n - 2 ) );elsereturn 2;int main ()coutfib( 3 )endl;return 0;则该程序的输出结果应该是_。(分数:2.00)填空项 1:_48.已知 int DBL(int n)return n+n;和 long DBL(long n)return n+n是一个函数模板的两个实例,则该函数模板的定义是 1。(分数:2.00)填空项 1:_49.有以下程序#include iostreamusing namespace std;class Baseint a;public:Base(int x) a=x; void show()

    24、 couta; class Derived : public Baseint b;public:Derived(int i) :Base(i+1),b(i)void show() coutb;int main ()Base b(5),*pb;Derived d(1);pb=pb-show ();return 0;运行后的打印结果是_。(分数:2.00)填空项 1:_50.下面是复数类 complex的定义,其中作为友元函数重载的运算符“-”的功能是将参数对象的实部减1,然后返回对该对象的引用;请补充完整。class complexprivate:int real;int imag;public

    25、:complex(int r=0,int i=0):real(r),imag(i)void show ()coutreal(imag0?“-“:“+“)imagi;_;complexreturn c;(分数:2.00)填空项 1:_二级 C+笔试-346 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列数据结构中,能用二分法进行查找的是(分数:2.00)A.顺序存储的有序线性表 B.线性链表C.二叉链表D.有序线性链表解析:解析 二分法查找只适用于顺序存储的有序线性表。在此所说的有序线性表是指线性表中的元素按值非递减排列(即从小到大,但允

    26、许相邻元素值相等)的。选项 A正确。2.下列关于运算符重载的叙述中,正确的是(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载 C.若重载运算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参解析:解析 本题考核运算符重载的概念。C+中,=、( )、-以及所有的类型转换符只能作为成员函数重载。所以 B选项的描述是正确的。运算符重载就是赋予已有的运算符多重含义,并不是定义新的运算符;C+把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字operator;“+“是一个二元运算符,但是作为成员函数重载时参数表中只

    27、有一个形参,对应第二个操作数,而第一个操作数就是对象本身。3.用树形结构表示实体之间联系的模型是(分数:2.00)A.关系模型B.网状模型C.层次模型 D.以上 3个都是解析:解析 在数据库系统中,由于采用的数据模型不同,相应的数据库管理系统(DBMS)也不同。目前常用的数据模型有三种:层次模型、网状模型和关系模型。在层次模型中,实体之间的联系是用树结构来表示的,其中实体集(记录型)是树中的结点,而树中各结点之间的连线表示它们之间的关系。因此,本题的正确答案是 C。4.有如下类声明:class MyBASEint k;public:void set(int n)k=n;int get()con

    28、streturn k;class MyDERIVED:protected MyBASEprotected:int j;public:void set(int m, int n) MyBASE:set(m);j=n;int get()constreturn MyBASE:get()+j;则类 MyDERIVED中保护的数据成员和成员函数的个数是(分数:2.00)A.4B.3 C.2D.1解析:解析 本题考核派生与继承中关于访问权限的继承。类 MyDERIVED保护继承类 MyBASE,那么类MySASE中的共有成员在派生类 MyDERIVED中表现为保护权限,所以加上派生 MyDERIVED后来

    29、定义的一个保护数据成员 j,类 MyDERIVED中保护的数据成员和成员函数的个数是 3。5.下列叙述中正确的是(分数:2.00)A.黑箱(盒)测试方法完全不考虑程序的内部结构和内部特征 B.黑箱(盒)测试方法主要考虑程序的内部结构和内部特征C.白箱(盒)测试不考虑程序内部的逻辑结构D.上述三种说法都不对解析:解析 黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例,选项 A是正确的,选项 B错误。白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,选项 C错误。正确答案为 A。6.已知:intn=10;那么下列语句中错误的是(分数:2.00)A.int*p=ne

    30、w longn;B.int pn; C.int*p=new long(n);D.int p10;解析:解析 本题考核指针、数组和 new运算符。运算符 new用于动态申请存储空间,它的操作数为某种数据类型且可以带有初值表达式或元素个数,若带初值,则其表达式为:指针=new类型(初值);如 C选项所示,若带有元素个数,则其语法格式为:指针=new类型元素个数,如 A选项所示。数组定义中数组大小必须为常量,而 B选项中的 n为一变量所以是错误的。7.已知枚举类型定义语句为:enum TokenNAME,NUMBER,PLUS=5,MINUS,PRINT=10);则下列叙述中错误的是(分数:2.00

    31、)A.枚举常量 NAME的值为 1 B.枚举常量 NUMBER的值为 1C.枚举常量 MINUS的值为 6D.枚举常量 PRINT的值为 10解析:解析 本题考核 C+的数据类型。枚举类型定义了一些整型符号常量的集合,使用枚举类型数据时,应该注意的是:枚举类型的第一个常量默认值是 0;枚举类型常量的值允许彼此相同;虽然枚举类型常量是整数类型,但是,不允许使用整数直接赋值给枚举类型变量,也不允许与整数进行运算,只可以与整数进行比较。由此可知枚举常量 NAME的值应该为 0。8.以下程序执行后的输出结果是#include iostreamusing namespace std;void try(i

    32、nt,int,int,int);int main ()int x,y,z,r;x =1 ;y = 2;try(x,y,z,r);coutrendl;return 0;void try(int x,int y,int z,int r)z = x+y;x = x*x;y = y*y;r = z+x+y;(分数:2.00)A.18B.9C.10D.不确定 解析:解析 本题考核函数调用(参数的传递)。本题常见的错误解答是:把 x=1,y=2 代入到函数 try中,逐步计算出 r=8。最后得到 r的输出值是 8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为 try的 void型函数,即函数 t

    33、ry没有任何返回值。而 try函数在 main函数中是以一条独立语句的方式被调用的,且 main函数最后输出变量 r的值。但在 main函数中,并没有对变量 r赋值。在 c+语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数 try中,r 的值为 8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。9.下列是模板声明的开始部分,其中正确的是(分数:2.00)A.templateTB.templateclassT1,T2C.templateclassT1,classT2 D.templateclassT

    34、1;classT2解析:解析 本题考核模板的声明。模板声明的开始部分为:template类型形参表。其中,类型形参表可以包含基本数据类型,也可以包含类类型。类型形参需要加前缀 class。如果类型形参多于一个,则每个类型形参都要使用 class。形参表中的参数是惟一的,而且至少在函数定义体中出现一次。形参表中至少有一个形参的类型必须用类型形参表中的形参来定义。所以只有 C选项的声明是正确的。10.在下面的运算符重载函数的原型中,错误的是(分数:2.00)A.Volume operator-(double,double); B.double Volume:operator-(double);C.

    35、Volume Volume:operator-(Volume);D.Volume operator-(Volume,Volume);解析:解析 本题考核运算符重载。C+把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字 operator。运算符重载的定义格式:返回类型operator运算符号(参数说明);运算符“-“是二元运算符,A 选项中重载函数的形参列表都 double,而重载函数的返回类型为类 Volume,显然是错误的。11.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为(分数:2.00)A.log2nB.n/2C.n D.n+1解析:解析

    36、在长度为 n的线性表中进行顺序查找,最坏情况下需要比较 n次。选项 C正确。12.为了使模块尽可能独立,要求(分数:2.00)A.模块的内聚程序要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强解析:解析 系统设计的质量主要反映在模块的独立性上。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度;二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块

    37、的内聚程度尽量地高。综上所述,选项 B的答案正确。13.若有以下程序:#include iostreamusing namespace std;class Basepublic:Base ()x=0;int x;class Derived1 : virtual public Basepublic:Derived1 ()x=10;class Derived2 : virtual public Basepublic:Derived2 ()x=20;class Derived : public Derived1,protected Derived2 ;int main()Derived obi;co

    38、utobj.xendl;return 0;该程序运行后的输出结果是(分数:2.00)A.20 B.30C.10D.0解析:解析 本题考核虚基类的应用。本题中,虽然 Derived1和 Derived2都是由共同的基类 x派生而来的,但由于引入了虚基类,使得它们分别对应基类的不同副本。这时数据成员 x只存在一份拷贝,不论在类 Derived1中修改,还是在类 Derived2中修改,都是直接对这惟一拷贝进行操作。本题程序执行语句“Derived obj;”时,就会先调用虚基类 Base的构造函数,使得 x=0,然后执行类 Derived1的构造函数使得 x=10,再执行类 Derived2的构造

    39、函数,使得 x=20。最后输出 x的值为 20。14.有以下程序:class Datepublic:Date(int y,int m,int d);year = y;month = m;day = d;Date(int y = 2000)year = y;month = 10;day = 1;Date(Date month = d.month;day = d.day;void print()coutyear“.“month“.“dayendl;private:int year,month,day;Date fun(Date d)Date temp;temp = d;resurn temp;in

    40、t main ()Date date1 (2000,1,1),date2 (0,0,0);Date date3 (date1);date2 = fun(date3);return 0;程序执行时,Date 类的拷贝构造函数被调用的次数是(分数:2.00)A.2B.3 C.4D.5解析:解析 本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了 3次:第一次是在执行语句 Date date3(date1);时,用已经建立的对象 date1对正在建立的对象 date3进行初始化;第二次是在调用 fun函数时,由于是传值调用,因此实参对象 date3要对形参对象 d进行初始化;第三次是在执行f

    41、un函数中的返回语句 return temp;时,系统用返回初始化一个匿名对象时使用了拷贝构造函数。15.下列叙述中正确的是(分数:2.00)A.数据的逻辑结构与存储结构必定一一对应B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对 解析:解析 一种数据的逻辑结构根据需要可以表示成多种存储结构,因此,数据的逻辑结构与存储结构不一定是一一对应的,因此选项 A错误。计算机的存储空间是向量式的存储结构,但一种数据的逻辑结构根据需要可以表示成多种存储结构,如线性链表是线性表的链式存

    42、储结构,数据的存储结构不一定是线性结构,因此选项 B错误。数组一般是顺序存储结构,但利用数组也能处理非线性结构。选项 C错误。只有选项 D的说法正确。16.有以下程序;#include iostreamusing namespace std;class Rpublic:R(int r1,int r2)R1=r1;R2=r2;void print();void print () const;private:int R1, R2;void R:print ()coutR1“,“R2endl;void R:print() constcoutR1“, “R2endl;int main ()R a(5,

    43、4);const R b(20,52);b.print();return 0;执行后的输出结果是(分数:2.00)A.5,4B.20,52 C.0,0D.4,5解析:解析 使用 const关键字修饰的对象成为常对象,题中对象 b被声明为类 R的常,对象。使用const关键字说明的成员函数称为常成员函数,类 R中用 const重载了函数 print()。在使用常对象和常成员函数时应注意的是:const 是函数类型的一个组成部分,因此在常成员函数部分也要带 const关键字;常成员函数不能更新对象的数据成员,也不能调用该类中没有用 const修饰的成员函数;如果将一个对象说明为常对象,则通过该常对

    44、象只能调用它的常成员函数,不能调用其他的成员函数;const 关键字可以参与区分重载函数。本题中,b 为类 R的常对象,通过 b只能调用类 R的常成员函数 print()输出20,52。17.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据解析:解析 数据库是一个通用化的、综合性的数据集合,它可以为各种用户所共享,具有最小的冗余度和较高的数据与程序的独立性,而且能并发地为多个应用服务,同时具有安全性和完整性。即数据库系统减少了数据冗余,但不能避免一切

    45、冗余。所以选项 A正确,选项 B错误。在数据库管理阶段中,数据是结构化的,面向系统,数据冗余度小,从而节省了数据的存储空间,也减少了对数据的存取时间,提高了访问效率,避免了数据的不一致性。数据的不一致性,是指对数据的存取方式,选项 C错误。数据库系统比文件系统能管理更多的数据,并非是数据库系统的特点,选项 D错误。本题正确答案是 A。18.有以下程序:#include iostreamusing namespace std;class sampleprivate:int n;public:sample()sample(int m)n=m;void addvalue(int m)sample s

    46、;s.n=n+m;*this=s;void disp ()cout“n=“nendl;int main()sample s(10);s.addvalue(5);s.disp();return 0;程序运行后的输出结果是(分数:2.00)A.n=10B.n=5C.n=15 D.n=20解析:解析 本题考核 this指针的应用。上述程序中 sample类定义了一个 addvalue非静态成员函数。addvalue函数的原型是:void addvalue(sample *this,int m);,该函数的第一个参数是执行该类对象的一个指针即 this指针。由于这个参数是系统隐含的,所以我们在定义该成

    47、员函数时并没有看到这样一个参数。在成员函数的定义体中,可以通过 this访问这一参数。上述程序的最后输出结果是 15。19.要定义数组 A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是(分数:2.00)A.intA=3,9,4,8,0,0,0;B.intA9=3,9,4,8,0,0,0;C.intA=3,9,4,8; D.intA7=3,9,4,8;解析:解析 本题考核一维数组在定义时的初始化。当数组声明时没有给出数组的大小,但是有初始化列表时,数组的大小就由列表中元素的个数来确定,由此可知 C) 选项中数组 A只有 4个元素,与题目要求不符。20.下列关于构造函数的描述中,错误的是(分数:2.00)A.构造函数可以设置默认参数B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数D.构造函数不可以重载 解析:解析 构造函数是类的一个特殊成员函数,它与类同名,并且没有返回值。C+在创建一个对象时,会自动调用类的构造函数,在构造函数中可以执行初始化成员变量的操作。构造函数可以是内联函数,也可以重载。21.在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是(分数:2.00)


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开