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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】国家二级C++机试(操作题)模拟试卷349及答案解析.doc

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

2、asspublic: NyClass():count(0)cout”This object is”;)ERROR*found* void Inc()const tout”no”+countend1;private:ERROR*found* int count=0; ; int main() NyClass*obj=new NyClass; ERROR*found* *objInc(); return 0; (分数:2.00)_2.请使用 VC6或使用【答题】菜单打开考生文件夹 projl下的工程 proj1,该工程中含有一个源程序文件proj1epp。其中位于每个注释“ERROR*found*

3、”之后的一行语句有错误。请改正这些错误,使程序的输出结果为:12 3 4 5 6 7 8 9 10 注意:只能修改注释“ERROR*found*”的下一行语句,不要改动程序中的其他内容。proj1cpp#includeiostreamusing namespace std;class MyClasspublic: MyClass(int len) array=new intlen; arraySize=len; for(int i=0;iarraySize;i+) arrayi=i+1; 一 MyClass() ERROR*found* delete arrayi; ) void Print(

4、)const for(int i=0;iarraySize;i+)ERROR*found* cinarrayi”; Coutendl; private: int*array; int arraySize; ); int main() ERROR*found*MyClass obj;objPrint();return 0;(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)3.请使用 VC6或使用【答题】菜单打开考生文件夹 pmj2下的工程 pmj2,该工程中包含程序文件maincpp,其中有类 Mammal(“哺乳动物”)、类 Elephant(“大象”)、类 Nome(“老鼠”)

5、的定义和主函数 main的定义。请在横线处填写适当的代码并删除横线,以实现上述定义。此程序的正确输出结果应为: ELEPHANT MOUSE 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。#includeiostreamusing namespace std;enum category ENPTY,ELEPHANT,NOUSE);char*output=”ENPTY”,”ELEPHANT”,”NOUSE”;ClasS Nammalpublic: Nammal(char*str) *found*name=new_strcpy(name,str);

6、 virtual char*WhoAmI()=0; virtualNammal()deletename; void Print()toutWhoAmI()end1;)private: char*name;class Elephant:public Nammalpublic:*found*Elephant(char*str):_ char*WhoAmI()return outputELEPHANT;);class Mouse:public Mammalpublic: Mouse(char*str):Mammal(str)*found*char*WhoAmI()_ ; int main() *fo

7、und*Mammal*pm=new_(”Huanhuan”); pm-Print(); delete pm; pm=new Mouse(”Micky”); pm-Print(); delete pm; return 0; (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)4.使用 VC6打开考生文件夹 proj3下的工程 proj3,其中声明了 MyString类,它是一个用于表示字符串的类。成员函数 reverse将字符串反转,例如“abcde”反转后就成了“edcba”。请补充完整函数reverse。在 main函数中给出了一个测试数据,此情况下程序的输出应该是: This

8、is a string gnirts a si sihT 注意:只需在函数 reverse的*333*和*666*之间填入若干语句,不要改动程序中的其他内容。MyStringh#includeiostreamusing namespace std;char*dup(const char*);class MyString char*str;public: MyString(const char*s=”):str(dup(S) MyString(const MyString strcpy(P,S); return p; void MyString:reverse() *333* *666* voi

9、d writeToFile(const char*path); writetoFilecpp #includefstream #include”MyStringh” void writeToFile(const char*path) char full50; strcpy(full,path); strcat(full,”outdat”);ofstream outfile(full); if(outfilefail()cerr”打开输出文件失败!”;return;) MyString m1=”This is another string”; MyString m2(”字符串反转演示”); ou

10、tfilemlm2; m1reverse(); m2reverse(); outfilemlm2; outfileclose(),(分数:2.00)_国家二级 C+机试(操作题)模拟试卷 349答案解析(总分:8.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.请使用 VC6或使用【答题】菜单打开考生文件夹 pmj1下的工程 pmjl,此工程中含有一个源程序文件pmj1cpp。其中位于每个注释“ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: This object is no1 注意:只修改注释“ERROR *found*”

11、的下一行语句,不要改动程序中的其他内容。proj1cpp#includeiostreamusing namespace std;class NyClasspublic: NyClass():count(0)cout”This object is”;)ERROR*found* void Inc()const tout”no”+countend1;private:ERROR*found* int count=0; ; int main() NyClass*obj=new NyClass; ERROR*found* *objInc(); return 0; (分数:2.00)_正确答案:(正确答案:

12、(1)void Inc() (2)int count; (3)obj 一Inc();)解析:解析:(1)考查考生对 const的掌握,在 Inc函数的函数体cout“no”+count”,而不能使用“”。2.请使用 VC6或使用【答题】菜单打开考生文件夹 projl下的工程 proj1,该工程中含有一个源程序文件proj1epp。其中位于每个注释“ERROR*found*”之后的一行语句有错误。请改正这些错误,使程序的输出结果为:12 3 4 5 6 7 8 9 10 注意:只能修改注释“ERROR*found*”的下一行语句,不要改动程序中的其他内容。proj1cpp#includeiost

