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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)机试模拟试卷 10及答案与解析 一、选择题 1 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)无序线性表 ( B)线性链表 ( C)二叉链表 ( D)顺序存储的有序表 2 下列叙述中,不属于设计准则的是 ( )。 ( A)提高模块独立性 ( B)使模块的作用域在该模块的控制域中 ( C)设计成多入口、多出口模块 ( D)设计功能可预测的模块 3 下列队列的描述中,正确的是 ( )。 ( A)队列属于非线性表 ( B)队列在队尾删除数据 ( C)队列按 “先 进后出 ”进行数据操作 ( D)队列按 “先进先出 ”进行数据操作 4 对下列二叉树进行前序遍历的结果为 (

2、 )。 ( A) ABCDEFGH ( B) ABDGEHCF ( C) GDBEHACF ( D) GDHEBFCA 5 对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( )。 ( A)冒泡排序为 n(n-1) 2 ( B)简单插入排序为 n ( C)希尔排序为 n ( D)快速排序为 n 2 6 为了使模块尽可能独立,要求 ( )。 ( A)内聚程度要尽量高,耦合程度要尽 量强 ( B)内聚程度要尽量高,耦合程度要尽量弱 ( C)内聚程度要尽量低,耦合程度要尽量弱 ( D) t勾聚程度要尽量低,耦合程度要尽量强 7 下列选项中不属于软件生命周期开发阶段任务的

3、是 ( )。 ( A)软件测试 ( B)概要设计 ( C)软件维护 ( D)详细设计 8 数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 ( )。 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上二三种说法都不对 9 在学校中, “班级 ”与 “学生 ”两个实体集之间的联系属于 ( )关系。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 10 软件调试的目的是 ( )。 ( A)发现错误 ( B)改善软件的性能 ( C)改正错误 ( D)验证软件的正确性 11 在公有派生时,派生类中定义的

4、成员函数只能访问原基类的 ( )。 ( A)私有成员、保护成员和公有成员 ( B)保护成员和私有成员 ( C)公有成员和保护成员 ( D)公有成员和私有成员 12 有如下定义: int b1 0=l, 2, 3, 4, 5, 6, 7, 8, 9, 10, *q=b;则数值为 8的表达式是 ( )。 ( A) *q+8 ( B) *(q+7) ( C) *q+=8 ( D) q+7 13 下面的符号中可以用作 C+标识符的是 ( )。 ( A) 3test ( B) fcc-other ( C) else ( D) radius 14 下列程序执行后,输出的结果是 ( )。 int X=-5,

5、 Y=0; while(+x) y+; cout using namespace std; class Base protected: Base()cout void main() int n3=1 0, 20, 30, 40, 50, 60; int(*p)3; p=n; cout using namespace std; int main() int*p, *q, r=10; q=&r; p= q; COUt using namespace std; class TestClass static int i: public: TestClass()i+: TestClaSS 0i-; st

6、atic int getVal()retum j; int TestClass:i=0: void fOTestClass obj2; coutgetVal(); delete obj3; cout using namespace std: class TestClass int n: public: TestClass(int k): n(k) int get0return n; int getoconstreturn n+l; ) ; int main() TestClass p(5); const TestClass q(6); cout using rlamespace std; in

7、t main() int x=3; if(x=5) cout using namespace std; void swap(int x, int y) int temp=x: x=y; Y=temp; cout using namespace std; classA public: A()cout5) *error* i+: data print(); cout 三、简单应用题 42 使崩 VC6打开考生文件夹下的源程序文件 modi2 cpp。请完成函数fun(char*data),此函数的功能是,找出字符串数组中最小的 ASCII值,如果有相同变量,则输出最后。个所在的位置;如果字符串为空

8、,则返回一 1;或者不仔在时也返回一 1。注意:请勿改动丰函数 main与其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。计算数字如果第一个字母最小, 则返回 0。依次增加。 #include int fun(char*data) void main() char sir1 024; cout using narnespaee std; class TestClass 1 public: void print() cout是由逗号 分开的,分别说明函数的各个参数。在 fun()函数中它包括三个形参: x+y, 3和 min(n 1, y):当调用一个函数时,实参与形参一对

9、一一匹配,所以实参个数也是 3个。 18 【正确答案】 A 【试题解析】 虚函数是非 static类型的成员函数,基类中可以利用 virtual关键字来声明虚函数,派生类中定义相同原型函数时可不必加 virtual说明,直接重写基类中的函数。在派生类中的虚函数必须与基类中的虚函数具有相同的参数个数与类型。 19 【正确答案】 C 【试题解析】 派生类 Derived由基类 Base公有派生,在派生类构造函数声明时系统会自动调用基类的缺省构造函数。调用 Derived d(Derived);后,执行类Derived构造函数的 Derived(charc),系统自动调用基类的缺省构造函数 Base

10、(),输出字母 Base;再执行派生类的构造函数 Derived(char c),输出字母 Derived。 20 【正确答案】 A 【试题解析】 C+在流操作中,利用 cout对象的 width属性设置输出字符的宽度,用 fill函数来设置需要填充的字符。题目程序中,首先设置填充字 符为 *,输出宽度为 6,但在输出前又设置了填充字符为撑,所以在输出时,其填充字符为#,由于 888不足 6个字符,所以在前面以三个 “#”来填充。 21 【正确答案】 C 【试题解析】 因为 aa后减,所以 a=4; b的值与 a、 bb相关, b=4*5=20,与 aa没有任何关系。 22 【正确答案】 A

