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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C+机试(操作题)模拟试卷 349及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 pmj1下的工程 pmjl,此工程中含有一个源程序文件 pmj1 cpp。其中位于每个注释 “ ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: This object is no 1 注意:只修改注释 “ ERROR *found*”的下一行语句,不要改动程序中的其他内容。 proj1 cpp #include using namespace std; class NyClass public: NyClass(): count

2、(0)cout using namespace std; enum category ENPTY, ELEPHANT, NOUSE); char*output=”ENPTY”, ”ELE PHANT”, ”NOUSE”; ClasS Nammal public: Nammal(char*str) *found* name=new_ strcpy(name, str); virtual char*WhoAmI()=0; virtualNammal()deletename; void Print()toutPrint(); delete pm; pm=new Mouse(”Micky”); pm-

3、Print(); delete pm; return 0; 三、综合应用题 4 使用 VC6打开考生文件夹 proj3下的工程 proj3,其中声明了 MyString类,它是一个用于表示字符串的类。成员函数 reverse将字符串反转,例如 “abcde”反转后就成了 “edcba”。请补充完整函数 reverse。在 main函数中给出 了一个测试数据,此情况下程序的输出应该是: This is a string gnirts a si sihT 注意:只需在函数 reverse的 *333*和*666*之间填入若干语句,不要改动程序中的其他内容。 MyString h #include

4、using namespace std; char*dup(const char*); class MyString char*str; public: MyString(const char*s=”): str (dup(S) MyString(const MyString&m): str (dup(m str) 一 MyString()f deletestr; ) void reverse(); void show(ostream&os=cout)const OS #include”MyString h” void writeToFile(const char*path) char ful

5、l50; strcpy(full, path); strcat(full, ”out dat”); ofstream outfile(full); if(outfile fail()cerrInc(); 【试题解析】 (1)考查考生对 const的掌握,在 Inc函数的函数体cout”,而不能使用 “ ”。 2 【正确答案】 deletearray; COUtvar;。其中, vat代表一个变量, “”称为提取运算符,该语句的含义是,将用户输入的数据保存到 var中。 (3)考查语句的初始化,我们来看 MyClass类的构造函数: MyClass(lnt len) array=new intl

6、en; 给数组动 态分配空间,大小为 len arraysize=len; 赋值 for(int i=0; iarraySize; i+) arrayi=i+1; 循环给数组赋 值,从 1到 10 二、简单应用题 3 【正确答案】 (1)charstrlen(str)+1; (2)Mammal(str) (3)return outputMOUSE; (4)Elephant 【试题解析】 (1)主要考查分配空间,程序要给 name分配空间,由下一条语句中strcpy(name, str)可知程序要把字符串 str复制给 name,因 此要分配的空间大小为 strlen(str)+1。 (2)主要

7、考查考生对构造函数的掌握,因为 Elephant类是 Mammal类的派生类,所以其构造函数要使用成员列表先对 Mammal类初始化。 (3)主要考查考生对枚举类型的掌握,先看程序: enumcategoryEMPTY,ELEPHANT, MOUSE。再参考 Elephant类中的 WhoAmI函数:char*WhoAmI()return outputELEPHANT; 。可知这里要填写的返回语句为:return outputMOUSE;。 (4)主要考查考生对派生类的掌握,题目要求输出: ELEPHANT MOUSE 可知,要先调用 Elephant类的 WhoAmI函数,因此给指针 pm分

8、配 Elephant类空间。 三、综合应用题 4 【正确答案】 VOid MyString: reverse() int i, j; char ch; int len=strlen(str); for(i=0, j=len一 1; ij; i+, j-) ch=stri; stri =strj; strj =ch; 【试题解析】 程序定义了 MyString类,它包含一个成员: str字符指针;默认构造函数和复制构造函数通过 dup()函数,动态分配地址 p将参数拷贝到 p指向的内存空间,再使用 p初始化 str; show()成员函数将 str指向的字符串输出; reverse()成员函数将

9、 str指向的字符串反转;重载的 运算符函数调用形参 m对象的 show()函数输出 str指向的字符串。 main()函数首先构造一个 MyString类对象 m1,构造过程中传入字符串 “This is a string”,所以 m1对象中的 str指向一个动态分配的内存空间,该段内存存放拷贝的字符串 “This is a string”,输出 m1后;再调用 m1 reverse()函数,将 str指向的字符串进行反转,再输出 m1,题意要求我们完成 reverse()成员函数的定义,完成反转字符串的功能。 由题意,我们仅有的信息就是 str指向一个字符串,它是 char宰类型,需要对str指向的字符串进行反转,需要获得字符串的长度,然后将首尾字符进行交 换,直到交换到中间字符串为止,所以我们定义两个变量 i、 j,表示元素下标,分别从首 (i=0)和尾 (长度一 1)向中间遍历该字符串,每次遍历,首先判断 i是否小于 j,若i小于 j则将 i和 j下标对应的字符进行交换,交换完成后 i自增 1, j自减 1,直到i不小于 j为止。

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