欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:497578       资源大小:34.50KB        全文页数:8页
    • 资源格式: DOC        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机类试卷]国家二级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时停止循环即可。


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开