【计算机类职业资格】二级C++-78 (1)及答案解析.doc

上传人:arrownail386 文档编号:1324142 上传时间:2019-10-17 格式:DOC 页数:3 大小:38KB
下载 相关 举报
【计算机类职业资格】二级C++-78 (1)及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】二级C++-78 (1)及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】二级C++-78 (1)及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、二级 C+-78 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、B程序改错题/B(总题数:1,分数:30.00)1.使用 VC+6.0打开下的源程序文件 1.cpp,该程序运行有问题,请改正 main函数中的错误,使程序的输出结果为: number=l number=10 number=100 注意:不要改动 main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。 试题程序: #includeiostream.h class TC public: TC(int i) number=i; void SetNumber(int m) numbe

2、r=m; int GetNumber()const return number; void Print() const cout“number=“numberendl; private: int number; ; void main() /*error* TC obj1; obj1.Print(); TC obj2(3); /*error* obj1.number=10; /*error* TC.SetNumber(100); obj1.Print(); obj2.Print(); (分数:30.00)_二、B简单应用题/B(总题数:1,分数:30.00)2.使用 Vc+6.0打开下的源程序

3、文件 2.cpp。完成 fun函数,其功能是求出 M行 N列二维数组每行元素中的最小值,并计算它们的和,通过形参传回主函数并输出。 注意:不能修改程序的其他部分,只能修改fun函数。 试题程序: #includeiostream.h #define M 2 #define N 4 void fun(int aMN, int *sum) void main() int xMN=7, 6, 5, 2, 4, 2, 8, 3); int s; fun(x, coutsendl; return; (分数:30.00)_三、B综合应用题/B(总题数:1,分数:40.00)3.使用 VC+6.0打开下的源

4、程序文件 3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类 TC1的成员函数 seta的定义,定义 seta对象,x 为 int类型,请在注释 1后添加适当的语句。 (2)完成类 TC3多继承类 TC1和 TC2的定义,请在注释 2后添加适当的语句。 (3)定义类 TC3中的私有成员 c为 int型,请在注释 3后添加适当的语句。 (4)完成 setc中对基类的变量 a的赋值,请在注释 4后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #includediostream.h class TC1 i

5、nt a; public: /*1* return a=x; void showa() coutaendl; ; class TC2 int b; public: void setb(int x) b=x; void showb() coutbendl; ; /*2* private: /*3* public: void setc(int x, int y, int z) c=z; /*4* setb(y); void showc() coutcendl; ; void main() TC3 c; c.seta(5); c.showa(); c.setc(5, 7, 4); c.showc()

6、; (分数:40.00)_二级 C+-78 (1)答案解析(总分:100.00,做题时间:90 分钟)一、B程序改错题/B(总题数:1,分数:30.00)1.使用 VC+6.0打开下的源程序文件 1.cpp,该程序运行有问题,请改正 main函数中的错误,使程序的输出结果为: number=l number=10 number=100 注意:不要改动 main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。 试题程序: #includeiostream.h class TC public: TC(int i) number=i; void SetNumber(

7、int m) number=m; int GetNumber()const return number; void Print() const cout“number=“numberendl; private: int number; ; void main() /*error* TC obj1; obj1.Print(); TC obj2(3); /*error* obj1.number=10; /*error* TC.SetNumber(100); obj1.Print(); obj2.Print(); (分数:30.00)_正确答案:(答案考生文件夹(1)应改为“TC obj1(1);”

8、。(2)应改为“obj1.SetNumber(10);”。(3)应改为“obj2.SetNumber(100);”。)解析:解析 本题第 1处的“TC obj1;”语句是声明 TC类的对象 obj1,根据 TC类构造函数的定义TC(int i),存在整型参数,并且题目要求第一个输出结果为 1,所以补全参数 1,即第 1处的“TC obj1(1);”。第 2处的“obj1.number=10;”应该是调用成员函数 SetNumber赋值。在 C+中成员函数的使用形式应该是:对象名.成员函数,所以修改为“obj1.SetNumber(10);”。类是对象的抽象,而对象是类的具体实例。第 3处“TC

9、.SetNumber(100);”语句中的 TC为类,并不是对象,这里应该使用定义的对象,即 obj2,所以将语句修改为“obj2.SetNumber(100);”。二、B简单应用题/B(总题数:1,分数:30.00)2.使用 Vc+6.0打开下的源程序文件 2.cpp。完成 fun函数,其功能是求出 M行 N列二维数组每行元素中的最小值,并计算它们的和,通过形参传回主函数并输出。 注意:不能修改程序的其他部分,只能修改fun函数。 试题程序: #includeiostream.h #define M 2 #define N 4 void fun(int aMN, int *sum) void

10、 main() int xMN=7, 6, 5, 2, 4, 2, 8, 3); int s; fun(x, coutsendl; return; (分数:30.00)_正确答案:(答案考生文件夹int i, j, k, s=0;for(i=0; iM; i+) /外循环k=0;for(j=1; jN; j+)if(a1kaij)k=j; /求得每一行的最小值s+=aik; /最小值求和*sum=s; /返回求和值)解析:解析 本题依次访问每一行的元素。在对每一行的访问过程中选出最小数。将选出的最小数求和。三、B综合应用题/B(总题数:1,分数:40.00)3.使用 VC+6.0打开下的源程序

11、文件 3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类 TC1的成员函数 seta的定义,定义 seta对象,x 为 int类型,请在注释 1后添加适当的语句。 (2)完成类 TC3多继承类 TC1和 TC2的定义,请在注释 2后添加适当的语句。 (3)定义类 TC3中的私有成员 c为 int型,请在注释 3后添加适当的语句。 (4)完成 setc中对基类的变量 a的赋值,请在注释 4后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #includediostream.h class TC1 int

12、 a; public: /*1* return a=x; void showa() coutaendl; ; class TC2 int b; public: void setb(int x) b=x; void showb() coutbendl; ; /*2* private: /*3* public: void setc(int x, int y, int z) c=z; /*4* setb(y); void showc() coutcendl; ; void main() TC3 c; c.seta(5); c.showa(); c.setc(5, 7, 4); c.showc();

13、(分数:40.00)_正确答案:(答案考生文件夹(1)应添加“int seta(int x)”。(2)应添加“class TC3: public TC1, private TC2”。(3)应添加“int c;”。(4)应添加“seta(x);”。)解析:解析 本题第 1处要求“完成类 TC1的成员函数 seta定义,定义 seta对象 x为 int类型”。类的成员函数是函数的一种,它与一般函数的区别是,它是一个类的成员,出现在类体中。所以类 TC1中的成员函数,就是在 TC1中定义题目中要求的参数为 int x的 seta函数,即“int seta(int x)”。第 2处要求“完成类 TC1(公有)和类 TC2(私有)派生类 TC3的定义”。从已有的类产生一个新的子类,称为类的派生。声明派生类的一般形式为“class 派生类名:继承方式基类名”。根据声明派生类的一般形式,这里补全“classTC3:public TC1, private TC2”。第 3处要求“定义类 TC3中的私有成员 c为 int”。在类 TC3中的 private数据成员区域,定义 int c,即在第 3处补全“int c;”。第 4处要求“完成 setc中对基类的变量 a的赋值”。基类为 TC1,setc 对于该类 a的赋值,是 int seta(int x)函数的赋值,即“seta(x);”。

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

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

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