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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)机试模拟试卷 68及答案与解析 一、选择题 1 在数据库设计中,将 E R图转换成关系数据模型的过程属于 ( )。 ( A)需求分析阶段 ( B)概念设计阶段 ( C)逻辑设计阶段 ( D)物理设计阶段 2 有如下程序: #include using namespace std; int main() void function(double val); double val; function(val); cout using namespace std; class Book public: Book(char* t=“ “) strcpy(title,t); priva

2、te: char title 40 ; ; class Novel : public Book public: Novel(char* t=“ “): Book(t) char* Category()const return “文学 “; ; int main() Book *pb; pb=new Novel(); coutCategory(); delete pb; return 0; 若程序运行时输出结果是 “文学 “,则横线处缺失的语句是 ( )。 ( A) char*Category(); ( B) char*Category()const; ( C) virtualchar*Cate

3、gory()const; ( D) virtualchar*Category()const=0; 4 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)差 ( C)交 ( D)并 5 有如下程序: #include using namespace std; class Sample public: Sample() Sample() cout ( D) 7 下列叙述 中,错误的是 ( A) false是一个逻辑型常量 ( B) 0是一个字符型常量 ( C) 1481是一个 int常量 ( D) 1.732是一个 double常量 8

4、下列有关类继承的表述中,错误的是 ( A)继承可以实现软件复用 ( B)派生类构造函数要负责调用基类的构造函数 ( C)虚基类可以解决由多继承产生的二义性问题 ( D)派生类没有继承基类的私有成员 9 有如下 4个语句: cout #include using namespace std; class TV public: TV(int s=41):size(s) coutPrint(); delete room3; return 0; 运行时的输出结果是 ( A) NC54 ( B) NCN54D ( C) NNN54DDD ( D) NCN54DDD 25 软件需求规格说明书的作用不包括

5、( A)软件验收的依据 ( B)用户与开发人员对软件要做什么的共同理解 ( C)软件设计的依据 ( D)软件可行性研究的依据 26 若 MyClass为一个类,执行语句 “MyClassa4,*p5;“时会自动调用该类构造函数的次数是 ( A) 2 ( B) 4 ( C) 5 ( D) 9 27 下列有关 C+流的表述中,错误的是 ( A) C+流操作 符 setw设置的输出宽度永久有效 ( B) C+流操作符 endl可以实现输出的回车换行 ( C)利用 C+流处理文件 I/O时,要包含头文件 fstream ( D)利用 C+流进行输入操作时, eof()函数用于检测是否到达文件尾 28

6、在一个有参函数的原型声明中可有可无的语法成分是 ( A)形参类型 ( B)形参变量 ( C)函数名 ( D)函数返回类型 29 有如下类定义: class Pass static int count; public: Pass() void show()const; friend int getCount(); static int incre(); ; 在所声明的 4个函数中,具有 this指针的有 ( A) Pass和 show ( B) Pass和 show ( C) show和 incre ( D) getCount和 incre 30 下列关于运算符重载的叙述中,正确的是 ( A)可

7、以通过重载创造出新的运算符 ( B)可以为重载运算符函数的参数设置默认 值 ( C)可以将部分运算符函数重载为非成员函数 ( D)可以将任意运算符函数重载为静态成员函数 31 有如下类声明: class Why int n; public: double d; protected: long l; float f; private: char c; ; 类 Why的保护数据成员和私有数据成员的数量分别是 ( A) 1和 1 ( B) 1和 2 ( C) 2和 1 ( D) 2和 2 32 设数据集合为 D=1,3,5,7,9, D上的关系为 R,下列数据结构 B=( D, R)中为非线性结构的

8、是 ( A) R=(5,1),(7,9),(1,7),(9,3) ( B) R=(9,7),(1,3),(7,1),(3,5) ( C) R=(1,9),(9,7),(7,5),(5,3) ( D) R=(1,3),(3,5),(5,9) 33 有如下类定义: class MyClass public: private: int data; ; 若要为 MyClass类重载流输入运算符 “,使得程序中可以 “cinobj;“的形式改变MyClass类的对象 obj中数据成员 data的值,则横线处的声明语句应为 ( )。 ( A) friendistream ( B) friendistrea

