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

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

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

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

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

    1、二级 C+笔试-389 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.在下列程序的横线处填上适当的内容,使程序执行后的输出结果为 ABCD。 #includeiostream using namespace std; class A public:A()coutA; ; Class B: public:B()coutB; ; class C:virtual public A public:C()coutC; ; class D:public B,public D public:D()toutD; ; void main()D obj

    2、;(分数:2.00)A.public AB.private AC.protected AD.virtual public A2.下列关于构造函数和析构函数的描述,错误的是( )。(分数:2.00)A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数3.若有如下程序: #includeiostream using namespace std; Class TestClass1 private: int a; public: TestClassl(int i) a=i; void di

    3、sp() couta“,”; ; Class TestClass2 private: int b; public: TestClass2(int j) bj; void disp() coutb“,”; ; class TestClass3:public TestClass2,public TestClass1 private: int C; public: TestClass3(int k):TestClassl(k-2),TestClass2(k+2) ck; void disp() TestClasssl:disp(); TestClasss2:disp(); coutcend1; ;

    4、mt main() TestClass3 Obj(10); Obj.disp(); return 0; 程序执行后的输出结果是( )。(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,104.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass(int x):val(x) void Print()constcout“const:val”val/; void Print()cout“val”valt; private: int va1; ; int main()

    5、 const MyClass obj1(10); MyClass obj2(20); Obj1.Print(); Obj2.Print(); return 0; 程序的输出结果是( )。(分数:2.00)A.val10 const:val20B.const:val10 const:val20C.const:val10 val20D.val10 val205.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句D.语言中所没有的控制结构,应该采用前后一致的方

    6、法来模拟6.已知类 A 有公用数据成员 a,并重载了“”运算符,且有 A obj2;const A*ptr new A;则下列语句错误的是( )。(分数:2.00)A.ptr-a=100;B.ptr=C.ptr+;D.obj2=*ptr;7.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序8.下列运算符中不能在 C+中重载的是( )。(分数:2.00)A.?:B.+C.-D.9.有如下程序: #includeiostream using namespace std; class DA int k; public: DA(int x1):k(x) D

    7、A()coutk; ; int main() DAdDA(3),DA(3),DA(3); DA*pnew DA2; deletep; return(); 这个程序的输出结果是( )。(分数:2.00)A.111B.333C.11333D.1113310.下列程序的输出结果为( )。 #includeiostream.h) class TestClass public: TestClass()val+; static,int val; ; int TestClass:val0; void main() TestClass cs1; coutcsl.val“; TestClass cs2; Tes

    8、tClass cs3,cs4; coutcs2.valend1; (分数:2.00)A.03B.13C.14D.2411.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据12.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域13.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对

    9、独立,相互依赖性小D.上述 3 种说法都不对14.类 MyClass 的定义如下: class MyClass public: MyClass()value=0; SetVariable(int i)value=i private: int value; ; 则对下列语句序列正确的描述是( )。 MyClass*P,my;p会调用两次类 MyClass 的构造函数C.对语句*SetVariabte(5)的调用是正确的D.语句 p-SetVariable(5)与语句 mSetVariable(5)等价15.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,

    10、这样的集合运算称为( )。(分数:2.00)A.并运算B.交运算C.差运算D.积运算16.考虑函数原型 void test(int a,int b=7,char z=*),下面的函数调用中,属于不合法调用的是( )。(分数:2.00)A.test(5);B.test(5,8);C.test(6,#);D.test(0,0,x);17.可以用 p.a 的形式访问派生类对象 p 的基类成员 a,其中 a 是( )。(分数:2.00)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.a 有,继承的公有成员18.下列各类函数中,不是类的成员函数的是( )。(分数:2.00)A.构造

    11、函数B.抽象类C.派生类D.以上都不对19.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护D.详细设计20.下列是关于派生类声明的开始部分,其中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtualpublicA21.使用 ifstream 流类定义流对象并打开磁盘文件时,文件的隐含打开方式为( )。(分数:2.00)A.ios:iB.ios:outC.ios:inl

    12、ios:outD.没有默认22.有如下程序: #includeiostream.h Using namespace std; Class Demo public: Demo() cout“default constructor/n”; Demo(const Demo int main() Demo a;d; cout“Calling usercode()/n”; dusercode(a); return 0; 执行上面程序的过程中,构造函数 Demo()和Demo(const Demo gender=ge;phone=ph; ); 下列类对象定义语句中错误的是( )。(分数:2.00)A.My

    13、Class myObj;B.MyClass myObj(11,”13301111155”);C.MyClassmyObj(12,m);D.MyClassmyObj(12);24.设有定义 charstr80以下不能将输人数据 nrst/nsecond/CR)读取到数组 str 的语句是( )。(分数:2.00)A.ciget(str,strlen(st);B.cigetline(str,strlen(st);C.cinstr;D.dread(str,strlen(st);25.下列描述正确的是( )。(分数:2.00)A.表示 mn 为 true 或 mn 为 true 的表达式为 mn A(

    14、AD.operator/(operator-();二、B填空题/B(总题数:15,分数:30.00)36.软件工程研究的内容主要包括: 1 技术和软件工程管理。(分数:2.00)填空项 1:_37.在算法的 4 个特性中,算法必须能在执行有限个步骤之后终止指的算法的特性。(分数:2.00)填空项 1:_38.注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_39.在链表的运算过程中,能够使空表与非空表的运算统一的结构是 1。(分数:2.00)填空项 1:_40.数据库系统的主要特点为数据集成性、数据的高 1 和低冗余性、数据独立性和数据统一管理和控制。(分数:2.00)填空项

    15、 1:_41.执行”coutchar(A+2)end1;”语句后得到的输出结果为 1。(分数:2.00)填空项 1:_42. 1 允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。(分数:2.00)填空项 1:_43.通过使用 new 和 delete 两个运算符进行的分配为 1 存储分配。(分数:2.00)填空项 1:_44.假定用户没有给一个名为 MyClass 的类定义析构函数,则系统为其定义的默认析构函数首部形式为 1。(分数:2.00)填空项 1:_45.参照函数模板的写法,完成非模板函数的定义,语句为_。 #includeiostream.h) #

    16、include(string.h template(class T) T min(T a,T b) return(ab?a:b); char*min(char*a,char*b) void main() double a1.23,b3.45; chars1”abcd”,s2”efg”; coutmin(a,b)rain(s1,s2)(endl; (分数:2.00)填空项 1:_46.下列程序的运行结果是_。 #includeiostream.h class Sample int a; public: Sample(int aa0)aaa; Sample()cout“Sample”a; ; cl

    17、ass Derived:public Sample int b; public: Derived(int aa=0,int bb=0):Sample(aa)b=bb; Derived()cout“Derived”b“; ; void main() Derived d1(9); (分数:2.00)填空项 1:_47.下列程序的输出结果是_。 #includeiostream using namespace std; voidfun(inty=j; void assign(Sample sa); ; void Sample:assign(Sample p) if(this!=const A*ptr

    18、 new A;则下列语句错误的是( )。(分数:2.00)A.ptr-a=100; B.ptr=C.ptr+;D.obj2=*ptr;解析:解析 本题考查 const 修饰符的作用。注意:const 位置不同,其修饰的部分也是不同的。本题中 const 修饰的是 ptr 所指的对象本身,所以,ptr 是可以重新指向新的对象,而 ptr-a 则无法被更新。7.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:解析 交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序。冒泡排序是一种最简单的交换排序方法,它通过相邻

    19、元素的交换,逐步将线性表变成有序。8.下列运算符中不能在 C+中重载的是( )。(分数:2.00)A.?: B.+C.-D.解析:解析 本题考查运算符的重载。Ct+中,“:、*、?:”这 4 个运算符不能重载。9.有如下程序: #includeiostream using namespace std; class DA int k; public: DA(int x1):k(x) DA()coutk; ; int main() DAdDA(3),DA(3),DA(3); DA*pnew DA2; deletep; return(); 这个程序的输出结果是( )。(分数:2.00)A.111B.

    20、333 C.11333D.11133解析:解析 本题是两个循环语句和一个判断语句的嵌套。For 循环的作用是在 i 等于 10 的时候跳出循环本题的答案为 B。10.下列程序的输出结果为( )。 #includeiostream.h) class TestClass public: TestClass()val+; static,int val; ; int TestClass:val0; void main() TestClass cs1; coutcsl.val“; TestClass cs2; TestClass cs3,cs4; coutcs2.valend1; (分数:2.00)A.

    21、03B.13C.14 D.24解析:解析 由主函数 main 入手,定义 TestClass 类的对象 cs1,执行 es1.va1,其中 va1 为静态变量,根据“tnt TestClass:val=0:”初始化,TestClass 中的 TestClass()val+;构造函数执行后,val 值为 1。主函数中接着定义对象 cs2,cs3,cs4。执行“coutcs2.va1end1”中的 val 值为4,所以输出为 14。11.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式 C.数据在计算机中的顺序存储方式D.存储在计算机外存中的

    22、数据解析:解析 数据的存储结构,又称为数据的物理结构,是数据的逻辑结构在计算机中的存放形式。数据的存储结构有顺序结构,链式结构、散列结构和索引结构等。12.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系 C.键D.域解析:解析 将 E-R 图转换成指定 RDBMS 中的关系模式是数据库逻辑设计的主要工作。从 E-R 图到关系模式的转换是比较直接的,实体和联系都可以表示成关系。13.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的

    23、程序设计中,各个对象之间相对独立,相互依赖性小 D.上述 3 种说法都不对解析:解析 面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。14.类 MyClass 的定义如下: class MyClass public: MyClass()value=0; SetVariable(int i)value=i private: int value; ; 则对下列语句序列正确的描述是( )。 MyClass*P,my;p会调用两次类 MyClass 的构造函数C.对语句*SetVariabte(5)的调用是正确的D.语句 p-SetV

    24、ariable(5)与语句 mSetVariable(5)等价 解析:解析 语句 p= int main() Demo a;d; cout“Calling usercode()/n”; dusercode(a); return 0; 执行上面程序的过程中,构造函数 Demo()和Demo(const Demo gender=ge;phone=ph; ); 下列类对象定义语句中错误的是( )。(分数:2.00)A.MyClass myObj;B.MyClass myObj(11,”13301111155”); C.MyClassmyObj(12,m);D.MyClassmyObj(12);解析:

    25、解析 本题考查构造函数的应用。对象建立用初始化列表对数据成员进行时,列表中的参数类型要与构造函数中形参类型一致。B 选项中第二个参数为”13301111155”是字符串,而构造函数中第二个形参为 char 型,两者不一致造成错误。24.设有定义 charstr80以下不能将输人数据 nrst/nsecond/CR)读取到数组 str 的语句是( )。(分数:2.00)A.ciget(str,strlen(st);B.cigetline(str,strlen(st);C.cinstr;D.dread(str,strlen(st); 解析:解析 本题考查 cin 流对象的几种成员函数 get,ge

    26、tline,read 及流提取符的使用规则。25.下列描述正确的是( )。(分数:2.00)A.表示 mn 为 true 或 mn 为 true 的表达式为 mn A(AD.operator/(operator-();解析:解析 本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且 c1、c2都是该类的对象,则 c1。operator+(c2)与 c1+c2 含义相同。如果+作为该类的非成员函数重载,则operator+(c1,c2)与 c1+c2 含义相同。同理,运算符“/”作为友元函数重载,则(-x)/y 与表达式operator/(-x),y)相同。前缀运算符“-”作

    27、为友元函数重载,则-x 与 operator-(x)相同,所以组合起来是 operator/(operator-(x),y);,即 B 选项。二、B填空题/B(总题数:15,分数:30.00)36.软件工程研究的内容主要包括: 1 技术和软件工程管理。(分数:2.00)填空项 1:_ (正确答案:队列。)解析:解析 队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫做“队尾”,删除元素的一端叫做“队头”,先插入的元素先被删除,是按先进先出的原则组织数据的。37.在算法的 4 个特性中,算法必须能在执行有限个步骤之后终止指的算法的特性。(分数:2.00)填空

    28、项 1:_ (正确答案:类。)解析:解析 在面向对象方法中,把具有相同属性和方法的对象称为类,类是对象的抽象,对象是类的实例。38.注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_ (正确答案:空间。)解析:解析 衡量一个算法的复杂度有两个指标:时间复杂度和空间复杂度。前者用来衡量执行算法时所需要的计算工作量,而后者用来衡量执行算法所需要的存储空间。39.在链表的运算过程中,能够使空表与非空表的运算统一的结构是 1。(分数:2.00)填空项 1:_ (正确答案:相关文档。)解析:解析 计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。4

    29、0.数据库系统的主要特点为数据集成性、数据的高 1 和低冗余性、数据独立性和数据统一管理和控制。(分数:2.00)填空项 1:_ (正确答案:数据库管理系统。)解析:解析 数据库管理系统是数据库的管理机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。41.执行”coutchar(A+2)end1;”语句后得到的输出结果为 1。(分数:2.00)填空项 1:_ (正确答案:拷贝构造。)解析:解析 本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用一个已知的对象来初始化一个被创建的伺类的对象,定义格式是类名:拷贝构造函数名(类名乙引用名)。

    30、42. 1 允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。(分数:2.00)填空项 1:_ (正确答案:纯虚函数。)解析:解析 纯虚函数是在声明虚函数时被“初始化”为。的函数。纯虚函数没有函数体,只有函数名而不具备函数的功能,只是在基类中预留了一个函数名,具体功能留给派生类根据需要去定义。43.通过使用 new 和 delete 两个运算符进行的分配为 1 存储分配。(分数:2.00)填空项 1:_ (正确答案:1。)解析:解析 本题考查的是运算符重载。当运算符重载为类的成员函数时,第一操作数就是对象本身,并不是显式的出现在参数表中。因此,对于一元运算符参

    31、数表是空的:对于二元运算符参数表中只有一个参数,它代表第二操作数。44.假定用户没有给一个名为 MyClass 的类定义析构函数,则系统为其定义的默认析构函数首部形式为 1。(分数:2.00)填空项 1:_ (正确答案:5。)解析:解析 因为 b 的值为 1,所以 by=j; void assign(Sample sa); ; void Sample:assign(Sample p) if(this!=&p) X=p.K; yp,y; (分数:2.00)填空项 1:_ (正确答案:3,3.14。)解析:解析 C+编译系统将根据实参表中的实参的类型来确定函数的形参列表中的类型。函数fun(3,6)返回的值为 3,函数调用 fun(3.14F,6.28F)返回的值为 3.14。


    注意事项

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




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

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

    收起
    展开