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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)机试模拟试卷 73及答案与解析 一、选择题 1 下列语句中,错误的是 ( )。 ( A) constintbuffer=256; ( B) constinttemp; ( C) constdouble*point; ( D) constdouble*rt=newdouble(5.5); 2 由于常对象不能被更新,因此 ( )。 ( A)通过常对象只能调用它的常成员函数 ( B)通过常对象只能调用静态成员函数 ( C)常对象的成员都是常成员 ( D)通过常对象可以调用任何不改变对 象值 3 在 C+中, cin是一个 ( )。 ( A)类 ( B)对象 ( C)模板 ( D)函

2、数 4 执行下列语句段后,输出字符 “*“的个数是 ( )。 for (int i=50; i1; i-=2) cout using namespace std; class Shape /图形类 public: /图形绘制函数(用显示字母模拟) virtual void draw()const coutdraw(); int main() Shape s; Triangle t; plot( plot( s=t; s.draw(); return 0; 运行这个程序的输出是 ( A) STT ( B) STS ( C) TSS ( D) TTT 18 下列函数声明中,错误的是 ( A) vo

3、idfun(intx=0,inty=0); ( B) voidfun(intx,inty=0); ( C) voidfun(intx=0,inty); ( D) voidfun(intx,inty); 19 若 Pay 是一个类名,则执行语句 Pay p1,p22,*p3; 时 Pay 的构造函数被调用的次数是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 20 下列语句中,错误的是 ( )。 ( A) constintbuffer=256; ( B) constdouble*point; ( C) intconstbuffer=256; ( D) double*constpoint

4、; 21 下列关于派生类构造函数和析构函数的说法中,错误的是 ( )。 ( A)派生类的构造函数会隐含调用基类的构造函数 ( B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数 ( C)在建立派生类对象时,先调用基类的构造函数, 再调用派生类的构造函数 ( D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数 22 下列叙述中正确的是 ( )。 ( A)栈是一种先进先出的线性表 ( B)队列是一种后进先出的线性表 ( C)栈与队列都是非线性结构 ( D)以上三种说法都不对 23 若已经声明了函数原型 “boolfun(boola,intb=0);“,则下列重载函数声明中

5、正确的是 ( A) boolfun(boola=true,intb=0); ( B) intfun(boola,intB); ( C) voidfun(doublea,intB); ( D) voidfun(boola,intb=0); 24 有如下程序: #include #include using namespace std; class Person public: Person(string n):name(n) Person() cout using namesapce std; int return r; int main() int a=1,3,5,7; cout using

6、namespace std; class GA public: virtual int f() return 1; ; class GB: public GA public: virtual int f() return 2; ; void show(GA g) cout using namespace std; class Point public: Point(int xx=0,int yy=0):x(xx),y(yy) protected: void SetXY(int xx,int yy) x=xx; y=yy; private: int x,y; ; class Circle:pub

7、lic Point public: Circle(int r):radius(r) void Set(int r,int x,int y) radius=r; SetXY(x,y); / void Print() const cout using namespace std; int main() int a6=27,57,20,42,56,18; int s1,s2; s1=s2=a0; for(int* p=a+1;p-a*p?*p:s1; s2=s2 using namespace std; class TV public: TV(int s=41):size(s) void Print

8、() cout #include usingnamespacestd; clasSPoint doublex, y; public: Point(doublex=0 0, doubley=0 0) ERROR*found* x=x; y=y; ) doublegetX()constreturnx; doublegetY()constreturny; ) ERROR*found* voidshow()constcoutusingnamespacestd; classDate日期类 intyear, month, day;年、 A、日 public: Date(intyear, intmonth,

9、 intday): year(year), month(month), day(day) intgetYear()constreturnyear; intgetMonth()const(returnmonth; intgetDay()constreturnday; ; classPerson人员类 charname14;姓名 boolismale;性别,为 true时表示男性 Datebirthdate;出生日期 public: Person(char*name, booliSmale, Datebirthdate) *found* : _ strcpy(this-name, name); c

10、onstchar*getName()constreturnname; boolisMale()constreturnismale; DategetBirthdate()constreturnbirthdate; 利用 strcmp()函数比较姓名,返回一个正数、 0或负数,分别表示大于、等于、小于 intcompareName(constPerson时,依次执行 person、 Date、 Student构造函数,然后依次执行 Student、 Date、 person的析构函数,所以输出为 SDP, D选项正确。 25 【正确答案】 D 【试题解析】 用来表示变量、符号常量、函数、数组类型等

11、实体名字的有效字符序列称为标识符,标识符由字母、数字、和下划线 3种字符组成,且第一个字符必须为字母或者下划线。所以 D选项错误。 26 【正确答案】 C 【试题解析】 本题考查派生类定义时使用的关键字,三种继承方式分别为private、 public、 protected,而 C选项为静态声明关键字,故选择 C。 27 【正确答案】 C 【试题解析】 线性表的顺序存储结构具备如下两个基本特征:( 1)线性表中的所有元素所占的存储空间是连续的;( 2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,

12、甚至是零散分布在内存中的任意位置上的。因此 C正确。 28 【正确答案】 D 【试题解析】 本题考查赋值运算符重载,赋值运算符只能作为类的成员函数重载,所以 D选项错误。 29 【正确答案】 B 【试题解析 】 类 How 的定义体中没有定义任何构造函数,所以编译器需要自动生成一个默认构造函数和复制构造函数,答案为 B。 30 【正确答案】 D 【试题解析】 函数 f()的功能:根据形参整型数组 a和下标 index,返回数组 a中元素 aindex的引用, main 函数定义数组 a并初始化,调用 f()函数并输出函数的返回值。所以输出结果为 a2, a2=5,答案为 D。 31 【正确答案

13、】 A 【试题解析】 C+中,派生类构造函数都是先调用基类构造函数,再根据声明次序定义数据成员,另外对于多继承,派生 类的构造函数初始化列表中,基类构造函数是按照基类在派生类的派生列表中出现的次序调用的;而析构函数是按构造函数运行顺序的逆序进行调用的,可知题目中析构函数的调用顺序为:派生类Derived的析构函数, Base1的析构函数, Base2的析构函数;答案为 A。 32 【正确答案】 D 【试题解析】 软件需求分析方法包括结构化分析方法和面向对象的分析方法两大类,前者常用工具为数据流图( DFD)、数据字典( DD)、判定表、判定树等。故 D选项正确。 33 【正确答案】 D 【试题

14、解析】 this 作用域 是在类内部,当在类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。另外,全局函数和静态函数都不能使用 this 指针。所以答案为 D。 34 【正确答案】 C 【试题解析】 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0的叶子节点总是比度为 2的节点多一个,所以本题中是 5 1 6个。 35 【正确答案】 A 【试题解析】 运算符重载为成员函数时,会省略一个参数,如果无参数,表明是一元运算符。一元运算符既可以作为成员函数重载,也可以作为非成员函数 重载。二元运算符如果作为非成员函数,则参数表中必须有两个参数。 C

15、+有 5个运算符不能重载,它们是: .(成员访问运算符 )、 .*(成员指针访问运算符 )、: (域运算符 )、 sizeof(长度运算符 )和 ?: (条件运算符 )。故本题答案为 A。 36 【正确答案】 C 【试题解析】 本题主要考察虚函数。虚函数指在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,本题中定义类 GA 的对象 a,执行show(a)、 display(a),输出 11,定义了类 GB 的对象 b,执行 show(b),仍然输出1, display(b)执行会调用派生类的 f函数,因为 f 函数为虚函数,输出 2,所以本题答案为 C。 37 【正

16、确答案】 C 【试题解析】 本题中 while循环中当 i为偶数时输出 *,而 i为 100时跳出循环,所以输出 49个 *,答案为 C。 38 【正确答案】 B 【试题解析】 本题考查对象成员的引用,派生类公用继承基类,但是不能继承基类的私有成员,所以执行 voidPrint()constcoutx=x, this-y=y; (2)voidshow()consttout(x, y ); (3): p1(pt1), p2(pt2)或 p1=pt1; p2=pt2 【试题解析】 (1)主要考查考生对构造函数的掌握,因为形参名和私有成员名称一样,因此不能直接赋值,在这里使用成员列表初始化,也可以使

17、用 this 指针赋值。 (2)主要考查考生对语句基本语法的掌握,根据语句:voidshow()consteout(x, y)。可看出函数体 内并没有 “; ”作为cout语句的结束符,因此程序错误。 (3)主要考查考生对构造函数的掌握,形参是 pt1和 pt2,这里写反了,也可以使用成员列表初始化法,可以避免这种错误。 三、简单应用题 42 【正确答案】 (1)is_male(is_male), birth_date(birth_date) (2)returnstrcmp(name, p name); (3)birth_date getMonth()“月 “ 【试题解析】 (1)主要考查考生对构造函数的掌握情况, Person 类在 构造函数 的成员初始化列表中完成对数据成员 is_male、 birth_date的初始化。 (2)主要考查考生对成员函数定义的掌握, compareName(constPerson int counter = 1; int length = strlen(str); for (int i = 0; i length; i+)

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