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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)机试模拟试卷 75及答案与解析 一、选择题 1 if语句的语法格式可描述为: 格式 1: if() 或 格式 2: if() else 关于上面的语法格式,下列表述中错误的是 ( )。 ( A) 部分可以是一个 if语句,例如 if(if(a=0) ( B) 部分可以是一个 if语句,例如 if()if() ( C)如果在 前加上逻辑非运算符 !并交换 和 的位置,语句功能不变 ( D) 部分可 以是一个循环语句,例如 if()while() 2 下列关于派生类构造函数和析构函数的说法中,错误的是 ( )。 ( A)派生类的构造函数会隐含调用基类的构造函数 ( B)如果基类中

2、没有缺省构造函数,那么派生类必须定义构造函数 ( C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数 ( D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数 3 有如下语句序列: char str 10 ; cinstr; 当从键盘输入 “I love this game“时, str中的字符串是 ( )。 ( A) Ilovethisgame ( B) Ilovethi ( C) Ilove ( D) I 4 下列语句中,正确的是 ( A) charstr=“abcde“; ( B) char*str=“abcde“; ( C) charstr5=“abc

3、de“; ( D) char*str5=“abcde“; 5 有如下程序: #include using namespace std; class Base public: void fun() coutfun(); ( C) Base:fun(); ( D) fun(); 6 设循环队列的存储空间为 Q(1:35),初始状态为 front=rear=35。现经过一系列入队与退队运算后, front=15, rear=15,则循环队列中的元素个数为 ( A) 15 ( B) 16 ( C) 20 ( D) 0或 35 7 下列关于运算符重载的表述中, 错误的是 ( A)所有的运算符都可以通过重

4、载而赋予其新的含义 ( B)有的运算符只能作为成员函数重载 ( C)不得为重载的运算符函数的参数设置默认值 ( D)有的运算符可以作为非成员函数重载 8 有如下类定义: class Bag public: Bag(); / void SetSize(string s); / string GetSize() const; / friend void Display(Bag / private: string size; ; 在标注号码的 4 个函数中,不具有隐含 this指针的是 ( A) ( B) ( C) ( D) 9 算法的有穷性是指 ( )。 ( A)算法程序的运行时间是有限的 ( B

5、)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 10 下列关于函数的叙述中,正确的是 ( A) C+不允许函数嵌套定义 ( B) C+中所有函数都有返回值 ( C)函数的形参列表一定不能为空 ( D)调用函数时一定会执行完函数体的最后一条语句 11 有如下类定义: class Base1 int m; public: Base(int m1): m(m1) ; class Base2 int n; public: Base(int n1): n(n1) ; class Derived: public Base2,public Base1 in

6、t q; public: Derived(int m1, int n1, int q1): q(q1),Base1(m1),Base2(n1); ; 在创建一个 Derived 对象时,数据成员 m、 n 和 q 被初始化的顺序是 ( A) m、 n、 q ( B) n、 m、 q ( C) q、 m、 n ( D) q、 n、 m 12 某二叉树中有 15个度为 1的结点, 16个度为 2的结点,则该二叉树中总的结点数为 ( A) 32 ( B) 46 ( C) 48 ( D) 49 13 有如下类定义: class MyClass public: MyClass(double d=0.0)

7、:val(d) _ /运算符函数 -的声明 private: double val; ; 若要使语句序列 MyClass y(4.6),z; z=6.7-y; 能够正常运行,横线处的声明语句应为 ( A) friendMyClassoperator-(MyClass ( B) friendMyClassoperator-(double,MyClass); ( C) friendMyClassoperator-(MyClass ( D) friendMyClassoperator-(double 14 有如下类定义: class Pet char name30; public: Pet(char

8、 * n) strcpy(name, n); void bark() coutbark() ( D) (*p).bark() 15 ( A)投影 ( B)交 ( C)选择 ( D)并 16 下列关于 this指针的描述中,正确的是 ( A)下列关于 this指针的描述中,正确的是 ( B)类的 const成员函数都有 this指针 ( C)任何静态成员函数都有 this指针 ( D)类的非静态成员函数都有 this指针 17 某二叉树的前序序列为 ABCD,中序序列为 DCBA,则后序序列为 ( A) BADC ( B) DCBA ( C) CDAB ( D) ABCD 18 有如下程序: #

9、include using namespace std; void fun(int x=y/4; x+; int main() int x=4,y=5; fun(x,y); cout using namespace std; class AA char c; public: AA():c(X) AA(AA class CD public: CD() cout using namespace std; class AA public: virtual void disp() cout using namespace std; int i=1; class Fun public: static i

10、nt i; int value() return i-1; int value()const return i+1; ; int Fun:i=2; int main() int i=3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是 ( )。 ( A) cout usingnamespacestd; classPoint public: ERROR*found* Point(intx=0, inty) : x_(x), y_(y) ERROR*found* voidmove(IntxOff, intyOff)

11、const x_+=xOff; y_+=yOff; voidprint()const tout #include usingnamespacestcl; classEmployee public: Employee(stringFlame, stringdept): *found* virtualvoidprint()const; stringdept()const返回部门名称 *found* virtualEmployee() private: stringname_; stringdept_; ; classManager: publicEmployee public: Nanager(s

12、tringname, stringdept, intlevel): *found* virtualvoidprint()const; private: intlevel; ; voidEmployee: print()const coutprint: (); deleteemp; return0; 四、综合应用题 43 请使用 VC6或使用【答题】菜单打开考生文件夹 proj3下的工程 proj3,其中声明的 Matrix是一个用于表示矩阵的类。 operator+的功能是实现两个矩阵的加法运算。例如,若有两个 3行 3列的矩阵 则 A与 B相加的和为 请编写 openaor+函数。要求:补充

13、编制的内容写在 “ *333*”与 “ *666*”之间,不得修改程序的其他部分。注意:程序最后将结果输出到文件 out dat中。输出函数 writeToFile已经编译为 obj文件,并且在本程序中调用。Matvix h#include#includeusingnamespacestd; constintM=18; constintN=18;classMatrixintarrayMN; public: Matrix()intgetElement(inti,intj)constreturnarrayij; )voidsetElement(inti, intj,intvalue)arrayij

14、=value; )voidshow(constchar*s)constcout#include“Matrix h“voidreadFromFile(constchar*filename, Matrix 【试题解析】 (1)主要考查考生对构造函数的掌握情况 ,默认构 造函数的参数值必须从右到左。 (2)主要考查考生对 const函数的掌握情况 ,函数体中有语句 :x += xOff;,成员变量值改变 ,因此函数不能使用 const。 (3)主要考查考生对指针的掌握情况 ,由于 p为指针类型 ,因此调用成员函数时要使用标识符 -。 三、简单应用题 42 【正确答案】 (1)nanle_(naiTl

15、e), dept_(dept) (2)returndept_; (3)Employee(name, dept), level_(1evel) (4)Employee: print(); 【试题解析】 (1)主要考查考生对构造函数的掌握,这里使用成员列表初始化法对私有成员初始化。 (2)主要考查考生对成员函数的掌握,题目要求返回部门名称,因此这里是一条返回语句。函数要求返回的类型为 string,因此直接返回 dept_即可。 (3)主要考查考生对构造函数的掌握,因为 Manager类是 Employee 类的派生类,因此它的构造函数要先对基类初始化,应使用成员列表初始化。 (4)主要考查考生对

16、虚函数的掌握,因为 Manager类是 Errrployee类的派生类,因此它的 print函数可以先调用基 类的 print函数,再输出自身要输出的数据,故为Employee: prim();。 四、综合应用题 43 【正确答案】 Matrix m; for (int i = 0; i M; i+) for (int j = 0; j N; j+) m.setElement(i, j, (m1.getElement(i,j) + m2.getElement(i,j); return m; 【试题解析】 主要考查考生对运算符重载的掌握 ,本题使用二维数组表示 矩阵 ,使用 for循环遍历数组的每个元素 ,将位置一样的两个数组元素相加 ,放入新的二维数组中。

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