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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)机试模拟试卷 38及答案与解析 一、程序改错题( 30分) 1 使用 VC6打开考生文件夹下的工程 test24_1,此工程包含一个源程序文件test24_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为: 000 1 2-1 000 l 2-l 2 1 1 源程序文件 test24_1.cpp 清单如下: #include iostream.h class A /*found*/ int a=O; public: A(int aa=O):a(aa) ; class B int a,b; const int c; A d; public: /*found

2、*/ B() /*found*/ B (int aa, int bb): d(aa+bb) a=aa, b=bb; void print() cout a “ “ b “ “ c “ “ endl; ; void main ( ) B a,b(1,2); B x=a,y(b),z(2,1); a.print(); b.print(); x.print(); y.print(); z.print(); 二、简单应用题( 40分) 2 请编写两个函数 int sum_of_powers(int k, int n), powers(int m, int n),求 1 6的 k次方的和 ,sum_of

3、_powers中参数 k和 n分别表示 k次方和所求数列中最大的一个自然数,最后返回所求值, powers中参数 m和 n分别表示 m为底数 n为指数,最后返回所求值。要求使用 for循环和函数嵌套 (int sum_of_powers中调用 powers)实现算法。输出结果如下: sum of 4 powers of intergers from 1 to 6=2275 注意:部分源程序已存在文件 test25_2.cpp中。 请勿修改主函数 main和其他函数中的任何内容,仅在函数 sum_of_powers和powers的花括号中填写若干语句。 文件 test25_2.cpp的内容如下:

4、 #include iostream.h const int k(4); const int n(6); int sum_of_powers(int k, int n), powers(int m, int n); void main() cout “sum of “ k “ powers Of intergers from 1 to “ n “=“; cout sum_of_powers(k, n) endl; int sum_of_powers(int k, int n) int powers(int m, int n) 三、综合应用题( 30分) 3 使用 VC6打开考生文件夹下的工程

5、test23_3,此工程包含一个源程序文件test23_3.cpp,其中定义了类 X和它的友元类 Y,但它们的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)将类 X的静态数据成员 y初始化为 1。请在注释 “/*1*”之后添加适当的语句。 (2)完成类 Y的构造函数 Y(int i, int j)的定义,将参数 i赋值给类 Y的数据成员,X的对象 a中的数据成员 x,并且把参数 j赋值给类 X的数据 成员 y,请在注释“/*2*”之后添加适当的语句。 (3)完成类 Y的成员函数 void Display()的定义,将 Y的数据成员, X的对象 a中的数据成员 x和类 X的数据成员

6、 y按照 “x=_,y=_”的形式显示出来 (“_”代表一个数字 ),请在注释 “/*3*”之后添加适当的语句。 输出结果如下: x=5, y=l x=6, y=9 x=5, y=9 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 test23_3.cpp清单如下: include iostream.h class X friend class Y; public: void Set(int i) x=i; void Display() cout “x=“ x “, “; cout “y=“ y endl; private: int x; static int y;

7、; class Y public: Y(int i, int j) void Display(); private: X a; ; /*1* Y:Y(int i, int j) /*2* void Y:Display() /*3* void main ( ) X b; b.Set(5); b.Display(); Y c(6,9); c.Display(); b.Display(); 国家二级( C+)机试模拟试卷 38答案与解析 一、程序改错题( 30分) 1 【正确答案】 (1)错 误: int a=0; 正确: int a; (2)错误; B() 正确: B():c(O)a=0; b=0

8、; (3)错误: B(int aa,int bb):d(aa+bb) 正确: B(int aa, int bb):c(aa-bb), d(aa+bb) 【试题解析】 (1)主要考查考生对于类的数据成员的初始化,在类的定义中不能对类的数据成员进行初始化,如果想要进行初始化应该使用构造函数和参数的默认值: (2)主要考查考生对于含有常数据成员的类的构造函数的掌握,常数据成员 必须在构造函数中进行初始化,而且应该使用参数列表的形式; (3)主要考查考生在构造函数中对常数据成员的赋值的掌握,常数据成员的赋值应使用初始化列表进行。 二、简单应用题( 40分) 2 【正确答案】 (1)int sum_of

9、_powers(int k, int n) int sum(0); for(int i=1; i =n; i+) sum+=powers(i, k); return sum; (2) int powers(int m, int n) int i, product(1); for(i=1; i =n; i+) product*=m; return product; 【试题解析】 本题考查的是考生使用 for循环和函数嵌套解决一般问题的能力。注意最后将计算的值返回。 三、综合应用题( 30分) 3 【正确答案】 (1) int X:y=1; (2) a.x=i; X;y=j; (3) cout “X=“ a.x “, “; cout “y=“ X:y endl; 【试题解析】 本题主要考查考生对于友元类的定义和使用友元类访问的应用,注意 (1)中类 X的静态成员 y应该在类外初始化,而 (2)和 (3)中对于 x和 y不同的访问方式就是因为 y是静态成员,是类 X的所有对象公有的,必须使用作用域符 “:”进行访问。

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