1、二级 C+分类模拟 103 及答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC6 打开 下的源程序文件 modi1.cpp,但该程序运行有问题,请改正 main 函数中的错误,使程序的输出结果是: 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构,错误的语句在/*error*的下面。 #includeiostream.h #includeiomanip.h void main() int a3 3=1,2,3, 4,5,6, 7,8,9;
2、int *p, i; /*error* p = a; for(i=0;i9;i+) cout setw(2) *(p+i); /*error* cout setw(2) *(a+i); if(i%3=2) cout (分数:30.00)_二、程序填空题(总题数:1,分数:30.00)2.使用 VC6 打开 下的源程序文件 modi2.cpp。完成空出的函数 fun(int a,int*index),使函数输入n(100)个整数到指定数组,求该数组中最大元素的值和此元素的下标,最大元素值以函数值返回,此元素的下标通过指针形参带回调用函数。 要求函数实现以下的功能: (1)获得输入的 n 个整数;
3、 (2)把最大的数字的下标在第二个参数中输出; (3)把最大的数字作为返回值。 注意:不能修改程序的其他部分,只能修改 fun()函数。 #include iostream.h #define MAXLINE 100 int fun(int a,int *index) void main() int AMAXLINE; int index; int maxdata; maxdata = fun(A, cout “the max data is:“ maxdata “ “ “the posion is:“ index (分数:30.00)_三、程序设计题(总题数:1,分数:40.00)3.用 V
4、C6 打开 下的源程序文件 modi.3.cpp。其中定义的类并不完整,按照要求完成下列操作,将类的定义补充完整。在屏幕和程序 modi3.txt 文件中输出以下结果: Hello Test 出现异常情况 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整: (1)以追加的方式打开文件 modi3.txt,请在注释/*1*后添加适当的语句。 (2)定义一个类对象 s,请在注释/*2*后添加适当的语句。 注意:仅在函数指定位置添加语句,请勿改动主函数 main 与其他函数中的任何内容。 #includeiostream.h #includefstream using namespace
5、 std; void WriteFile(char *x) ofstream out1; /*1* out1. open (“modi3. txt“, ); out1 x “ “; out1. close (); void ClearFile() of stream out1; out1 .open (“modi3. txt“); out1.close(); class TestClass public: TestClass () cout “Hello“ endl; WriteFile (“Hello“); TestClass () cout “Test“ endl; WriteFile (
6、“Test“); ; void main () ClearFile (); try /*2* throw 1; catch (int) cout “出现异常情况“ (分数:40.00)_二级 C+分类模拟 103 答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC6 打开 下的源程序文件 modi1.cpp,但该程序运行有问题,请改正 main 函数中的错误,使程序的输出结果是: 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构,错误的语句在
7、/*error*的下面。 #includeiostream.h #includeiomanip.h void main() int a3 3=1,2,3, 4,5,6, 7,8,9; int *p, i; /*error* p = a; for(i=0;i9;i+) cout setw(2) *(p+i); /*error* cout setw(2) *(a+i); if(i%3=2) cout (分数:30.00)_正确答案:()解析:(1)p= (2)cout setw(2) *(*a+i); 答案考生文件夹 解析 从已给定源程序的 main 主函数开始入手,可以看出程序是通过数组与指针两
8、种方法输出数组值。 (1)打开 modi1.epp,调试程序,显示错误提示为第一标识下“modi1.cpp(7):error C2440:“=“:cannot convert from“int33“to“int*“”,a 为二维数组型变量,将其值赋值给 p,应该是 p 指向数组 a 的起始位置,即“p=”。 (2)程序中第 2 个标识下的“cout setw(2) *(a+i);”语句应该是输出数组 a 中元素的值,而该语句是*(a+i)指向数组第 i 个位置,要指向其值应该是*(*a+i),所以第 2 个标识下的语句改为“cout setw(2) 二、程序填空题(总题数:1,分数:30.00
9、)2.使用 VC6 打开 下的源程序文件 modi2.cpp。完成空出的函数 fun(int a,int*index),使函数输入n(100)个整数到指定数组,求该数组中最大元素的值和此元素的下标,最大元素值以函数值返回,此元素的下标通过指针形参带回调用函数。 要求函数实现以下的功能: (1)获得输入的 n 个整数; (2)把最大的数字的下标在第二个参数中输出; (3)把最大的数字作为返回值。 注意:不能修改程序的其他部分,只能修改 fun()函数。 #include iostream.h #define MAXLINE 100 int fun(int a,int *index) void m
10、ain() int AMAXLINE; int index; int maxdata; maxdata = fun(A, cout “the max data is:“ maxdata “ “ “the posion is:“ index (分数:30.00)_正确答案:()解析:int i,n; do /输入数组的大小 cout “Please input n/n“; cin n; while(n99); cout “Please input an/n“; for(i=0; in; i+)/输入数组中元素的值 cin 三、程序设计题(总题数:1,分数:40.00)3.用 VC6 打开 下的源
11、程序文件 modi.3.cpp。其中定义的类并不完整,按照要求完成下列操作,将类的定义补充完整。在屏幕和程序 modi3.txt 文件中输出以下结果: Hello Test 出现异常情况 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整: (1)以追加的方式打开文件 modi3.txt,请在注释/*1*后添加适当的语句。 (2)定义一个类对象 s,请在注释/*2*后添加适当的语句。 注意:仅在函数指定位置添加语句,请勿改动主函数 main 与其他函数中的任何内容。 #includeiostream.h #includefstream using namespace std; voi
12、d WriteFile(char *x) ofstream out1; /*1* out1. open (“modi3. txt“, ); out1 x “ “; out1. close (); void ClearFile() of stream out1; out1 .open (“modi3. txt“); out1.close(); class TestClass public: TestClass () cout “Hello“ endl; WriteFile (“Hello“); TestClass () cout “Test“ endl; WriteFile (“Test“);
13、; void main () ClearFile (); try /*2* throw 1; catch (int) cout “出现异常情况“ (分数:40.00)_正确答案:()解析:(1)将“out1.open(“modi3.txt“,);”补充完整为:out1.open(“modi3.txt“,ios_base:app); (2)添加语句:TestClass s; 答案考生文件夹 解析 本题中程序的功能是将字符串“Hello”“Test”“出现异常情况”输入到文件modi3.txt 和屏幕上。在 VC 环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的 main 主函数开始入手,可以看出程序通过调用类 TestClass 和成员函数实现各种输出操作。 (1)题目 1 要求“以追加的方式打开文件 modi3.txt“。文件输出输入方式的设置值,以 ios:app 方式是以输出方式打开文件,写入的数据添加在文件末尾,即第 1 个标识下语句补全为“out1.open(“modi3.txt“,ios_base:app):“。 (2)题目 2 要求“定义一个类对象 s”。C+中,在声明了类类型后,定义对象的一般形式:类名对象名。所以这里添加“TestClass s;”。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1