计算机二级考试C++上机考试试题.docx

上传人:夜** 文档编号:88159168 上传时间:2023-04-23 格式:DOCX 页数:9 大小:15.23KB
返回 下载 相关 举报
计算机二级考试C++上机考试试题.docx_第1页
第1页 / 共9页
计算机二级考试C++上机考试试题.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《计算机二级考试C++上机考试试题.docx》由会员分享,可在线阅读,更多相关《计算机二级考试C++上机考试试题.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 计算机二级考试C+上机考试试题 一、程序改错题 使用VC+6.0翻开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入完毕,最终把结果输出到屏幕中。 留意:不要改动main函数,不能增加或删除行,也不能更改程序的构造,错误的语句在/*error*的下面。 试题程序: #include voidmain() inti=0; charstr120; coutEnterastringendwith?. /*error* cin.getline(str,120); /*error* while(str)

2、/*error* if(stri)=a) stri=stri-a+A; i+; cout return; 二、简洁应用题 使用VC+6.0翻开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出局部。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复消失一次,放在一个新串s2中,s2中字符按原字符串中字符的挨次排列。(留意0为偶数) 例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。 留意:不要改动main函数,不得增行或删行,也不得更改程序的构造。 试题程序: #include

3、(iostream.h) voidfun(char*s1,char*s2) voidmain() charsi100】,s2【1OO; coutPleaseenterstringstrin9: cin.getline(s1,100); fun(s1,s2); coutTheresultis: return; 三、综合应用题 使用VC+6.0翻开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成以下操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day。分别表示年、月、日,类型为int。请在解释1后添加适当的语句

4、。 (2)完成构造函数,分别给year、month、day赋值,请在解释2后添加适当的语句。 (3)完成重载符号“十=”的定义,请在解释3后添加适当的语句。 (4)完成print打印函数,输出到屏幕和文件的格式一样,请在解释4后添加适当的语句。 留意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。 程序正常运行,输出的结果为2023年11月813。 试题程序: #include(iostream.h) #include(fstream) #include(iomanip) #include usingnamespacestd; voidWriteFile(intc)

5、ofstreamout1; out1.open(3.txt,ios_base:app); out1 out1.close(); voidWriteFile(char*str) ofstreamoutl; out1.open(3.txt,ios_base:app); out1 out1.close(); voidClearFile() ofstreamout1; out1.open(3.txt); out1.close(); classDate public: Date(inty,intm,intd) /*1* voidprint(); /*2* month+=m; inti=month/12:

6、 intj=month; if(j=0) year+=(i-1); month=12; else year+=i: month=j; return*this; private: /*3* ; voidDate:print() /*4* WriteFile(year): WriteFile(年); WriteFile(month); WriteFile(月); WriteFile(day); WriteFile(日); intmain() ClearFile(); DateOly_day(2023,8,8); Olyday+=3: Oly_day.print(); return0; 上机考试试题

7、答案与解析 一、程序改错题 (1)应改为“ein.getline(str,120,?);”。 (2)应改为“while(stri)”。 (3)应改为“if(stri=astri=2)”。 【解析】此题中要求以输入字符“?”为完毕符,用于字符输入的流成员函数getline函数读入一行字符,格式为“cin.getline(字符数组,字符个数,终止标志字符)”,所以第1处改为“cin.getline(str,120,?);”。第2处的“while(str)”语句应当是推断字符串str中的每一个字符是否为完毕符,若不是完毕符,在循环中推断每一个字符是否为小写,若为小写,则转换。所以应当修改为“whil

8、e(stri)”。第3处的“if(stri=a)”语句是推断字符stri是否为小写字符,而现有的语句只是推断字符是否大于a,但是小写字符应当是a到2,所以修改为“if(stri=astri=z)”。 二、简洁应用题 inti; for(i=0;s1i!=0;i+)/循环推断每一个字符 if(i%2=0)/推断字符串中下标为偶数位置 s2i=s13; s2i+1=s1i; s2i+2=;/新串添加尾符 【解析】推断一个字符串中的某一个字符下标i是否为偶数,可用“i%2=0”来推断。对串s1中各个字符串逐个进展考察,满意条件的字符就挨次放在新串s2中,否则就不存放。全部字符处理完成后,记得在新串s

9、2的末尾加上完毕符“。 三、综合应用题 (1)应添加“year=y;month=m;day=d;”。 (2)应添加“Dateoperator+=(intm)”。 (3)应添加“intyear,month,day;”。 (4)应添加“cout 【解析】此题中第1处要求“完成构造函数,分别给year、month、day赋值”。在程序中“Date(inty,intm,intd)”的构造函数中添加给year、month、day赋值的语句,即在第1处添加“year=y;month=m;day=d;”。第2处要求“完成重载符号+=的定义”。在C+中,运算符重栽的定义方法是定义一个重载运算符的函数,格式为函数operator+重载运算符号+,所以这里补全“Dateoperator+=(intm)”。第3处要求“定义私有成员变量year、month、day”。在C+程序的private区域中添加变量year、month、day的定义,即在第3处添加“intyear,month,day;”。第4处要求“完成函数print()打印函数”。在C+中的print函数中补全其打印功能,即在第四个标识下添加“eout

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