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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C+机试(操作题)模拟试卷 481及答案与解析 一、基本操作题 1 请打开考生文件夹下的解决方案文件 proj1,此工程中包含程序文件main cpp,其中有 ElectricFan(“电风扇 ”)类和主函数 main的定义。程序中位于每个 “ ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 品牌:清风牌,电源:关,风速: 0 品牌:清风牌,电源:开,风速: 3 品牌:清风牌,电源:关,风速: 0 注意:只修改每个 “ ERROR*found*”下的那一行,不要改动程序中的其他内容。 #include iostream using namesp

2、ace std; class ElectricFan “电扇 ”类 char*brand; int intensity;风速: 0-关机, 1-弱, 2-中, 3-强 public: ElectricFan(const char*the_brand): intensity(0) brand=newcharstrlen(the_brand)+1; strcpy(brand, the_brand); ElectricFan( )delete brand; ERROR*found* const char*theBrand( )constreturn*brand; 返回电扇品牌 int theInte

3、nsity( )constreturn intensity; 返回风速 bool isOn( )constreturnintensity 0; 返回电源开关状态 ERROR*found* void turnOff( )intensity=1; 关电扇 void setIntensity(int inten) 开电扇并设置风速 ERROR*found* if(intensity =1&intensity =3) intensity=inten; VOid Show( ) cout “品牌: “ theBrand( ) “牌 “ ”,电源: “ (isOn( )?“开 “: “关 “) “,风速:

4、 “ theIntensity( ) endl; ; int main( ) ElectricFan fan(“清风 “); fan show( ); fan setIntensity(3); fan show( ); fan turnOff( ); fan show( ); return0; 二、简单应用题 2 请打开考生文件夹下的解决方案文件 proj2,此工程中含有一个源程序文件proj2 cpp。函数 char*GetNum(char*src, char*buf)从 src开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间 bur中。函数返回扫描的终止位置,如果 返回

5、NULL表示没有扫描到数字字符序列。 运行程序时,如果输入的一行字符序列是 ABC012XYZ378MN274WS 则输出为: Digit string1is012 Digit string2is378 Digit string3is274 注意:只在横线处编写适当代码,不要删除或移动 “ *found*”。 proj2 cpp #include iostream using namespace std; char*GetNum(char*src, char*bur) whle(*src!= 0) if(isdigit(*src)break; src+; if(*src= 0) *found*

6、 _; while(*src!= 0&isdigit (*src) *found* _; bur+; SEC+; *buf= 0; return src; int main( ) char str100, digits20; cin getline(str, 100); char*p=str; int i=1; while(p=GetNum(p, digts)!=NULL) cout “Digi tstring“ i “is“ digits endl; *found* _; return0; 三、综合应用题 3 请打开考生文件夹下的解决方案文件 proj3,其中定义了 MyString类,一个

7、用于表示字符串的类。成员函数 reverse的功能是将字符串进行 “反转 ”。例如,将字符串 ABCDEF“反转 ”后,得到字符串 FEDCBA;将字符串 ABCDEFG“反转 ”后,得到字符串 GFEDCBA。请编写成员函数 reverse。在 main函数中给出了一组测试数据,此时程序运行中应显示: 读取输入文件 -反转前 - STR1=ABCDEF STR2=ABCDEFG -反转后 - STR1=FEDCBA STR2=GFEDCBA 要求: 补充编制的内容写在 “ *333*”与 “ *666*”之间,不得修改程序的其他部分。 注意:程序 最后将结果输出到文件 out dat中,输出

8、函数 WriteToFile已经编译为obj文件,并且在本程序中调用。 mgsering h #include iostream #include cstring using namespace std; class MyString public: MyString(const char*s) str=new charstrlen(s)+1; strcpy(str, s); MyString( )delete str; ) void reverse( ); friend ostream&operator (ostream&os, const MyString&mystr) os mystr

9、str; return os; private: char*str; ; void writeToFile(char*, constMyString&); main cpp #include“mystring h“ #include fstream void MyString: reverse( ) *333* *666* int main( ) char inname128, pathname80; strcpy(pathname, “ “); sprintf(inname, “in dat“, pathname); cout “读取输入文件 n n“; ifstream infile(in

10、name); if(infile fail( ) cerr “打开输入文件失败 !“; exit(1); char buf4096; infile getline(buf, 4096); MyStringstrl(”ABCDEF”), Str2(“ABCDEFG“), Sstr3(buf); cout “-反转前 - n“; cout “STR1=“ str1 endl; cout “STR2=“ str2 endl endl; Strl reverse( ); Str2 reverse( ); Str3 reverse( ); cout “-反转后 - n“; cout “STR1=” st

11、r1 endl; cout “STR2=“ Str2 endl endl; writeToFile(pathname, str3); returnR0; 国家二级 C+机试(操作题)模拟试卷 481答案与解析 一、基本操作题 1 【正确答案】 (1)const char*theBrand( )constreturnbrand; 返回电扇品牌 (2)void turnOff( )intensity=0; 关电扇 (3)if(inten =1&inten =3)intensity=inten; 【试题解析】 (1)主要考查考生对指针的掌握情况,因为 brand是一个动态指针,水 brand表示字符

12、串的首个字符, brand表示动态数组,这里要返回动态数组存储的品牌名称。 (2)主要考查考生对成员函数的掌握情况,根据题目中类的定义中私有成员的定义: int intensity;风速: 0-关机, 1-弱, 2-中, 3-强,可知本函数要关电扇,因此在这里 intensity=0;。 (3)主要考查考生对成员函数的掌握,根据题目中函数的注释:开电扇并设置风速,可知 if语句里要判断的应该是形参 inten而不是 intensity。 二、简单应用题 2 【正确答案】 (1)return NULL (2)*buf=*src (3)i+ 【试题解析】 (1)主要考查考生对 if语句的掌握,由判

13、断条件 if(*src= 0),说明字符串 SYC为空,则返回 NULL即可。 (2)主要考查考生对 while循环语句的掌握, while语句的循环条件为 *src!=0&isdigit(*src),该条件是指,若字符串 src不为空并且 *src指向的字符为数字字符,则进行循环。题目要求把数字字符放入字符串 buf中,因此 为 *buf=*src。 (3)主要考查考生对 while循环语句的掌握,从上一行语句 cout “Digit string“ i “is“ digits endl;中可以得出,题目要求输出的 i是递增的,因此这里需添加语句 i+。 三、综合应用题 3 【正确答案】 i

14、nt length: strlen(str);把字符串 str的长度赋值给 lenth for(int i=0, j=length-1; i j; i+, j-) 从 i=0, j=length-1, i j为条件开始遍历,并把 Stri和 Strj交换 char temp=stri;给定义的临时变量 temp赋值为 stri stri=strj;给 stri赋值 strj strj=temp;给 strj赋值为 temp 【试题解析】 主要考查考生对动态数组的掌握,先看题目要求:成员函数reverse的功能是将字符串进行 “反转 ”。再由类的定义可知,字符串存放在动态数组 str中,由 strlen函数得出字符串的长度,最后一个字符的下标为 length-1,第一个字符的下标为 0,将这两个字符交换,然后 j依 次减 1同时 i依次加 1,继续交换,直到 i大于 j时停止循环即可。

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