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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C+机试(操作题)模拟试卷 31及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil epp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在 *error*的下面,修改该语句即可。 1 #include 2 class CMyClass 3 4 private: 5 int number; 6 int Add(int i) 7 8 return number+=i ; 9 10 int Sub(int i) 11 12 return number -=i; 13 14 int Mul(int

2、i) 15 16 return number*=i; 17 18 int Div(int i) 19 i 20 if(i!=0) 21 22 return number =i ; 23 24 else 25 return number; 26 27 *error* 28 typedef int(FUNC)(int); 29 *error* 30 FUNC func; 31 public: 32 CMyClass() 33 34 func0=CMyClass: Add; 35 func1=CMyClass: Sub; 36 func2=CMyClass: Mul; 37 func3=CMyCla

3、ss: Div; 38 number=0 ; 39 40 int CallFunction(int i, int J) 41 42 *error* 43 return(funci)(J); 44 45 ; 46 void main() 47 48 CMyClass myobj; 49 cout 2 #define NUM 8 3 void func(int ANUM, int n) 4 5 6 j 7 int main() 8 9 int ANUM=(1, 2, 3, 4, 5, 6, 7, 8); 10 func(A, 6); 11 for(int i=0 ; i 2 const doubl

4、e pi=3 14 16 ; 3 class circle 4 5 protected: 6 *1* 7 8 public: 9 *2* 10 11 12 r=0 0 ; 13 14 circle(double radius) 15 16 r=radius ; 17 18 void print() 19 20 area=r*r* pi ; 21 cout*funci)(j); 【试题解析】 CMyClass类有一个成员变量 number,多个成员函数分别实现加减乘除功能。使用 typedef定义了一个返回值是整型并带有一个整型参数的函数指针,并通过实例化一个容量为 4的函数指针数组实现对类中定

5、义的方法的调用。 解题思路 (1)在类 中定义函数指针须指定类名及指针定义运算符 *,因此第 1个标识下函数指针正确的定义为 “typedef intrCMyClass: *FUNC)(int); ”。 (2)函数指针数组本身是数组类型,因此在定义时如果没有初始化,就必须指定数组大小,在本题中因为指针数组包含的指针变量需要指向四种算数运算,因此定义指针数组大小为 4,即第 2个标识下应改为 “FUNC func4; ”。 (3)func是指针数组,因此访问的时候需要有指针运算符 “*”,第 3个标识下应改成 “retum(this-*funci)(j); ”。 二、简单应用题 2 【正确答案】

6、 1 for(int i=0 ; in 2 ; i+) 2 3 int temp=Ai;交换 4 Ai=A In i; 5 An i=temp ; 6 【试题解析】 func()函数完成对数组内容的重排,下标为 i的数字与下标为 n i的数字交换,可以用循环来实现。 解题思路 (1)用循环来实现该过程,题目要求从 0开始,交换 N 2次,因此 循环变量 i的范围从 0变化到 N 2。 (2)下标为 0的元素与下标为 n的元素交换,下标为 1的元素与下标为 n 1的元素交换,依此类推,在循环体内,用一个临时变量记录第一个元素,然后将第二个元素赋值给第一个元素,临时变量值赋给第二个元素,如此完成两

7、个元素的交换。 三、综合应用题 3 【正确答案】 (1)添加语句: double r, area ; (2)添加语句: Circle() (3)添加语句: column(double radius, doubleheight) (4)添加语句: cout“height=“h “vol=“area*hendl; 【试题解析】 本题的功能是计算圆的面积和周长。在 VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的 main主函数开始入手,可以看出程序通过调用类和成员函数实现各种输出操作。 解题思路 (1)题目 1要求 “定义类 circle的保护

8、数据成员函数 r和 area,它们都是 double型的数据 ”。保护成员与 private和 public一样是用来声明成员的访问权限的 。在已有程序 circle类中的 protected:区域,添加变量 r和 area的定义,即“doubler,area; ”。 (2)题目 2要求 “添加类 circle的无参数的构造函数,使得类 circle对象的 r默认值为 0”。在 C+中,构造函数是一种特殊的成员函数,它的名字与类同名,没有参数的构造函数一般形式为:构造函数名 (),所以这里添加 “circle()”。 (3)题目 3要求 “添加派生类 column的构造函数的定义 ”。同 (2),另外带参数的构造函数的一般格式为:构造函数名 (类型 1形参 1,类型 2形 参 2, ) ,所以这里添加 “column(double radius, double height)”。 (4)题目 4要求 “完成派生类 column的成员函数 print()的定义 ”。根据题干中输出结果,知道第一个输出值为 height,第二个输出值为 vol,即 area*h,所以这里添加 “cout“height=“h “vol=”area*hendl; ”。

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