欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:497610       资源大小:33.50KB        全文页数:6页
    • 资源格式: DOC        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机类试卷]国家二级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; ”。


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开