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

上传人:testyield361 文档编号:497432 上传时间:2018-11-28 格式:DOC 页数:6 大小:34KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷34及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷34及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷34及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷34及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷34及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级 C+机试(操作题)模拟试卷 34及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil epp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为: Constructor,i=0, Destructor 注意:错误的语句在 *error*的下面,修改该语句即可。 1 #include 2 class cobj 3 i 4 int i ; 5 public: 6 CObj(); 7 void display(); 8 -CObj(); 9 ; 10 *error* 11 cobj: cobj() 12 13 cout 2 void sho

2、w() 3 4 5 6 int main() 7 8 show(); 9 return 0; 10 三、综合应用题 3 使用 VC6打开源程序文件 modi3 cpp。其中类 TestClass用于把文件输出到屏幕,然后进行文件的 分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。 此程序将 int tXt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件 outl txt和 out2 txt中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释

3、*1*后添加适当的语句。 (2)把获得的输入文件的内容存储到 buf中,并且用 len记录下文件的长 度。请在注释 *2*后添加适当的语句。 (3)将输入文件的后一半内容存储在第二个文件中,请在注释*3*后添加适当的语句。 (4)使用文件流对象打开输入文件 in txt,请在注释 *4*后添加适当的语句。 注意:仅在函数指定位置添加语句,请勿改动主函数 main与其他函数中的任何内容。 1 #include 2 #include 3 #include 4 class TestClass 5 6 public: 7 TestClass fchar*fileName) 8 9 len=0, 10

4、fstream infile ; 11 infile open(fileName, ios: in); 12 char ch; 13 *1* 14 while() 15 16 cout: (),因此第 1个标识下应改为 CObj: CObj(),默认构造函数没有参数。 (2)第 2个标识下 “CObj: display()”,从其后的语句看,这是在类外实现 CObi函数,因此也有作用域运算符使用错误问 题, display()函数返回值为 void,因此第2个标识下应改为 void CObj: display()。 (3)第 3个标识下 “CObj: CObj()”,显然这里是在类外实现析构函

5、数,析构函数是一个特殊的函数,它的名字和类名相同,并在前面加 “ ”字符,用来与构造函数加以区别,因此第 3个标识下应改为 CObj: CObj()。 二、简单应用题 2 【正确答案】 1 for(int i=I ; i5 ; i+) 2 for(int J=l ; j5 ; J+) 3 for(int 1=l ; 15 ; 1+) 4 for(int k=1 ; k5 ; k+) 5 6 if(i!=j&J!=k&i!=k& i!=l&J!=l&k!=1)条件判断 7 coutijlk ;输出显示 8 ) 9 coutendl; 【试题解析】 函数 show()的功能是将 1、 2、 3、

6、4四个数字组成互不相同且无重复数字的四位数,并打印在 屏幕上,可用循环来查找符合条件的四位数,用每一层循环的循环变量表示 4位数当中的一个数,因此需 4重循环,在最内层循环判断是否满足条件,满足条件则输出。 解题思路 (1)四重循环变量分别为 i、 i、 1和 k,分别从 1变化至 4,分别表示四位数的第一、第二、第三和第四位数。 (2)在最内层循环内,如果 i、 j、 k和 1互不相同则 i、 j、 k和 1表示的四位数互不相同,把 i、 j、 k和 1打印在屏幕上。 三、综合应用题 3 【正确答案】 (1)将 “while()”完整为: while(infile get(ch) (2)添加

7、语句: buflen+=ch; (3)添加语句: OUtfile2bufi+; (4)将 “Testclass Fsp(); ”完整为: Testclass Fsp(“modi3 txt“); 【试题解析】 在 VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的 main主函数开始入手,可以看出程序通过调用类 TestClass及其成员函数实现各种输出操作。 解题思路 (1)题目 1要求 “从输入文件中获得一个字符,并判断是否到文件结尾 ”。程序中的 “while()”循环判断语句中缺少从文件中获得的字符,所以这里补全 while循环判断条

8、件,即 “while(infile get(ch)”。 (2)题目 2要求 “把获得的输入文件的内容存储到 buf中,并且用 len记录下文件的长度。 ”所以为 buf分配空间,即 “buflen+=ch; ”。 (3)题目 3要求 “将输入文件的后一半内容存储在第二个文件中。 ”在 C+中,用流插入运算符为 “”,所将 buf中存放的数据存入文件 outfile2,以根据题干中的要求,即这里补全 “outfile2bufi+; ”。 (4)题目 4要求 “使用文件流对象打开输入文件 modi3 txt。 ”程序应该是调用类“TestClass”中的成员函数 “split”。类的构造函数定义中存在参数 char*fileName,所以修改注释下的语句缺少参数。即 “TestClassFsp(”modi3 txt”); ”0

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

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

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