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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C+)机试模拟试卷 40及答案与解析 一、程序改错题( 30分) 1 使用 VC6打开考生文件夹下的工程 test26_1,此工程包含一个源程序文件test26_1.cpp,但该程序运行有问题,请改正 函数中的错误,使该程序的输出结果为: Values are: 1, 2 and 3 源程序文件 test26_1.cpp清单如下; #include iostream.h class CommonBase public: int x; ; /*found*/ class DeriveCommonA:public CommonBase public: int y; ; class De

2、riveCommonB:public CommonBase public: int z; ; /*found*/ class Overlapping:public DeriveCommonA; public DeriveCommonB public: void Display() cout “Values are: “ DeriveCommonA:x “, “ y “ and “ z end1; ; int main ( ) Overlapping ov; /*found*/ ov.x=1; ov.y=2; ov.z=3; ov.Display(); return 0; 二、简单应用题( 40

3、分) 2 请编写函数 fun(),其功能是将 s所指字符串中除了下标为奇数、同时 ASCII值也为奇数的字符之外,其余的所有字符都删除。字符串中剩余的字符所形成的一个新的字符串放在 t所指的数组中。 例如: s所指字符串中的内容为 ABCDEFG12345,其中字符 A,的 ASCII码值虽为奇数,但元素所在的下标为偶数,因此必需删除;字符 1的 ASCII码值为奇数,所在数组中的 下标也为奇数,不删除,最后 t所指的数组中的内容应是 135。 请勿修改主函数 main和其他函数中的任何内容,仅在函数 su的花括号中填写若干语句。 文件 test 27_2.cpp的内容如下; #include

4、 conio.h #include stdio.h #include iostream.h #include string.h void fun(char *s,char t ) void main ( ) char s100,t100; cout “Please enter string S: “ end1; gets(s); fun(s, t); puts(t); 三、综合应用题( 30分) 3 使用 VC6打开考生文件夹下的工程 test25_3,此工程包含一个源程序文件test25_3.cpp,其中定义了用于表示堆的类 Set,但 它的定义并不完整。请按要求完成下列操作,将程序补充完整

5、。 (1)完成成员函数 int IsMemberOf(int n)的定义,该函数检查参数 n是否在类的数据成员数组 elems中,如果在返回 1,反之返回 0。请在注释 “/*1*”之后添加适当的语句。 (2)完成成员函数 int Add(int n)的定义,如果参数 n包含在类的数据成员数组elems中则返回 1如果数组超界则返回 0,如果都不是,则将参数 n插入到 elems中 ,下标大小为类的数据成员 PC,之后 PC自加一。请在注释 “/*2*”之后添加 适当的语句。 (3)完成拷贝初始化构造函数 Set(Set Set(Set void Empty() PC=O; int IsEmp

6、ty() return PC=O; int IsMemberOf(int n); int Add(int n); void Print(); private: int elems100; int PC; ; int Set:IsMemberOf(int n) /*1* if(elemsi=n) return 1; return O; int Set:Add(int n) /*2* return 1; else if(PC =100) return O; else elemsPC+=n; return 1; Set:Set(Set i PC; i+) elemsi=s.elemsi; void

7、Set:Print() cout “; for(int i=O; i PC-1; i+) cout elemsi “,“; if(PC O) cout elemsPC-1; cout “ endl; void main() Set A; cout A.IsEmpty() endl; A.Print(); Set B; for(int i=l; i =8; i+) B.Add(i); B.Print(); 国家二级( C+)机试模拟试卷 40答案与解析 一、程序改错题( 30分) 1 【正确答案】 (1)错误: class DeriveCommonA:public CommonBase 正确:

8、class DeriveCommonA:public CommonBase (2)错误: class Overlapping:public DeriveCommonA; public DeriveCommonB 正确: class Overlapping:public DeriveCommonA, public DeriveCommonB (3)错误: ov.x=1; 正确: ov.DeriveCommonA:x=1; 【试题解析】 (1)主要考查考生对于派生类定义的理解, C+规定的继承格式是在类名 的后面加冒号,之后是继承方式和继承类的名称,题目中错误的使用了作用域运算符 ; (2)主要考

9、查考生是否掌握了多继承的定义,多继承的格式基本上和单继承相同,不过在多个基类之间应该使用逗号分开,题目中错误的使用了分号,分号在 C+中是结束标志; (3)主要考查考生对于派生类的对象访问的掌握, x是类 CommonBase的成员,如果不加限制的访问就会产生二义性 ,编译程序不知道这个 x是 A类的,还是 B类的,所以必须使用作用域限制符 “:”,为了解决这个问题可以使用虚基类。 二、简单应用题( 40分) 2 【正确答案】 void fun(char *s,char t ) int i,j=0,n; n=strlen(s); for(i=0;i n;i+) if(i%2!=0j+; tj=0; 【试题解析】 在解答本题时,首先要清楚一点:那就是在字符参与数值运算时,用的是其 ASCII码值来进行计算。另外的一个考查点是判断某数是奇数的方法,即判断该数与 2的余数是否为 0。 三、综合 应用题( 30分) 3 【正确答案】 (1) for(int i=O; i PC; i+) (2) if(IsMemberOf(n) (3) PC=s.PC; 【试题解析】 本题主要考查考生对于类的成员函数的定义和拷贝初始化函数的理解。

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