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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C+机试(选择题)模拟试卷 56及答案与解析 一、选择题 1 下列链表中,其逻辑结构属于非线性结构的是 ( A)二叉链表 ( B)循环链表 ( C)双向链表 ( D)带链的栈 2 设循环队列的存储空间为 Q(1: 35),初始状态为 front=rear=35。现经过一系列入队与退队运算后, front=15, rear=15,则循环队列中的元素个数为 ( A) 15 ( B) 16 ( C) 20 ( D) 0或 35 3 下列关于栈的叙述中,正确的是 ( A)栈底元素一定是最后入栈的元素 ( B)栈 顶元素一定是最先入栈的元素 ( C)栈操作遵循先进后出的原则 ( D)以上说法均

2、错误 4 在关系数据库中,用来表示实体间联系的是 ( A)属性 ( B)二维表 ( C)网状结构 ( D)树状结构 5 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是 ( A) 1: 1联系 ( B) m: 1联系 ( C) 1: m联系 ( D) m: n联系 6 有两个关系 R和 S如下: 则由关系 R得到关系 S的操作是 ( A)选择 ( B)投影 ( C)自然连接 ( D)并 7 数据字典( DD)所定义的对象都包含于 ( A)数据流图( DFD图 ) ( B)程序流程图 ( C)软件结构图 ( D)方框图 8 软件需求规格说明

3、书的作用不包括 ( A)软件验收的依据 ( B)用户与开发人员对软件要做什么的共同理解 ( C)软件设计的依据 ( D)软件可行性研究的依据 9 下面属于黑盒测试方法的是 ( A)语句覆盖 ( B)逻辑覆盖 ( C)边界值分析 ( D)路径覆盖 10 下面不属于软件设计阶段任务的是 ( A)软件总体设计 ( B)算法设计 ( C)制定软件确认测试 计划 ( D)数据库设计 11 下列字符中,不允许作为 C+ 标识符的是 ( A) a ( B) a ( C) C ( D) 23 12 下列叙述中,错误的是 ( A) false 是一个逻辑型常量 ( B) 0 是一个字符型常量 ( C) 1481

4、 是一个 int常量 ( D) 1.732 是一个 double常量 13 若 x和 y是程序中的两个整型变量,则下列 if 语句中正确的是 ( A) if(x!=0) y=1; else y=2; ( B) if(x!=0) y=1 else y=2; ( C) if(x!=0) then y=1 else y=2; ( D) if x!=0 y=1; else y=2; 14 要定义整型数组 x,使之包括初值均为 1 的三个元素,下列语句正确的是 ( A) static int x3=1; ( B) int x=1; ( C) int x3=1,1,1; ( D) int x=1,1,1;

5、 15 下列选项中,正确的 C+ 表达式是 ( A) a+b=c ( B) count3+ ( C) zero+9 ( D) 88 = b 16 若已 经定义了如下的函数: int f(int i,char c); 则下列函数中可以作为此函数的重载函数的是 ( A) int f(int i, char c, char b=?); ( B) int f(int j, char b); ( C) char f(char c,int i); ( D) char f(int i, char c); 17 下列有关运算符重载的表述中,正确的是 ( A)通过重载运算符时可以改变运算符的结合性 ( B)通过

