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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】国家二级C++机试(选择题)-试卷3及答案解析.doc

1、国家二级 C+机试(选择题)-试卷 3 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.所谓算法就是计算方法B.程序可以作为算法的一种描述方法C.算法设计只需考虑得到计算结果D.算法设计可以忽略算法的运算时间2.下列各序列中不是堆的是(分数:2.00)A.(91,85,53,36,47,30,24,12)B.(91,85,53,47,36,30,24,12)C.(47,91,53,85,30,12,24,36)D.(91,85,53,47,30,12,24,36)3.深度为 5 的完全二叉树的结点数不可

2、能是(分数:2.00)A.15B.16C.17D.184.设二叉树如下: (分数:2.00)A.ABDEGCFHB.DBGEAFHCC.DGEBHFCAD.ABCDEFGH5.下面描述不属于软件特点的是(分数:2.00)A.软件是一种逻辑实体,具有抽象性B.软件在使用中不存在磨损、老化问题C.软件复杂性高D.软件使用不涉及知识产权6.下面对类-对象主要特征描述正确的是(分数:2.00)A.对象唯一性B.对象无关性C.类的单一性D.类的依赖性7.在数据库中,数据模型包括数据结构、数据操作和(分数:2.00)A.数据约束B.数据类型C.关系运算D.查询8.一个运动队有多个队员,一个队员仅属于一个运

3、动队,一个队一般都有一个教练,则实体运动队和队员的联系是(分数:2.00)A.一对多B.一对一C.多对一D.多对多9.设循环队列为 Q(1: m),其初始状态为 front=rear=m。经过一系列入队与退队运算后,front=30,rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为(分数:2.00)A.19B.20C.m-19D.m-2010.有两个关系 R、T 如下: (分数:2.00)A.投影B.交C.选择D.并11.下列字符串中不能作为 C+标识符使用的是(分数:2.00)A.DOUBLEB.abcC._5_D.xyz12.下列语句中错误的是(分数:2.00)A.

4、const int *p = 0;B.const int y = 0;C.int x = 0;D.const int p = new int(100);13.有如下程序: #include using namespace std; int main() int sum = 0; for(int i = 0; i 0; i-=3) n+;n 的值是(分数:2.00)A.23B.24C.25D.7120.下列关于函数的叙述中,正确的是(分数:2.00)A.C+不允许函数嵌套定义B.C+中所有函数都有返回值C.函数的形参列表一定不能为空D.调用函数时一定会执行完函数体的最后一条语句21.下列关于运算

5、符重载的叙述中,正确的是(分数:2.00)A.不能改变重载运算符的优先级B.运算符只能重载为类的成员函数C.C+中已有的任何运算符都可以重载D.可以为重载运算符函数的参数设置默认值22.下列运算符中,可以重载为类的友元函数的运算符是(分数:2.00)A.=B.()CD.1) return (2*n-1)*x-P(x,n-1)-(n-1)*P(x,n-2)/n; 若执行函数调用表达式 P(1.3,2),函数 P 被调用的次数是(分数:2.00)A.1B.2C.3D.426.有如下类定义: class MyClass public: MyClass(double d=0.0):val(d) _ /

6、类型转换运算符 double 的定义 private: double val; ;若要使语句序列 MyClass x(2.1); coutdraw(); t.draw(); plot(t); delete ps; return 0; 运行这个程序的输出是(分数:2.00)A.SCCB.SCSC.CSSD.CCC34.有如下类及函数的定义: class Wow int k; public: Wow(int n=0):k(n) int incre() return +k; int decre(); void show()const; ; int Wow:decre() return -k; inl

7、ine void display( Wow w) w.show(); void Wow:show()const cout0; i-=3) n+;n 的值是(分数:2.00)A.23B.24 C.25D.71解析:解析:for 循环中,i 初值为 70,每次循环 i 自减 3,n 自增 1,循环终止条件为 i0 不成立;由70/3=23,可知循环最少执行 23 次,之后 i 取值为 1,仍然满足循环条件,所以循环总共执行 24 次,n 自增 24 次,答案为 B。20.下列关于函数的叙述中,正确的是(分数:2.00)A.C+不允许函数嵌套定义 B.C+中所有函数都有返回值C.函数的形参列表一定不