9、m ( C) istream ( D) istream 34 下列关于 C+流的描述中,错误的是 ( )。 ( A) coutA表达式可输出字符 A ( B) eof()函数可以检测是否到达文件尾 ( C)对磁盘文件进行流操作时,必须包含头文件 fstream ( D)以 ios_base:out模式打开的文件不存在时,将自动建立一个新文件 35 运算符重载时不需要保持的性质是 ( )。 ( A)操作数个数 ( B)操作数类型 ( C)优先级 ( D)结合性 36 有如下类声明: class Base protected: int amount; public: Base(int n=0):

10、amount(n) int getAmount()const return amount; ; class Derived: public Base protected: int value; public: Derived(int m, int n):value(m), Base(n) int getData()const return value+amount; ; 已知 x是一个 Derived对象,则下列表达式中正确的是 ( )。 ( A) x.value+x.getAmount() ( B) x.getData()-x.getAmount() ( C) x.getData()-x.a

11、mount ( D) x.value+x.amount 37 有如下程序段: int i=2;int j=3; int main() int i=9, j=i; cout #include using namespace std; class MyBag public: MyBag(string br=“ABC“):brand(br) cout usingnamespacestd; classMyClass public: MyClass(): count(0)cout clasSvehicle private: intMaxSpeed; intWeight; public: *found*

12、vehicle(intmaxspeed, int weight): _ 一 vehicle(); intgetMaxSpeed()returnMaxSpeed; intgetWeight()returnWeight; , *found* classbicycle: _publicvehicle private: intHeight; public: bicycle(intmaxspeed, intweight, intheight): vehicle(maxspeed, weight), Height(height) intgetHeight()returnHeight; ; , *found

13、* classmotorcar: _publicvehicle private: intSeatNum; public: motorcar(intmaxspeed, intweight, intseatnum): vehicle(maxspeed, weight), SeatNum(seatnum) intgetSeatNum()returnSeatNum; ; ; *found* classmotorcycle: _ public: motorcycle(intmaxspeed, int weight, intheight): vehicle(maxspeed, weight), bicyc

14、le(maxspeed, weight, height), motorcar(maxspeed, weight, 1) ; voidmain() motorcyclea(80, 150, 100); cout usingnamespacestd; constintMAXELEMENTS=100; 集合最多可拥有的元素个数 classIntegerSet intelemMAXELEMENTS; 用于存放集合元素的数组 intcounter; 用于记录集合中元素个数的计数器 public: IntegerSet(): counter(0) 创建一个空集合 IntegerSet(intdata, i

15、ntsize); 利用数组提供的数据创建一个整数集合 voidadd(intelement); 添加一个元 素到集合中 voidremove(intelement); 删除集合中指定的元素 intgetCount()constreturncounter; 返回集合中元素的个数 intgetElement(inti)constreturn elemi; 返回集合中指定的元素 voidshow()const; , voidWriteToFile(char*); #endif main cpp #include“IntegerSet h“ #include IntegerSet: IntegerSe

16、t(intdata, intsize): counter(0) for(inti=0; i0; j-) if(element=elemj-1)break; 如果找到的是等于 element的元素,说明要添加的元素已经存在,直接返回if(j0) if(element=elemj-1)return; 如果找到的是小于 element的元素, j就是要添加的位置 该元素及其后面的元素依次后移,腾出插入位置 for(intk=counter; kj; k-) elemk=elemk-1; elemj: element; 将 element插入到该位置 counter+;计数器加 1 voidInteg

