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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

[计算机类试卷]国家二级C++机试(选择题)模拟试卷44及答案与解析.doc

1、国家二级 C+机试(选择题)模拟试卷 44及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)一个算法的空间复杂度大,则其时间复杂度也必定大 ( B)一个算法的空间复杂度大,则其时间复杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)算法的时间复杂度与空间复杂度没有直接关系 2 下列叙述中正确的是 ( A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 ( B)循环队列中的元素个数随队头指针的变化而动态变化 ( C)循环队列中的元素个数随队尾指针的变化而动态变 化 ( D)以上说法都不对 3 一棵二叉树中共有 80个叶子结点与 70个度为 1的结点,则该

2、二叉树中的总结点数为 ( A) 219 ( B) 229 ( C) 230 ( D) 231 4 对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 ( A) 9 ( B) 10 ( C) 45 ( D) 90 5 构成计算机软件的是 ( A)源代码 ( B)程序和数据 ( C)程序和文档 ( D)程序、数据及相关文档 6 软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是 ( A)测试 ( B)设计 ( C)可行性研究 ( D)实现 7 下面不能作为结构化方法软件需求分析工具的是 ( A)系统结构图 ( B)数据字典 (DD) ( C)数据流程图 (DFD

3、图 ) ( D)判定表 8 在关系模型中,每一个二维表称为一个 ( A)关系 ( B)属性 ( C)元组 ( D)主码(键) 9 若实体 A和 B是一对多的联系,实体 B和 C是一对一的联系,则实体 A和 C的联系是 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 10 有三个关系 R、 S和 T如下:则由关系 R和 S得到关系 T的 操作是 ( A)选择 ( B)投影 ( C)交 ( D)并 11 Windows环境下,由 C+ 源程序文件编译而成的目标文件的扩展名是 ( A) obj ( B) exe ( C) cpp ( D) out 12 字符串 “8+a=bnr“ 的

4、长度为 ( A) 14 ( B) 7 ( C) 9 ( D) 16 13 有如下程序: #include using namespace std; int main() int f,f1=1,f2=1; for(int i=0;i using namespace std; int main() int a10; for(int* p=a;p using namespace std; void f1(int x=y; y=z; void f2(int x, int y) int z=x+y; x=y; y=z; int main() int x=10,y=26; f1(x,y); f2(x,y)

5、; cout using namespace std; class XA int a; public: static int b; XA(int aa):a(aa) b+; XA() int get() return a; ; int XA:b=0; int main() XA d1(2),d2(3); cout #include using std:cout; class Point public: friend double distance(const Point Point(int xx=0,int yy=0): x(xx), y(yy) private: int x, y; ; do

6、uble distance(const Point int main() Point p0,p1(3,4); cout #include using namespace std; class Wheel public: Wheel(string s=“W“):name(s) cout using namespace std; class Point public: int GetXY() return x+y; protected: void SetXY(int a,int b) x=a;y=b; private: int x,y; ; class Circle:public Point pu

7、blic: int GetR() return radius; int GetAll() return GetXY()+radius; protected: void SetR(int r) radius=r; private: int radius; ; int main() Circle c; c.GetXY(); / c.SetXY(3,4); / c.GetR(); / c.GetAll(); / return 0; 在标注号码的语句行中存在语法错误的是 ( A) ( B) ( C) ( D) 35 有如下程序: #include using namespace std; class

8、Appliance public: Appliance() Appliance() cout #include using namespace std; class Animal public: virtual string GetType() const return “Animal“; virtual string GetVoice() const return “Voice“; ; class Dog:public Animal public: string GetType() const return “Dog“; string GetVoice() const return “Woo

9、f“; ; class Cat:public Animal public: string GetType() const return “Cat“; string GetVoice() const return “Miaow“; ; void Type(Animal coutsetfill(*)leftsetw(7)ABendl; coutAsetfill(*)rightsetw(7)Bendl; coutsetfill(*)rightsetw(7)ABendl; 其中执行时显示 A*B 的是 ( A) 和 ( B) 和 ( C) 和 ( D) 和 国家二级 C+机试(选择题)模拟试卷 44答

10、案与解析 一、选择题 1 【正确答案】 A 【试题解析】 算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为 D。 2 【正确答案】 D 【试题解析】 在循环队列中,用队尾指针 rear指向队列中的队尾元素,用排头指针 front指向排头元素的前一个位置。因此,从排头指针 front指向的后一个位置直到队尾指针 rear指向的位置之间所有的元素均为队列中的元素。 所以循环队列中的元素个数与队头指针和队尾指针的变化而变化, A正确。 3 【正确答案】 C 【试题解析】 二叉树中,度为 0的节点数等于度为 2的节点

11、数加 1,即 n2=n0-1,叶子节点即度为 0,则 n2=79,总结点数为 n0+n1+n2=80+70+79=229,答案为B。 4 【正确答案】 C 【试题解析】 冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换的次数为9+8+7+6+5+4+3+2+1=45,选 C。 5 【正确答案】 B 【试题解析】 软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选 D。 6 【正确答案】 A 【试题解析】 开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计 3个阶段,实施则包括编码

12、和测试两个阶段, C不属于开发阶段。 7 【正确答案】 C 【试题解析】 结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。 8 【正确答案】 C 【试题解析】 关系模型采用二维表来表示,即每个二维表称为一个关系。 9 【正确答案】 D 【试题解析】 A和 B为一对多的联系,则对于 A中的每一个实体, B中有多个实体与之联系,而 B与 C为一对一联系,则对于 B中的每一个实体, C中之多有一个实体与之联系,则可推出对于 A中的每一个实体, C中有多个实体与联系,所以为一对多联系。 10 【正确答案】 A 【试题解析】 关系 T中的元素与关系 R和关系 S中不同元素的总和,因此

13、为并操作。 11 【正确答案】 B 【试题解析】 C+程序开发过程包括编辑、编译、链接、运行和调试。编译完成后链接之前会生成后缀为 obj的目标 文件,所以答案为 A。 12 【正确答案】 D 【试题解析】 本题考查字符常量中转义字符常量, n,r为转义字符,只占一个字节,所以该字符串的长度为 7。选项 B正确。 13 【正确答案】 B 【试题解析】 本题考查 for循环,当 i为 0时, f1变为 1, f2变为 3;当 i为 2时, f1变为 3, f2变为 5;当 i为 4时, f1变为 5, f2变为 11,即 f为 11,所以答案为 D。 14 【正确答案】 D 【试题解析】 本题考

14、查使用指针对一维数组赋值,可以看出一维数组的元素值为下标 *2+1,所以 a2=2*2+1=5,a8=8*2+1=17,那么 a2+a8=22。 C选项错误。 15 【正确答案】 A 【试题解析】 本题考查除号 /,当除号两边都是整数时,得出的结果为整数, 2/3等于 0,所以结果为 0, D选项正确。 16 【正确答案】 A 【试题解析】 函数 f1调用 f2,如果 f2定义在 f1之后,那么必须将 f2的函数原型声明放在 f1之前,如果 f2定义在 f1之前,那么不需要 f2函数原型声明。所以B选项正确。 17 【正确答案】 A 【试题解析】 本题主要考查运算符重 载函数,运算符重载函数既

15、可以定义为类的成员函数也可以定义为类的友元函数,所以 D选项错误。 18 【正确答案】 D 【试题解析】 在类体中定义的成员函数, C+系统会自动将它们作为内联函数处理,而在类外定义的成员函数,系统并不把它们默认为内联函数,使用 inline也是内联函数,所以共有 2个内联函数 f1和 f4, D选项正确。 19 【正确答案】 D 【试题解析】 本题考查重载减法运算符,重载运算符的一般形式为: 函数类型 operator 运算符名称 (参数列表 ) 对运算符的重载处理 根据定 义规则,只有 B选项正确。 20 【正确答案】 D 【试题解析】 参数传递有三种: 传值 (value),传址 (ad

16、dress),和传引用 (reference) 传值时子函数(被调用者)复制父函数(调用者)传递的值,这样子函数无法改变父函数变量的值,函数 f2就属于传值调用,所以不会改变 y的值。 传址时父函数将变量的地址传递给子函数,这样子函数可以能过改写地址里的内容改变父函数中的变量 传引用则是一种看起来像传值调用,而实际上功能同传址一样的传递方式。子函数可以改写父函数的变量值。 f1函数属于传引用调用 ,所以 y的值在执行完函数后变为了 36, C选项正确。 21 【正确答案】 C 【试题解析】 本题考查类型转换函数,其一般形式如下: operator 类型名 () 实现转换的语句 在函数名前面不能

17、指定函数类型,函数没有参数,所以 A选项正确。 22 【正确答案】 D 【试题解析】 本题考查运算符重载,不能重载的运算符只有 5个: .、 .*、 :、sizeof、 ?:。 C+规定有的运算符(如赋值运算符、下标运算符、函数调用运算符)必须定义为类的成员函数,只有 D选项正确。 23 【正确答案】 C 【试题解析】 本题考查如何引用类的数据成员,本题中要引用类的非静态数据成员,可以直接引用,所以 A选项正确。 24 【正确答案】 B 【试题解析】 本题考查类的静态数据成员,题目中定义了类的静态数据成员 b,当执行定义两个对象时执行构造函数,构造函数执行 b+,所以 b最终为 2,而d1.g

18、et()为 2, d2.get()为 3,最终结果为 7, C选项正确。 25 【正确答案】 B 【试题解析】 本题考查类的析构函数的定义,析构函数 (destructor) 与构造函数相反,当对象脱离其作用域 时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做 “清理善后 “ 的工作(例如在建立对象时用 new开辟了一片内存空间,应在退出前在析构函数中用 delete释放)。 以 C+语言为例,析构函数名也应与类名相同,只是在函数名前面加一个波浪符,例如 stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重

19、载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数,它也不进行任何操作。所以 C选项错误。 26 【正确答案 】 D 【试题解析】 本题考查继承使用的关键字,属于基础知识,使用 D选项为继承使用的关键字。 27 【正确答案】 C 【试题解析】 运行时多态与虚函数有关。派生类的对象可以认为是基类的对象,但基类的对象不是其派生类的对象。因此, C+允许一个基类对象的指针指向其派生类对象,但不允许一个派生类对象指向其基类对象。在调用虚函数的过程中指针和引用会起到一定的作用。 28 【正确答案】 C 【试题解析】 本题考查友元函数,本题中定义的 show不能直接访问 Base里的私有成

20、员。 29 【 正确答案】 D 【试题解析】 本题考查构造函数的定义,构造函数名为类的名称,所以只有 B选项正确。 30 【正确答案】 B 【试题解析】 当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数,所以 正确使用 this指针。 31 【正确答案】 A 【试题解析】 本题考查构造函数的应用,题目中定义对象 p0时,执行默认构造函数,得出 x和 y都为 0,定义对象 p1(3,4),得到 x和 y分别是 3,4,执行distance(p1,p0)后得出 5 32 【正确答案】 C 【试题解析】 定义 Bicycle bike时,执行

21、Wheel的构造函数输出 FR,然后执行Bicycle的构造函数输出 G,最后执行析构函数,一次执行派生类的析构函数输出G,再输出基类的析构函数输出 RF,最终输出 FRGGRF,选项 C正确。 33 【正确答案】 D 【试题解析】 本题考查派生类的定义,题目中基类有 4个成员,派生类都继承下来,派生类本身有 2个成员,所以总共有 6个成员, D选项正确。 34 【正确答案】 A 【试题解析】 本题考查派生类对基类成员的 访问属性,派生类公用继承基类的保护成员,在派生类中也变为了保护成员,只能在派生类内访问,不能在类外访问,所以 B选项错误。 35 【正确答案】 B 【试题解析】 执行派生类构

22、造函数的顺序是: 1、调用基类构造函数, 2、调用子对象构造函数, 3、再执行派生类析构函数,4、执行基类的析构函数,所以本题中定义 room1时,程序结束时先调用派生类析构函数输出 T41,然后执行基类的析构函数输出 A,而定义对象指针,并不会调用构造函数,所以什么也不输出,所以结果为 T41A, B 选项正确。 36 【正确答案】 A 【试题解析】 本题考查虚函数的运用,本题中定义 Dog d; Type(d)时,执行类class的 Type函数,输出 Dog,然后输出 speak,然后执行派生类的 Speak函数输出 Voice,最后输出 -,同理 cat输出类似,所以结果为 B选项正确

23、。 37 【正确答案】 C 【试题解析】 函数模板是一个抽象函数,使用模板定义的函数可以有返回值,函数模板的虚拟类型参数并不是函数参数。只有 D选项正确。 38 【正确答案】 D 【试题解析】 本题中要求返回值为 double行,那么 T1就是 double型, T2默认为 int,所以只有 C选项正确。 39 【正确答案】 A 【试题解析】 C+操作符 endl可以实现输出的回车换行的功能;在处理文件 I/O时,要包含头文件 iostream,是为了说明引用的参数或函数的位置;函数 eof()用来检测是否到达文件尾,如果到达件尾返回非 0值,否则返回 0。 40 【正确答案】 B 【试题解析】 本题考查输入输出格式的控制,只有 和 可以输出符合题目要求的格式,所以 C选项正确。

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