8、能为空D.调用函数时一定会执行完函数体的最后一条语句解析:解析:C+中函数可以不返回任何值,不返回任何值指定返回类型为 void 类型;函数形参表可以为空,但不能省略;函数调用过程中,可能会由于 return 语句或者异常终止执行,不一定会执行完最后一条语句;B、C、D 错误;函数不允许嵌套定义,答案为 A。21.下列关于运算符重载的叙述中,正确的是(分数:2.00)A.不能改变重载运算符的优先级 B.运算符只能重载为类的成员函数C.C+中已有的任何运算符都可以重载D.可以为重载运算符函数的参数设置默认值解析:解析:操作符“不能重载为成员函数,选项 B 错误;成员访问操作符“.“、成员指针访问

9、操作符“.*“、域操作符“:“、sizeof 和条件操作符“?:“是不能重载的,选项 C 错误;除了函数调用操作符“()“外,重载操作符时使用默认参数是非法的,选项 D 错误;重载操作符不能改变操作符的优先级别,选项 A 正确;答案为 A。22.下列运算符中,可以重载为类的友元函数的运算符是(分数:2.00)A.=B.()CD.“必须重载为成员函数,这些操作符定义为非成员函数将在编译时标记为错误,友元函数是非成员函数,上面四种操作符不能重载为类的友元函数,另外成员访问操作符“.“不能重载,答案为 D。23.若有函数调用“fun(x*y, 3, max(a,b,c)“,则 fun 的实参个数为(

10、分数:2.00)A.3 B.4C.5D.6解析:解析:函数 fun 的实参分别是:x*y 的结果、3、max 函数的返回值,实参个数为 3。答案为 A。24.下列关于内联函数的叙述中,错误的是(分数:2.00)A.内联函数的定义必须出现在内联函数第一次被调用之前B.内联函数主要解决程序的运行效率问题C.类体中定义的函数都是内联函数D.内联函数不能有参数 解析:解析:内联函数的函数定义必须出现在内联函数第一次被调用之前;内联函数可以避免函数频繁调用时的开销,提高程序运行效率;在类定义体内部定义的成员函数,编译器都将其视为内联函数;A、B、C 正确;内联函数也可以有参数,D 错误,答案为 D。25

11、.求 n 阶勒让德多项式的递归函数定义如下: double P(double x, int n) if(n=0) return 1; if(n=1) return x; if(n1) return (2*n-1)*x-P(x,n-1)-(n-1)*P(x,n-2)/n; 若执行函数调用表达式 P(1.3,2),函数 P 被调用的次数是(分数:2.00)A.1B.2C.3D.4 解析:解析:内联函数的函数定义必须出现在内联函数第一次被调用之前;内联函数可以避免函数频繁调用时的开销,提高程序运行效率;在类定义体内部定义的成员函数,编译器都将其视为内联函数;A、B、C 正确;内联函数也可以有参数,D

12、 错误,答案为 D。26.有如下类定义: class MyClass public: MyClass(double d=0.0):val(d) _ /类型转换运算符 double 的定义 private: double val; ;若要使语句序列 MyClass x(2.1); coutdraw(); t.draw(); plot(t); delete ps; return 0; 运行这个程序的输出是(分数:2.00)A.SCCB.SCSC.CSSD.CCC 解析:解析:C+中,多态性调用需要满足两个条件,1、被调用成员函数必须是虚函数;2、必须通过基类类型的引用或指针进行函数调用。多态性使程

13、序在运行时期根据指针或引用所指对象的类型来决定调用哪个函数。 程序中,类 Shape 定义了虚函数 draw(),在派生类 Circle 中重写了函数 draw();main 函数中,分别使用指针、对象、引用三种方式调用函数 draw(),指针 ps 是基类指针,指向的是派生类的对象,所以这里根据多态性,将调用 Circle 中的 draw 函数,输出“C“;对象 t 是 Circle 对象,也调用 Circle中的 draw 函数,输出“C“;函数 plot()执行时引用 s 引用的是实参 t,引用对象是派生类 Circle 对象,根据多态性,同样调用 Circle 中的 draw 函数,输

14、出“C“;结果输出为“CCC“;答案为 D。34.有如下类及函数的定义: class Wow int k; public: Wow(int n=0):k(n) int incre() return +k; int decre(); void show()const; ; int Wow:decre() return -k; inline void display( Wow w) w.show(); void Wow:show()const coutA.1B.2C.3 D.4解析:解析:类定义体内部定义的函数,编译器都默认为内联函数,类定义体外部定义的函数,使用关键字 inline 修饰的函数为

15、内联函数,所以内联函数有:Wow(int n=0)、incre()、display(Wow w),答案为C。35.有如下类声明: class How int k; public: friend void show(); ;则类 How 所拥有的构造函数的数量是(分数:2.00)A.1B.2 C.3D.4解析:解析:类 How 的定义体中没有定义任何构造函数,所以编译器需要自动生成一个默认构造函数和复制构造函数,答案为 B。36.有如下程序: #include using namespace std; class CC int k; public: CC(int n):k(n) int get(

16、)const return k; ; int main() CC c3=CC(1),CC(2); return 0; 此程序编译时未能通过,原因是(分数:2.00)A.数组只能定义为基本数据类型B.类 CC 缺少复制构造函数C.对象数组只能作为类的数据成员D.类 CC 缺少默认的构造函数 解析:解析:对象数组无论在哪里定义,都需要自动调用该对象元素的类的默认构造函数进行初始化,如果该类没有默认构造函数,必须为数组的元素提供显式初始化;程序中定义了对象数组 c,它包含了三个元素,前两个元素使用构造函数 CC(int n)显式初始化,最后一个元素需要使用默认构造函数初始化,由于类 CC 中已经定义

