1、国家二级 C+机试(操作题)模拟试卷 311及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modi1 epp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: Hello Visual C+! Hello Visual C+! 注意:错误的语句在 *error*的下面,修改该语句即可。 #include class CMyObject public: CMyObject() *error* cout int func(int year, int month, int day) Void main() cout #include #inc
2、lude void main() char ch; fstream infile, outfile; *1* infile open(“out1 txt“); if(!infile) cout2) sum+; return sum; 【试题解析】 (1)为方便起见,先统计正常年份下,每个月的前面有多少天,可以用 switch方式查询,然后再加上本月的日子,很快便得到了这一天是属于这一年的第几天。 (2)闰年的判断方法为: if(year 400=0(year 4=0 year 100!=0), if语句为真则为闰年,二月之后的日期后需要加一天。 三、综合应用题 3 【正确答案】 (1)将 “i
3、nfile open(“out1 txt“); ”补充完整为: infile open(“out1 txt“, ios: in); (2)将 “outfile open(“out2 txt“); ”补充完整为: outfile open(“out2 txt“, ios: out); (3)将 “while()”补充完整为: while(infile get(ch) (4)添加语句: outfilech; 【试题解析】 (1)题目 1要求 “以输入方式打开文件 out1 txt”。在 C+中调用文件流的成员函数 open的格式为,文件流类 opent(“文件名 “, ios: in),所以第1个
4、标识下语句就该为 “infile open(“out1 txt“, ios: in); ”。 (2)题目 2要求 “以输出方式打开文件 out2 txt”。同理第 2个标识下修改为“outfile open(“out2 txt“, ios: out); ”。 (3)题目 3要求 “从文件中获得一个字符,判断是否结束 ”。程序中的 “while()”循环判断语句中缺少从文件中获得的字符,所以这里补全 while循环判断条件,即“while(infile getqch)”。 (4)题目 4要求 “把获得的字符输出到文件中 ”。在 C+中,用流插入运算符为“”,所以根据题干中的要求在第四个标识下补全写入文件的流操作语句,即“outfilech; ”。