17、erSet: remove(intelement) *333* *666* voidIntegerSet: show()const for(inti=0; i,所以答案为 C选项。 7 【正确答案】 B 【试题解析】 本题主要考查了常量的类型,其中 B选项中 “0“中由于是双引号,所以是字符串,单引号表示字符常量,所以 B选项错误。 8 【正确答案】 D 【试题解析】 软件方面的可重用性是通过继承来实现的, A选项正确。派生类的构造函数负责调用基类的构造函数, B 选项正确。虚基类解决了由多继承产生的二义性问题,所以 C选项正确。派生类可以继承 基类的私有成员,但是不能直接访问,所以 D选项错

18、误。 9 【正确答案】 C 【试题解析】 本题考查输入输出格式的控制,只有 和 可以输出符合题目要求的格式,所以 C选项正确。 10 【正确答案】 C 【试题解析】 本题考查常指针, C选项中不能直接将整型变量赋值给常指针,所以 C选项错误。 11 【正确答案】 B 【试题解析】 定义一个 ClassA类型的对象 c1,生成新对象 c1,调用默认构造函数;定义一个 ClassA类型的指针 c2,指针未赋初值,没有新对象生成,没有调用构造函数;定义一 个 ClassA类型的指针 c3,使用动态分配方式为 c3 分配内存,生成新的对象,将 c3 初始化为新对象的地址,调用默认构造函数;定义一个Cl

19、assA类型的引用 c4,引用 c1 对象,没有新对象生成,未调用构造函数;答案为B。 12 【正确答案】 B 【试题解析】 顺序表和链表的优缺点比较如下表:由表中可以看出链式存储插入与删除运算效率高,故 B 选项正确。 13 【正确答案】 D 【试题解析】 既可以在函数声明中指定默认参数,也可以在函数定义中指定默认参数,但是,在一个源文件中,只能为形参指定默认参数一 次,通常应在函数声明中指定默认参数。 A、 B、 C正确,选项 D错误;答案为 D。 14 【正确答案】 B 【试题解析】 在类 How 定义中没有定义任何构造函数,所以编译器会自动生成一个默认构造函数,同时还生成复制构造函数,

20、所以类 How拥有两个构造函数,答案为 B。 15 【正确答案】 A 【试题解析】 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。 16 【正确答案】 A 【试题解析】 C+中函数可以不返回任何值,不返回任何值指 定返回类型为 void类型;函数形参表可以为空,但不能省略;函数调用过程中,可能会由于 return语句或者异常终止执行,不一定会执行完最后一条语句; B、 C、 D错误;函数不允许嵌套定义,答案为 A。 17 【正确答案】 A 【试题解析】 C+中,常数据成员必须在构造函数的初始化列表中完成初始化,答案为 A。 18 【正确

21、答案】 D 【试题解析】 程序定义含有五个整型元素的数组 arr,并初始化为: 1,2,3,4,5,数组名 arr为数组首地址。选项 A中输出第一个元素与 4之和,即 1+4,结果为5;选 项 B、 C都是输出第五个元素 5;选项 D中输出第二个元素与 5之和,即2+5,结果为 7, D错误;答案为 D。 19 【正确答案】 A 【试题解析】 C+中,以 class 关键字定义的类默认的访问级别为 private,另外对于公有继承,基类成员保持自己的访问级别( private成员除外),即基类的public成员为派生类的 public成员,基类的 protected 成员为派生类的 prote

22、cted成员;本题中, Derived 类以 public方式继承 Base,所以 Derived 中 public成员有: n, protected 成员有: p, private成员有: k,不可见的成员有: m;这些成员中,对 Derived 类对象可见的只有 public成员 n,答案为 A。 20 【正确答案】 A 【试题解析】 对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择 A)。 21 【正确答案】 A 【试题解析】 类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以是受保护的。类的成员函数可以在类内定义。 22 【正确答

23、案】 A 【试题解析】 cin 是 C+预定义 的标准输入流对象, cout是 C+预定义的标准输出流对象。 23 【正确答案】 A 【试题解析】 本题考查字符串的定义, A选项中,定义了一个字符,而用字符串赋值,所以错误, C选项定义了字符数组,但是赋值的字符串实际上有 6个字符,所以赋值错误, D选项定义了一个字符串指针数组,赋值错误。 24 【正确答案】 D 【试题解析】 本题考查构造函数相关知识,本题中定义一个对象 room1,输出N,定义 room2时输出 C,定义 room3时输出 N,然后执行 room3.Print时,输出54,最后执行三个 析构函数输出 DDD,所以答案为 D

24、。 25 【正确答案】 D 【试题解析】 软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。软件需求规格说明书有以下几个方面的作用。 便于用户、开发人员进行理解和交流, B正确; 反映出用户问题的结构,可以作为软件开发工作的基础和依据, C正确; 作为确认测试和验收的依据, A正确。 26 【正确答案】 B 【试题解析】 本题考查默认构造函数,题中定义了包含 4个元素的一维对象数组,而指针数组不占用空间,所以不调用构造函数,那么构造函数就执行 4次,答案为 B。 27 【正确答案】 A 【试题解析】 C+操作符 endl可以实现输出的回车换行的功能;在处理文件 I/O时,要