17、了构造函数,所以编译器不会自动生成默认的构造函数,缺少默认构造函数导致对象数组 c 的第三个元素无法完成初始化,编译错误;答案为 D。37.有如下类声明和函数声明 class Base int m; public: int n; protected: int p; ; class Derived: public Base public: int k; ; void f(Derived d); 则在函数 f 中通过 d 可访问的数据成员包括(分数:2.00)A.nB.n 和 k C.n、k 和 pD.n、k、p 和 m解析:解析:公有继承中,基类成员保持自己的访问级别(private 成员除外)

18、,基类的 public 成员在派生类中是 public 成员,基类的 protected 成员在派生类中是 protected 成员;所以程序中 Derived 类的 public 成员有:n、k,protected 成员有:p,m 对 Derived 不可见,所以 Derived 对象 d 可访问的成员有:n、k,protected 成员不可见;答案为 B。38.下列关于模板的表述中,错误的是(分数:2.00)A.模板形参表的两边使用尖括号括起来B.模板以关键字 template 开始C.模板声明中的关键字 class 都可以用关键字 typename 替代 D.模板的形参表中可以有多个参数

19、解析:解析:模板定义以关键字 template 开始,后接模板形参表,模板形参表是用尖括号括住的一个或多个模板形参的列表,形参之间用逗号分隔,选项 A、B、D 正确;至于选项 C,一般关键字 class 和typename 在模板形参表中,是没有区别的,但是关于类模板,类定义的关键字也是 class,这里 class 是不可用 typename 替代的,答案为 C。39.要利用 C+ 流实现输入输出的各种格式控制,必须在程序中包含的头文件是(分数:2.00)A.fstreamB.istreamC.cstdlibD.iomanip 解析:解析:C+中 I/O 流控制头文件是 iomanip,它负责实现输入输出的各种格式控制;答案为 D。40.在下列标识符中,不属于文件流类的标识符是(分数:2.00)A.ifstreamB.ofstreamC.fstreamD.operator 解析:解析:文件流类的标识符由:输入文件流类 ifstream、输出文件流类 ofstream 和输入输出文件流类 fstream;operator 是重载运算符的标识符,答案为 D。

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