11、【试题解析】 extern用于声明外部变量的, register声明寄存器类型变量,无cpu类型。它们都不能声明类成员。 public声明为公有访问权限。 23 【正确答案】 B 【试题解析 】 类的定义,如果有自身类对象,会使其循环定义,选项 B)错误。在类中具有自身类的指针,可以实现链表的操作,当然也可以使用对象的引用,类中可以有另一个类的对象,即成员对象。 24 【正确答案】 D 【试题解析】 地址作为实参,表示实参与形参代表同一个对象。如果实参是数值,形参也是普通变量,此时形参是实参的备份。 25 【正确答案】 B 【试题解析】 如果数组元素都是相同类型的指针,则称这个数组为指针数组。

12、指针数组一般用于处理二维数组。声明的格式为: 。 p表示指向数组 n的行指针,初始化 “(*p)3=n; ”,地址的等价形式:p+i、 pi、 *p+i)都表示数组第 i+1行的第 1个元素的首地址。 *(p+i)+j、 pi+j、piD都表示数组第 i+1行、第; +1列元素的地址。他的等价形式:+(+(p+i)+j)、 *(pi+j)、 piD都表示数组第 i+1、第 j+1列元素的值。所以本题中分别访问数组元素 p00, p01, p02。 26 【正确答案】 C 【试题解析】 p为一个二级指针,其存放的是指针变量 q的地址,而 q存放的又是 r的地址。故式子 *p相当于对 r的引用。所

13、以最后输出的结果为 11。 27 【正确答案】 C 【试题解析】 类模板本身在编译时是不会产生代码的,只有在其实例化以后才产生代码。定义一个对象时,不能省略其实参。 28 【正确答案】 A 【试题解析】 C+中,若没有类的显式声明构造函数则系统会为其提供一个默认的构造函数,若提供了构造函数则会将系统提供的默认的构造函数覆盖。调用构造函数时,实参必须与形参匹配。但是如果声明一个对象指针时,不是定义一个对象,不调用对象的构 造函数。 29 【正确答案】 B 【试题解析】 在 c+中,字符串以 * 0作为字符串结束的标志,所以个数为 m-1。 30 【正确答案】 B 【试题解析】 由于 i是类 Te

14、stClass的静态成员,该成员被类的所有实例共享。当定义 obj1时,系统自动调用构造函数 TestClass(), i的值将加 1:调用函数 f()时,在定义 obj2时系统会自动调用构造函数 TestClass(), i的值将再加 l;调用obj2 getVal();后,将 i的值输出,输出值为 2;当调用函数 f()即将结束时,系统自 动调用析构函数 TestClass(), i的值将减 1;当定义 obj3时,系统自动调用构造函数 TestClass(), i的值将加 1,调用 coutgetVal():后,将 i的值输出,输出值为 2;调用 delete obi3后将执行 Test

15、Class的析构函数 TestClass(),执行后, i的值将减 1, TestClass: getVal()为类的一个静态成员函数,其作用是返回私有静态成员变量 i的值 1。 31 【正确答案】 C 【试题解析】 继承方式有公有继承、私有继承和保护继承 3种, 缺省的继承方式是私有继承。派生类从基类继承所有的成员,但是对于基类的私有成员派生类是不可直接访问的。 32 【正确答案】 B 【试题解析】 C+中对常对象的成员函数调用,将自动调用其常成员函数,程序中调用原型为 “int get()const; ”的函数,对于非常对象将调用原型为 “int get(); ”的函数。因为首先用 5对对

16、象 p进行了初始化,所以执行 p get()时直接返回 5,而对于常对象则以 6对 q进行初始化,在调用 q get()时,将调用原型为 “int get()const; ”的函数,该函数将 返回 n+1,第二个输出应为 7,所以本题答案为57。 33 【正确答案】 C 【试题解析】 C+中拥有纯虚函数的类称为抽象类。抽象类不能用来定义对象。如果一个抽象类的派生类没有重定义来自基类的某个纯虚函数,则该函数在派生类中仍是纯虚函数,该类仍为抽象类。 34 【正确答案】 C 【试题解析】 if(条件 )语句 1else语句 2,语句的执行过程是:首先判断条件是否为真 (不为 0),为真则执行语句 1

17、,否则执行语句 2。题目中的条件是 x=5,意思是把 5赋予变量 x,它将 x置 5且返回一个真值。 35 【正确答案】 D 【试题解析】 C+中的拷贝构造函数是用一个已知的对象初始化一个正在创建的同类对象。拷贝构造函数的一般格式如下: (类名 ): (类名 )(const(类名 )&prim(); 【试题解析】 本题的功能是通过 print虚函数将字符串输出。在 VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的 main主函数开始 入手,可以看出程序通过调用类和成员函数实现各种输出操作。 解题思路 (1)题日 l要求 “类 restCla

18、ss2公共继承于 TestClassl”。从已有的类产生一个新的子类,成为类的派生。声明派生类的一般形式为: class派生类名: 继承方式 基类名。根据题目中的要求以及派生类的一般形式,第 1个标识下添加语句 “class TestClass2: public TestClassl”。 (2)题目 2要求 “print函数为虚函数 ”。在 C+中,用 virtual声明的函数为虚函数,因此第 2个标识下的语句修改为 “ vimtral void prinl()”。 (3)题目 3要求 “使得 p指定对象 obj3”。 p为指针变量, obj3为类的对象,将一个指针变量指向另一个变量,只要把被指向的变量的地址赋给指针变量即可。取对象 obj3地址的语句为 &obj3,所以这里补全 “p=&obj3; ”。 (4)题目 4要求 “利用 p调用 prim()函数 ”。 C+中用 ”-啧运算符实现成员访问,因此调用 print()函数,应将第 4个标识下修改为 “p-print(); ”。

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