25、包含头文件 iostream,是为了说明引用的参数或函数的位置;函数 eof()用来检测是否到达文件尾,如果到达件尾返回非 0值,否则返回 0。 28 【正确答案】 B 【试题解析】 函数原型,包含返回值,函数名,参数类型,而形参变量可有可无,所以答案为 B选项。 29 【正确答案】 A 【试题解析】 C+的类定义中,只有非静态成员函数具有 this 指针, Pass类中getCount()函数是友元函数,不属于成员函数,没有 this 指针,选项 B、 D错误;incre()函数是静态成员函数,没有 this指针,选项 C错误;答案为 A。 30 【正确答案】 C 【试题解析】 C+中不能通

26、过连接其他合法符号来创建任何新的操作符, A选项错误;除了函数调用操作符 operator()之外,重载操作符时使用默认实参是非法的, B选项错误;并不是所有操作符都可以重载为静态成员函数,比如赋值操作符 “=“只能重载为类的非静态成员函数,因为静态成员函数是面向整个类的,不属于某个类对象, 所以静态成员函数只能操作类的静态数据成员,而 “=“只能基于对象进行操作;另外操作符 “不能重载为类的成员函数,因为如果将这两种操作符重载为类的成员函数,左操作数将只能是该类类型的对象,这样的用法与正常 I/O 使用方式相反,为了支持正常用法,左操作数必须为标准库 I/O 内置类型,这又意味着如果该操作符

27、重载为类的成员,那它必须是标准库内置类型的类成员,而标准库内置的类是不能人为添加成员的, D选项错误;答案为 C。 31 【正确答案】 D 【试题解析】 C+中,使用 class 关键字定义的类,默 认的成员访问级别是私有的,所以类 Why中,保护成员有: l、 f;私有成员有: n、 c。答案为 D。 32 【正确答案】 D 【试题解析】 一个非空的数据结构如果满足以下两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件,则称为线性结构,在数据结构中习惯称为线性表。 A选项中, 5为根结点,线性表为 51793。 B 选项中, 9为根结点,线性表为 97135。 C选项中

28、, 1为根结点,线性表为 19753。 D选项,结点 1与 7都是根结点,属于非线性结构,故 D选项正确。 33 【正确答案】 A 【试题解析】 本题考查重载流运算符 “,根据重载规则,本题答案为 A。 34 【正确答案】 A 【试题解析】 本题考查 C+流,想要输出字符 “A“,则应该是 coutInc(); 【试题解析】 (1)考查考生对 const的掌握,在 Inc函数的函数体cout”,而不能使用 “ ”。 三、简单应用题 42 【正确答案】 (1)MaxSpeed(maxspeed), Weigllt(weigllt); (2)virtual (3)virtual (4)public

29、bicycle, publicmotorcar 【试题解析】 (1)主要考查考生对构造函数的掌握,构造函数使用初始化列表来对私有成员 MaxSpeed和 Weight初始化。 (2)主要考查考生对派生类的掌握,题目要求将 vehicle作为虚基类,避免二义性问题。因此在这里添加 virtual 使 vehicle成为虚基类。 (3)主要考查考生对派生类的掌握,题目要求以 motorcar和 bicycle 作为基类,再派生出 motorcycle类。在主函数中可以看到 motorcycle类的实例 a调用 getHeight函数和 getSeatNum函数,由此可知这两个基类都是公有继承,因此

30、得出语句:publicbicycle, publicmotorcaro。 四、综合应用题 43 【正确答案】 for(inti=0; icounter; i+) 遍历整个集合 (数组 elem) if(element=elemi) 如果 element等于 elemi for(intj=i; jcounter-1; j+)从 i开始遍历集合 elem elemj=elemj+1; 把 elemj+1赋值给 elemj counter-; elem长度自减 1 return; f返回 【试题解析】 主要考查考生对有序数组的掌握,题目要求成员函数 remove从集合 中删除指定的元素 (如果集合中存在该元素 )。遍历数组 elem中的元素,找出与形参 element相等的元素,并将其删除,每删除一个元素,即将该元素之后的每个元素前移一位,如果不存在与形参 element相等的元素则没有操作。使用下标 i遍历数组, if语句判断是否与 element相等。

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