13、reamusing namespace std;class MyClasspublic: MyClass(int len) array=new intlen; arraySize=len; for(int i=0;iarraySize;i+) arrayi=i+1; 一 MyClass() ERROR*found* delete arrayi; ) void Print()const for(int i=0;iarraySize;i+)ERROR*found* cinarrayi”; Coutendl; private: int*array; int arraySize; ); int mai

14、n() ERROR*found*MyClass obj;objPrint();return 0;(分数:2.00)_正确答案:(正确答案:deletearray; COUtarrayi解析:解析:(1)语法错误,使用 delete语句删除一个指针时,直接把指针变量的名称放在 delete后面即可。 (2)考查考生对输入、输出语句的运用。使用 cout进行数据输出操作,一般格式为:COUtExpr;。其中,Expr 代表一个表达式,“”称为插入运算符,该语句的含义是,将表达式Expr的值输出到屏幕上。使用 cin进行数据输入操作,一般格式为:cinvar;。其中,vat 代表一个变量,“”称为提

15、取运算符,该语句的含义是,将用户输入的数据保存到 var中。 (3)考查语句的初始化,我们来看 MyClass类的构造函数: MyClass(lnt len) array=new intlen; 给数组动 态分配空间,大小为 len arraysize=len; 赋值 for(int i=0;iarraySize;i+) arrayi=i+1; 循环给数组赋 值,从 1到 10 二、简单应用题(总题数:1,分数:2.00)3.请使用 VC6或使用【答题】菜单打开考生文件夹 pmj2下的工程 pmj2,该工程中包含程序文件maincpp,其中有类 Mammal(“哺乳动物”)、类 Elephan

16、t(“大象”)、类 Nome(“老鼠”)的定义和主函数 main的定义。请在横线处填写适当的代码并删除横线,以实现上述定义。此程序的正确输出结果应为: ELEPHANT MOUSE 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。#includeiostreamusing namespace std;enum category ENPTY,ELEPHANT,NOUSE);char*output=”ENPTY”,”ELEPHANT”,”NOUSE”;ClasS Nammalpublic: Nammal(char*str) *found*name=n

17、ew_strcpy(name,str); virtual char*WhoAmI()=0; virtualNammal()deletename; void Print()toutWhoAmI()end1;)private: char*name;class Elephant:public Nammalpublic:*found*Elephant(char*str):_ char*WhoAmI()return outputELEPHANT;);class Mouse:public Mammalpublic: Mouse(char*str):Mammal(str)*found*char*WhoAmI

18、()_ ; int main() *found*Mammal*pm=new_(”Huanhuan”); pm-Print(); delete pm; pm=new Mouse(”Micky”); pm-Print(); delete pm; return 0; (分数:2.00)_正确答案:(正确答案:(1)charstrlen(str)+1; (2)Mammal(str) (3)return outputMOUSE; (4)Elephant)解析:解析:(1)主要考查分配空间,程序要给 name分配空间,由下一条语句中 strcpy(name,str)可知程序要把字符串 str复制给 nam

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

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

21、容。MyStringh#includeiostreamusing namespace std;char*dup(const char*);class MyString char*str;public: MyString(const char*s=”):str(dup(S) MyString(const MyString strcpy(P,S); return p; void MyString:reverse() *333* *666* void writeToFile(const char*path); writetoFilecpp #includefstream #include”MyStr

22、ingh” void writeToFile(const char*path) char full50; strcpy(full,path); strcat(full,”outdat”);ofstream outfile(full); if(outfilefail()cerr”打开输出文件失败!”;return;) MyString m1=”This is another string”; MyString m2(”字符串反转演示”); outfilemlm2; m1reverse(); m2reverse(); outfilemlm2; outfileclose(),(分数:2.00)_正确答案:(正确答案:VOid MyString:reverse() int i,j; char ch; int len=strlen(str); for(i=0,j=len 一 1;i解析:解析:程序定义了 MyString类,它包含一个成员:str 字符指针;默认构造函数和复制构造函数通过 dup()函数,动态分配地址 p将参数拷贝到 p指向的内存空间,再使用 p初始化 str;show()成员函数将 str指向的字符串输出;reverse()成员函数将 str指向的字符串反转;重载的

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