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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)机试模拟试卷 37及答案与解析 一、程序改错题( 30分) 1 使用 VC6打开考生文件夹下的工程 test23_1,此工程包含一个源程序文件test23_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下 : i iz O 12 22 源程序文件 test23_1.cpp清单如下: #include iostream.h #include stdio.h class innerclass int x; public: /*found*/ innerclass(int z) x=z; cout “iz“ endl; /*found*/ void writ

2、e( ) print(“%dn“,x); class outerclass int y; innerclass g; innerclass *h; public: outerclass(int a); void write( ) printf(“%dn“,y); void write_inner_g() g.write(); void write_inner_h() h- write(); ; outerclass:outerclass(int a) /*found*/ h=new innerclass(12); cout “o“ endl; int main ( ) outerclass o

3、b(22); ob.write_inner_h(); ob.write(); return 1; 二、简单应用题( 40分) 2 请编写类的成员函数 char Buff=new charLength; CharArray () delete Buff; int GetLength () return Length; char private: int Length; char *Buff; ; char CharArray string1(6); char *string2=“string“; for(cnt=0; cnt 8; cnt+) string1cnt = string2cnt; c

4、out “n“; for(cnt=0; cnt 8; cnt+) cout string1cnt; cout “n“; cout string1.GetLength() endl; 三、综合应用题( 30分) 3 使用 VC6打开考生文件夹下的工程 test22_3,此工程包含一个源程序文件test22_3.cpp,其中定义了用于表示考生的类 CStudent和它的派生类CGraduateStudent,但它们的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义 CStudent的构造函数,函数含参数 nm,它是 char型的指针数据,请使用字符串函数将类数据成员 name初始化

5、。请在注释 “/*1*”之后添加适当的语句。 (2)完成类 CStudent的成员函数 void addscore(double sc)的定义,将类数据成员score加上参数 sc,请在注释 “/*2*”之后添加适当的语句。 (3)添加类 CGraduateStudent的成员函数 void addpaper(int d)的定义,将 int型的参数 d的值加到类的数据成员 paper上,请在注释 “/*3*”之后添加适当的语句。 (4)调用对象 sdt的成员函数 addpaper使得该考生的论文数量变为 10,将请在注释“/*4*”之后添加适当的语句。 输出结果如下: Student Hans

6、on (Advisor:MichaelPhong) Total paper is 10 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件 test22_3.cpp清单如下: #include iostream.h #include string.h class CStudent private: char name30; int code; double score; public: CStudent(char* nm) /*1* CStudent() void putname(char* nm) strcpy(name,nm); void putcode(int d)

7、code=d; void putscore(double sc)score=sc; void getname(char* nm)strcpy(nm, name); double getcode()return code; ) double getscore()return score; void addscore(double sc) /*2* ; class CGraduateStudent:public CStudent private: char advisor30; int paper; public: void putadvisor(char*nm) strcpy(advisor,

8、nm); void getadvisor(char*nm) strcpy(nm, advisor); void putpaper(int d) paper=d; /*3* int getpaper() return paper; ; void main() CGraduateStudent sdt; sdt.putname(“Hanson“); sdt.putadvisor(“MichaelPhong“); sdt.putpaper(8); /*4* char csname30; sdt.getname(csname); char caname30; sdt.getadvisor(caname

9、); cout “Student“ csname endl; cout “(Advisor:“ caname “)“ endl; cout “Total paper is“ sdt.getpaper() endl; 国家二级( C+)机试模拟试卷 37答案与解析 一、程序改错题( 30分) 1 【正确答案】 (1)错误:缺少缺省的构造函数 正确: innerclass()cout “i“ endl; (2)错误: void write()print(“%dn“,x); 正确: void write()printf(“%dn“,x); (3)错误:缺少赋值语句 正确: y=a; 【试题解析】 (

10、1)主要考查考生对于派生类调用基类构造函数的应用,此处必须定义缺省的构造函数 (g调用 ); (2)主要考查考生对于格式化输出的掌握,应该使用函数 printf,其中的 %d表示 是输出整型: (3)主要考查考生对于构造函数作用的掌握,只有在此处赋值才能将 22显示出来,因为构造函数在声明对象的时候会被自动的调用。 二、简单应用题( 40分) 2 【正确答案】 char & CharArray:operator (int i) static char ch=0; if(i Length & i =0) return Buffi; else cout “nIndex out Of range.“; return ch; 【试题解析】 本题主要考查考生对于运算符重载的掌握,重载下标运算是安全数组中非常重要的。注意下标操作符最终的目的是返回该下标对应的字符。 三、综合应用题( 30分) 3 【正确答案】 (1) strcpy(name,nm); (2) score+=sc; (3) void addpaper(int d)paper+=d; (4) sdt.addpaper(2); 【试题解析】 本题主要考查考生对于类的定义和使用对象调用成员函数的理解,注意认真的阅读主程序,弄清楚 (4)中 paper的原值为 8。

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