6、运算符重载可以创造新的运算符 ( C) C+ 中所有运算 符都可以重载为非成员函数 ( D)运算符重载是多态性的一种表现 18 已知 int型变量 y 的初值是 5,但在执行语句 “f(y);“后, y 的值被改变,因此该语句所调用函数的原型是 ( A) void f(int x); ( B) void f(int *x); ( C) void f(const int *x); ( D) void f(int 19 要将前缀运算符 - 重载为 Incr 的非成员函数,下列原型中,可作为该重载函数原型的是 ( A) Incr ( B) Incr operator -(int); ( C) Inc

7、r ( D) Incr operator -(Incr 20 下列函数原型声明中,错误的是 ( A) int function( int , int); ( B) int function( int = 3, int = 0); ( C) int function( int m = 3, int n); ( D) int function( int 21 若要 重载 +、 =、 using namespace std; void f(int x, int x=y; y=z; int main() int x=0,y=1; f(x,y); cout #include using namespac

8、e std; class MyBag public: friend int NancyShow(MyBag MyBag(string br=“ABC“):brand(br) private: string brand; ; int NancyShow(MyBag else return 0; int main() int count=0; MyBag arrays3=MyBag(“CityLife“),MyBag(“Coach“); for(int i=0; i #include using namespace std; class TV public: TV(int s=41):size(s

9、) cout using namespace std; class Point public: Point(int xx=0,int yy=0):x(xx),y(yy) void SetXY(int xx,int yy) x=xx; y=yy; protected: int x,y; ; class Circle:Point public: Circle(int r):radius(r) void Set(int r,int x,int y) radius=r; SetXY(x,y); / void Print() const cout #include using namespace std

10、; class Appliance public: Appliance(string t=“A“):type(t) Appliance() cout #include using namespace std; class Instrument public: Instrument(string t=“乐器 “,string n=“无名 “):type(t),name(n) string GetType() const return “乐器 “; string GetName() const return “无名 “; protected: string type,name; ; class P

11、iano:public Instrument public: Piano(string n,string t=“钢琴 “):Instrument(t,n) string GetType() const return “钢琴 “; string GetName() const return name; ; int main() Instrument *pi=new Piano(“星空 “); coutGetType()GetName(); delete pi; return 0; 运行时的输出结果是 ( A)乐器 -星空 ( B)乐器 -无名 ( C)钢琴 -星空 ( D)钢琴 -无名 37 若

12、 MyTemp 是一个只有一个虚拟类型参数的类模板,且有如下语句序列 MyTemp p2; MyTemp p33; 编译系统在处理上钢琴 -无名面的语句序列时,所生成的模板 MyTemp 的实例的个数是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 38 下列关于类模板的表述中,错误的是 ( A)类模板的成员函数都是模板函数 ( B)可以为类模板参数设置默认值 ( C)类模板表述了一组类 ( D)类模板中只允许有一个类型参数 39 使用输入输出操作符 setw,可以控制 ( A)输出精度 ( B)输出宽度 ( C)对齐方式 ( D)填充字符 40 在语句 “cindata;“中, c

13、in 是 ( A) C+ 的关键字 ( B)类名 ( C)对象名 ( D)函数名 国家二级 C+机试(选择题)模拟试卷 56答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 在定义的 链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的

14、物理实现,是一种存储结构,不属于线性结构。答案为 A选项。 2 【正确答案】 D 【试题解析】 在 循环队列中,用队尾指针 rear指向队列中的队尾元素,用排头指针 front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加,朝前移动。只不过当头尾指针指向向量上界时,其加操作的结果是指向向量的下界。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为 D选项。 3 【正确答案】 C 【试题解析】 栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后

15、进 先出的原则进行的。因此,栈称为先进后出表,或 “后进先出 “表,所以选择C。 4 【正确答案】 B 【试题解析】 关系模型实体间的联系采用二维表来表示,简称表。选项 C为网状模型实体间的联系,选项 D为层次模型实体间的联系,选项 A属性刻画了实体。 5 【正确答案】 C 【试题解析】 两个实体集间的联系实际上是实体集间的函数关系,主要有一对一联系( 1:1)、一对多联系( 1:m)、多对一联系( m:1)、多对多联系( m:n)。对于每一个实体部门,都有多名职员,则其对应的联系为一对多联系( 1:m),答案 选 C。 6 【正确答案】 A 【试题解析】 由关系 R到关系 S为一元运算,排除

16、 C和 D。关系 S是关系 R的一部分,是通过选择之后的结果,因此选 A。 7 【正确答案】 A 【试题解析】 在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典。因此选 A,而 B, C, D都不符合。 8 【正确答案】 D 【试题解析】 软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。软件需求规格说明书有以下几个方面的作用。 便于用户、开发人员进行理解和交流, B正确; 反映出用户问题的结构,可以作为软件开发工作的基础和依据, C正确; 作为确认测试和验收的依据, A正确。 9 【正确答案】 C 【试题解析】 黑盒测试不关心程序内部的逻辑,只

17、是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为 C。而 A、 B、 D均为白盒测试方法。 10 【正确答案】 C 【试题解析】 从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。所以 A、 B、 D正确, C为软件 测试阶段的任务。 11 【正确答案】 D 【试题解析】 用来表示变量、符号常量、函数、数组类型等实体名字的有效字符序列称为标识符,标识符由字母、数字、和下划线 3种字符组成,且第一个字符必须为字母或者下划线。所以 D选项错误。 12 【正确答案】 B 【试题解

18、析】 本题主要考查了常量的类型,其中 B选项中 “0“中由于是双引号,所以是字符串,单引号表示字符常量,所以 B选项错误。 13 【正确答案】 A 【试题解析】 本题考查 if语句, if语句一种形式为: if(表达式 1)语句 1 else 语句 2 只有 A选项是正确的 14 【正确答案】 C 【试题解析】 本题考查一维数组及其初始化, A选项中为静态一维数组,三个元素必须全部初始化, B选没有指明是三个元素, D选项赋值错误, C选项正确。 15 【正确答案】 D 【试题解析】 本题考查 C+基本的表达式用法,属于基本知识,可以看出只有 D选项正确。 16 【正确答案】 C 【试题解析】

19、 本题考查函数重载相关知识,重载函数是函数的一种特殊情况,为方便使用, C+允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数 的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。 A选项的形参有三个,且前两个形参与题目中的函数相同, B、 D选项参数个数和类型都与题目中相同,所以不能作为重载函数。 C选项总函数的参数类型与题目中不同,所以可以作为重载函数。 17 【正确答案】 D 【试题解析】 本题考查运算符重载,重载不能改变运算符运算对象的个数;不能改变运算符的优先级别;不能改变运算符的结合性;重载运算符的函数不能有默认值,否则就改变了运算

20、符参数的个数;不能定义新的运算符,某些运算符不能重载。所以答案为 D。 18 【正确答案】 D 【试题解析】 参数传递有三种: 传值 (value),传址 (address),和传引用 (reference) 传值时子函数(被调用者)复制父函数(调用者)传递的值,这样子函数无法改变父函数变量的值, A选项属于此类。 传址时父函数将变量的地址传递给子函数,这样子函数可以能过改写地址里的内容改变父函数中的变量 传引用则是一种看起来像传值调用,而实际上功能同传址一样的传递方式。子函数可以改写父函数的变量值。 D选项属于此类,所以 D选项正确。 19 【正确答案 】 C 【试题解析】 本题考查重载运算

21、符,题目中要求将运算符 - 重载为 Incr 的非成员函数,只有 C选项能够将运算符重载为非成员函数。 20 【正确答案】 C 【试题解析】 在函数原型中指定默认参数值时,如果函数中有多个参数,则默认参数应从右至左定义,否则就是无效的,故本题选 C。 21 【正确答案】 C 【试题解析】 本题考查重载运算符, C+规定有的运算符(如赋值运算符、下标运算符、函数调用运算符)必须定义为类的成员函数。所以本题选 C。 22 【正确答案】 A 【 试题解析】 参数传递有三种: 传值 (value),传址 (address),和传引用 (reference) 传值时子函数(被调用者)复制父函数(调用者)

22、传递的值,这样子函数无法改变父函数变量的值。 传址时父函数将变量的地址传递给子函数,这样子函数可以能过改写地址里的内容改变父函数中的变量。传引用则是一种看起来像传值调用,而实际上功能同传址一样的传递方式。子函数可以改写父函数的变量值。本题中函数 f中第一个参数为传值调用,第二个参数为传引用,其中 y的值在执行完函数 f就变为了 x值,所以输出 00, A选项正确。 23 【正确答案】 B 【试题解析】 本题考查对象的定义,定义一个类对象就需要占用空间,其中c1、 c3都占用了空间, c2、 c4为指针只占一个指针空间,所以 B选项正确。 24 【正确答案】 A 【试题解析】 本题考查运算符重载

23、,重载不能改变运算符运算对象的个数;不能改变运算符的优先级别;不能改变运算符的结合性;重载运算符的函数不能有默认值,否则就改变了运算符参数的个数;不能定义新的运算符,某些运算符不能重载。所以 A选项错误。 25 【正确答案】 A 【试题解析】 本题考查类和对象的定义 ,本题中定义类 AA的时候,数据成员有BB类型的对象,而类 BB在在之前没有定义,所以 A选项错误。 26 【正确答案】 D 【试题解析】 本题考查继承与派生,派生类中的成员访问基类中的成员由派生方式决定,派生类保护继承基类,那么基类中的私有成员不可访问,基类的保护成员和公用成员变成了派生类的保护成员。所以 D选项正确。 27 【

24、正确答案】 C 【试题解析】 作为虚基类的类可以被实例化,派生类公用继承和保护继承基类,都可以访问基类的保护成员。如果派生类没有对虚函数重新定义,那么就调用基类的虚函数 。所以 C选项正确。 28 【正确答案】 A 【试题解析】 本题考查派生类对基类成员的访问属性,派生类公用继承基类,所以派生类可以直接使用基类的公用成员,所以只有 A选项正确。 29 【正确答案】 D 【试题解析】 本题考查如何引用类的成员函数,一般形式为:对象名 .成员名。 D选项是正确的引用方式,所以本题 D选项错误。 30 【正确答案】 B 【试题解析】 本题考查默认析构函数,题中定义了一个对象、包含 2个元素的一维对象

25、数组,所以析构函数执行 3次,而对象指针数组并没有实际占用空间,所以不执行析构函数。 31 【正确答案】 C 【试题解析】 本题考查构造函数,可以看出本题中是要统计对象数组 arrays中有多少个 brand 不为的 Coach元素,定义的对象数组中有两个不是 Coach元素,所以答案为 2, C选项正确。 32 【正确答案】 A 【试题解析】 本题考查构造函数相关知识,本题中定义一个对象 room1,输出C,定义 room2时输出 CC,然后执行 room3.Print时,输出 54,最后执行三个析构函数输出 DDD,所以答案为 A。 33 【正确答案】 B 【试题 解析】 在基类中不能对虚

26、函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。一般形式如下: class virtual ()=0; ; 所以 B选项正确。 34 【正确答案】 C 【试题解析】 选项中 SetXY为基类的成员函数,派生类也继承下来,但是SetXY的参数为两个,而 调用时是 3个参数,所以错误。 35 【正确答案】 D 【试题解析】 执行派生类构造函数的顺序是: 1、调 用基类构造函数, 2、调用子对象构造函数, 3、再执行派生类析构函数,4、执行基类的析构函数,所以本题中定义分别定义了 room1, room2后,调用构造函数后没有输出,而调用析构函数的顺

27、序依次为 room2的析构函数,输出 41,然后执行 Appliance的析构函数输出 T,然后执行 room1的析构函数输出 0,最后执行 Appliance的析构函数输出 A,所以 D选项正确。 36 【正确答案】 B 【试题解析】 本题考查派生类的应用,本题中基类 Instrument,派生类 Piano,当定义 Instrument *pi=new Piano(“星空 “)时, pi为指向基类的指针,那么执行 pi-GetType()时调用基类的 GetType函数,得到 type为乐器, name为无名,所以输出乐器 -无名。选项 B正确。 37 【正确答案】 B 【试题解析】 编译时没有实例化,只是申明了一个 double型的类 p2,以及 long型的类 p3,并且 p3是一个数组类,含有 2个元素,即 2个 long类。 38 【正确答案】 D 【试题解析】 本题考查模板的相关知识,一个类模板可以有多个类型参数。所以D选项错误。 39 【正确答案】 B 【试题解析】 本题考查 setw,表示控制输入输出宽度。 B选项正确。 40 【正确答案】 C 【试题解析】 本题考查提取运算符 , cin为对象名,所以 C选项正确。

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