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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C+机试(操作题)模拟试卷 52及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: TestClass1 TestClass2 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 1 #include 2 #include 3 Struct TestClass 0 4 5 *error* 6 virtual void fun(); 7 ; 8 class TestClassl: public TestClass

2、 0 9 10 void fun() 11 12 coutfun(); 30 *error* 31 p=*obj 2; 32 p-fun(); 33 return; 34 二、简单应用题 2 使用 VC6打开考生文件夹下的源程序文件 modi2 cpp。阅读下列函数说明和代码,完成空出部分程序。函 数 funf int*arr, int n)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数。 注意:不能修改程序的其他部分,只能修改 fun()函数。 i #include 2 int fun(int*a, int n) 3 4

3、5 6 void main() 7 8 int A=6, 6, 5, 4, 4, 3, 3, 2, 1); 9 int J =fun(A, sizeof(A) sizeof(int); 10 for(int i=0; i 2 #define CONST PI 3 141592 3 class CCircle 4 5 private: 6 double radius ; 7 *1* 8 9 public: 10 *2* 11 CCircle(int radius) 12 this-radius=radius; ) 13 double GetArea() 14 15 *3* 16 17 ) 18

4、double GetGirth() 19 20 *4* 21 22 ) 23 void SetRadius(int m) 24 25 radius=m; 26 ) 27 ; 28 int main() 29 30 CCircle circle(5); 31 coutcircle GetArea()endl; 32 coutcircle GetGirth() endl ; 33 circle SetRadius(10); 34 coutcircle GetArea() endl; 35 coutcircle GetGirth() endl; 36 return 0 ; 37 国家二级 C+机试(

5、操作题)模拟试卷 52答案与解析 一、基本操作题 1 【正确答案】 (1)virtual void fLln()=0 ; (2)p=&obj1 ; (3)p=&ohj2; 【试题解析】 本题程 序中的功能为输出字符串 TestClassl和 YestClass2。从已定源程序的 main主函数开始入手,通过定义的类,实现题目中要求的输出结果。 解题思路 (1)如果在基类中并不使用这个虚函数,其返回值也是没有意义的,它应该被定义为纯虚函数。所以虚函数 fun()应该是纯虚函数,也就是声明虚函数的时候初始化为 0的函数。即第 1个标识下的 “virtual void fun()=0; ”。 (2)

6、第 2个标识下的 p为指针变量,将对象 obj1赋值给 p,实际上是 p指向对象0bj1的地址,所以 “p=*objl; ”修改为 “p=&obj1; ”。 (3)第 3个标识下的 “p=*obj2; ”语句同 (2),修改为 “p=&obj2; ”。 二、简单应用题 2 【正确答案】 1 intj ; 2 int k=0;指向数组第一个元素 3 j=1 ; 指向数组第二个元素 4 while(jn)将本次循环 k指向的元素依次与其他元素比较,如果不同,则存入数组 5 6 if(aj!=ak) 7 8 a+k=aj; k指向下一个元素 9 10 j+; 11 12 return k+1; 为新

7、数组大小 【试题解析】 (1)该程序功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。它的解题思路,由第一个元素开始,利用循环将所有元素,依次与它后面的元素比较,如果不同存入数组。 (2)从已给部分源程序的 main主函数开始入手,核心函数 int fun(int*a,int n)中的参数 a为输入的数组, n为数组大小。 解题思路 (1)首先指向数组第一个元素 ak,然后将第二元素 a啪与它比较,不同存入数组第二个元素 (af+k)。 (2)同时,将被比较的位置向后移动一位 (i+)。循环直到数组的最后一个元素比较完毕。 三、综合应用题 3 【正确答案】

8、 (1)添加语句: const double PI ; (2)将 “CCircle(int radius)”补充完整为: CCircle(int radius): pI(CONST_PI) (3)添加语句: return radius*radius*PI; (4)添加语句: return 2*radius*PI; 【试题解析】 程序当中定义了 CCircle类,含有成员变量 radius和常成员 PI,成员函数 GetArea返回圆面积,成员函数 GetGirth返回圆周长, SetRadius(int m)函数改变 radius大小。 解题思路 (1)第 1个标识下定义私有常量 PI,常数据成员是使用 const说明的数据成员,因此第 1个标识下应添加 “constdouble PI; ”。 (2)常数据成员的初始化只能通过构造函数的成员初始化列表进行,构造函数CCircle(int radius)应对常数据成员 PI进行初始化,第 2个标识下应改为“CCircle(int radius): PI(CONST_PI)”。 (3)第 3个标识下返回圆面积值,圆面积为半径平方与 PI的乘积值,即第 3标识下应添加 “retum radius*radius*PI; ”。 (4)第 4个标识下返回周长,即第 4表示下应添加 “retum2*radius*PI; ”。

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