【计算机类职业资格】二级C++机试-157及答案解析.doc

上传人:花仙子 文档编号:1324336 上传时间:2019-10-17 格式:DOC 页数:7 大小:35.50KB
下载 相关 举报
【计算机类职业资格】二级C++机试-157及答案解析.doc_第1页
第1页 / 共7页
【计算机类职业资格】二级C++机试-157及答案解析.doc_第2页
第2页 / 共7页
【计算机类职业资格】二级C++机试-157及答案解析.doc_第3页
第3页 / 共7页
【计算机类职业资格】二级C++机试-157及答案解析.doc_第4页
第4页 / 共7页
【计算机类职业资格】二级C++机试-157及答案解析.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、二级 C+机试-157 及答案解析(总分:100.00,做题时间:90 分钟)一、1改错题(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件夹下的源程序文件 1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕中。注意:不要改动 main 函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。试题程序:#includeiostream.hvoid main()int i=0;char str120;cout“Enter a string end with?.

2、“end1;/*error*cin.getline(str,120);/*error*while(str)/*岳*error*if(stri=a)stri=stri-a+A;i+;coutstrend1;return;(分数:30.00)填空项 1:_填空项 1:_填空项 1:_二、2简单应用题(总题数:1,分数:40.00)1.使用 VC+6.0 打开考生文件夹下的源程序文件 2.cpp。完成函数 fun(char *s1,char *s2)的空出部分。函数 fun(char *s1,char *s2)的功能是将在字符串 s1 中下标为偶数的字符,紧随其后重复出现一次,放在一个新串 s2 中

3、,s2 中字符按原字符串中字符的顺序排列。(注意 0 为偶数)例如:当 s1 中的字符串为“abcdef”时,s2 中的字符串应为“aaccee”。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:#includeiostream.hvoid fun(char *s1,char *s2)void main()char sl100,s2l00;cout“Please enter string string:“end1;cin.getline(s1,100);fun(s1,s2);cout“The result is:“s2end1;return;(分数:40.00)

4、_三、3综合应用题(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件夹下的源程序文件 3.cpp,其中定义了用于表示日期的类 Date,但类 Date 的定义并不完整,按要求完成下列操作,将类的定义补充完整。(1)定义私有成员变量 year、month、day,分别表示年、月、日,类型为 int。请在注释 1 后添加适当的语句。(2)完成构造函数,分别给 year、month、day 赋值,请在注释 2 后添加适当的语句。(3)完成重载符号“+=”的定义,请在注释 3 后添加适当的语句。(4)完成 print 打印函数,输出到屏幕和文件的格式相同,请在注释 4 后添加适当的语句。

5、注意:仅在函数指定位置添加语句,请勿改动主函数 main 与其他函数中的任何内容。程序正常运行,输出的结果为 2008 年 11 月 8 日。试题程序:#includeiostream.h#includefstream#includeiomanip#includecmathusing namespace std;void WriteFile(int c)ofstream out1;out1.open(“3.txt“,ios_base:app);out1c;out1.close();void WriteFile(char *str)ofstream out1;out1.open(“3.txt“,

6、ios_base:app);out1str;out1.close();void ClearFile()ofstream out1;out1.open(“3.txt“);out1.close();class Datepublic:Date(int y,int m,int d)/*1*void print();/*2*month+=m;int i=month/12;int j=month%12;if(j=0)year+=(i-1);month=12;elseyear+=i;month=j;return *this;private:/*3*;void Date:print()/*4*WriteFiI

7、e(year);writeFile(“年“);WriteFile(month);WriteFile(“月“);WriteFile(day);WriteFile(“日“);int main()ClearFile();Date Oly_day(2008,8,8);Oly_day+=3;Oly_day.print();return 0;(分数:30.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_二级 C+机试-157 答案解析(总分:100.00,做题时间:90 分钟)一、1改错题(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件夹下的源程序文件 1.cpp。本程序要求

8、输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕中。注意:不要改动 main 函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。试题程序:#includeiostream.hvoid main()int i=0;char str120;cout“Enter a string end with?.“end1;/*error*cin.getline(str,120);/*error*while(str)/*岳*error*if(stri=a)stri=stri-a+A;i+;coutstr

9、end1;return;(分数:30.00)填空项 1:_ (正确答案:应改为“cin.getline(str,120,?);”。)解析:填空项 1:_ (正确答案:应改为“while(stri)”。)解析:填空项 1:_ (正确答案:应改为“if(stri=astri=z)”。)解析:解析 本题中要求以输入字符“?”为结束符,用于字符输入的流成员函数 getline 函数读入一行字符,格式为“cin.getline(字符数组,字符个数,终止标志字符)”,所以第 1 处改为“cin.getline(str,120,?);”。第 2 处的“while(str)”语句应该是判断字符串 str 中的

10、每一个字符是否为结束符,若不是结束符,在循环中判断每一个字符是否为小写,若为小写,则转换。所以应该修改为“while(stri)”。第 3 处的“if(stri=a)”语句是判断字符 stri是否为小写字符,而现有的语句只是判断字符是否大干a,但是小 g 字符应该是a到z,所以修改为“if(stri)=astri=z)”。二、2简单应用题(总题数:1,分数:40.00)1.使用 VC+6.0 打开考生文件夹下的源程序文件 2.cpp。完成函数 fun(char *s1,char *s2)的空出部分。函数 fun(char *s1,char *s2)的功能是将在字符串 s1 中下标为偶数的字符,

11、紧随其后重复出现一次,放在一个新串 s2 中,s2 中字符按原字符串中字符的顺序排列。(注意 0 为偶数)例如:当 s1 中的字符串为“abcdef”时,s2 中的字符串应为“aaccee”。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:#includeiostream.hvoid fun(char *s1,char *s2)void main()char sl100,s2l00;cout“Please enter string string:“end1;cin.getline(s1,100);fun(s1,s2);cout“The result is:“s2

12、end1;return;(分数:40.00)_正确答案:(int i;for(i=0;s1i!=0;i+)/循环判断每一个字符if(i%2=0) /判断字符串中下标为偶数位置s2i=s1i;s2i+1=s1i;s2i+2=/0; /新串添加尾符)解析:解析 判断一个字符串中的某一字符下标 i 是否为偶数,可用“i%2=0”来判断。对串 s1 中各个字符串逐个进行考查,满足条件的字符就顺序放在新串 s2 中,否则就不存放。所有字符处理完成后,记得在新串 s2 的末尾加上结束符“/0”。三、3综合应用题(总题数:1,分数:30.00)使用 VC+6.0 打开考生文件夹下的源程序文件 3.cpp,其

13、中定义了用于表示日期的类 Date,但类 Date 的定义并不完整,按要求完成下列操作,将类的定义补充完整。(1)定义私有成员变量 year、month、day,分别表示年、月、日,类型为 int。请在注释 1 后添加适当的语句。(2)完成构造函数,分别给 year、month、day 赋值,请在注释 2 后添加适当的语句。(3)完成重载符号“+=”的定义,请在注释 3 后添加适当的语句。(4)完成 print 打印函数,输出到屏幕和文件的格式相同,请在注释 4 后添加适当的语句。注意:仅在函数指定位置添加语句,请勿改动主函数 main 与其他函数中的任何内容。程序正常运行,输出的结果为 20

14、08 年 11 月 8 日。试题程序:#includeiostream.h#includefstream#includeiomanip#includecmathusing namespace std;void WriteFile(int c)ofstream out1;out1.open(“3.txt“,ios_base:app);out1c;out1.close();void WriteFile(char *str)ofstream out1;out1.open(“3.txt“,ios_base:app);out1str;out1.close();void ClearFile()ofstre

15、am out1;out1.open(“3.txt“);out1.close();class Datepublic:Date(int y,int m,int d)/*1*void print();/*2*month+=m;int i=month/12;int j=month%12;if(j=0)year+=(i-1);month=12;elseyear+=i;month=j;return *this;private:/*3*;void Date:print()/*4*WriteFiIe(year);writeFile(“年“);WriteFile(month);WriteFile(“月“);Wr

16、iteFile(day);WriteFile(“日“);int main()ClearFile();Date Oly_day(2008,8,8);Oly_day+=3;Oly_day.print();return 0;(分数:30.00)填空项 1:_ (正确答案:应添加“year=y;month=m;day=d;”。)解析:填空项 1:_ (正确答案:应添加“Dateoperator+=(int m)”。)解析:填空项 1:_ (正确答案:应添加“int year,month,day;”。)解析:填空项 1:_ (正确答案:应添加“coutyear“年“month“月“day“日“end1;

17、”。)解析:解析 本题中第 3 处要求定义私有成员变量 year、month、day”。在 C+程序的 private 区域中添加变量 year、month、day 的定义,即在第 3 处添加“im year,month,day;”。第 1 处要求“完成构造函数,分别给 year、month、day 赋值”。在程序中“Date(int v,int m,im d)”的构造函数中添加给 year、month、day 赋值的语句,即在第 1 处添加“year=y;month=m;day=d;”。第 2 处要求“完成重载符号“+=”的定义”。在 C+中,运算符重载的定义方法是定义一个重载运算符的函数,格式为函数 operator+重载运算符号+”,所以这里补全“Dateoperator+=(int m)”。第 4 处要求“完成函数 print()打印函数”。在 C+中的 print 函数中补全其打印功能,即在第四个标识下添加“coutyear“年“month“月“day“日“end1”。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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