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

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

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

2、) 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,分数:30.00)2.使用 VC+6.0

3、打开 下的源程序文件 2.cpp。完成 fun()函数,其功能是:求出 M 行 N 列二维数组每行元素中的最小值,并计算它们的和。和通过形参传回主函数并输出。 注意:不能修改程序的其他部分,只能修改 fun()函数。 试题程序: #include iostream.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)_三、综合应用题(总题数:1,分数:40.00)3.使用 VC+6.

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

5、iostream.h class TC1 int a; public: /*1* return a=x; void showa() cout a endl; ; class TC2 int b; public: void setb(int x) b=x; void showb() cout b endl; ; /*2* private: /*3*public: void setc(int x,int y,int z) c=z; /*4* setb(y); void showc() cout c endl; ; void main() TC3 c; c.seta(5); c.showa(); c

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

7、t i) number=i; void SetNumber(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)_

8、正确答案:()解析:(1)应改为 TC obj1(1); (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.Set

9、Number(10);”。类是对象的抽象,而对象是类的具体实例。第 3 处“TC.SetNumber(100);”语句中的 TC 为类,并不是对象,这里应该使用定义的对象,即 obj2,所以将语句修改为“obj2.SetNumber(100);”。二、简单应用题(总题数:1,分数:30.00)2.使用 VC+6.0 打开 下的源程序文件 2.cpp。完成 fun()函数,其功能是:求出 M 行 N 列二维数组每行元素中的最小值,并计算它们的和。和通过形参传回主函数并输出。 注意:不能修改程序的其他部分,只能修改 fun()函数。 试题程序: #include iostream.h #defin

10、e 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)_正确答案:()解析: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; /返回求和值 答案考生文件夹 解析 本题依次访问每一行的元素。在对每一行的访问过程中选出最小数。将选出的最小数求和。三、综合

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

12、,请不要修改其他的程序代码。 试题程序: #includeiostream.h class TC1 int a; public: /*1* return a=x; void showa() cout a endl; ; class TC2 int b; public: void setb(int x) b=x; void showb() cout b endl; ; /*2* private: /*3*public: void setc(int x,int y,int z) c=z; /*4* setb(y); void showc() cout c endl; ; void main() T

13、C3 c; c.seta(5); c.showa(); c.setc(5,7,4); c.showc(); (分数: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 中定义

14、题目中要求的参数为 int x 的 seta 函数,即“int seta(int x)”。第 2 处要求“完成类 TC1(公有)和类 TC2(私有)派生类 TC3 的定义”。从已有的类产生一个新的子类,称为类的派生。声明派生类的一般形式为:class 派生类名:继承方式 基类名。根据声明派生类的一般形式,这里补全“class TC3: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