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

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

1、二级 C+-84 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC+6.0 打开 下的源程序文件 1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为 Constructor,i=0, Destructor 注意:错误的语句在/*error*的下面,修改该语句即可。 试题程序: #includeiostream.h class TC int i; public: TC(); void display(); TC(); ; /*error* TC:TC() cout“Constructor“,“; i

2、=0; /*error* TC:display() cout“i=“i“,“endl; /*error* TC:TC() cout“Destructor“endl; void main() TC a; a.display(); (分数:30.00)_二、简单应用题(总题数:1,分数:30.00)2.使用 VC+6.0 打开 下的源程序文件 2.cpp。阅读下列函数说明和代码,实现函数 sort(int A,int n),用选择排序法将数组从大到小排序。 提示:选择排序法的思想是 (1)反复从还未排好序的那部分线性表中选出关键字最小的结点。 (2)按照从线性表中选出的顺序排列结点,重新组成线性表

3、。 (3)直到未排序的那部分为空,使得重新形成的线性表是一个有序的线性表。 补充函数 sort(int A,int n),实现选择排序。 注意:请勿改动主函数。 试题程序: #includeiostream.h #define N 10 void sort(int AN,int n) int main() int AN=-72,54,-6,7,18,102,0,4,-11,1; sort(A,10); for(int i=0;isizeof(A)/sizeof(int);i+) coutAi“; coutendl; return 0; (分数:30.00)_三、综合应用题(总题数:1,分数:4

4、0.00)3.使用 VC+6.0 打开 下的源程序文件 3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整。 (1)定义类 TCFruit 的私有静态数据成员 float 型变量 AllWeight 和 int 型变量 AllNo,请在注释 1 后添加适当的语句。 (2)完成类 TCFruit 的带一个 float 型变量 w 的构造函数,并把这个 w 加到 AllWeight 中,并且 AllNo 自加。请在注释 2 后添加适当的语句。 (3)在析构函数

5、中,在 AllWeight 中减去 weight,然后 AllNo 自减,请在注释 3 后添加适当的语句。 (4)完成静态成员变量的初始化为 0,请在注释 4 后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #includeiostream.h class TCFruit private: float Weight; /*1* static int AllNO; public: TCFruit(float w) /*2* AllWeight+=w; AllNo+; TCFruit() /*3* AllWeight-=Weight; v

6、oid display() cout“Sell a Fruit with“Weight“kg“endl; cout“All sell number:“AllNoendl; cout“All sell weight:“AllWeight“kg“endlendl; ; /*4* float TCFruit:AllWeight=0.0; int main() TCFruit Fruit1(1.2); Fruit1.display(); TCFruit Fruit2(2.3); Fruit2.display(); return 0; (分数:40.00)_二级 C+-84 (1)答案解析(总分:100

7、.00,做题时间:90 分钟)一、程序改错题(总题数:1,分数:30.00)1.使用 VC+6.0 打开 下的源程序文件 1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为 Constructor,i=0, Destructor 注意:错误的语句在/*error*的下面,修改该语句即可。 试题程序: #includeiostream.h class TC int i; public: TC(); void display(); TC(); ; /*error* TC:TC() cout“Constructor“,“; i=0; /*error* TC:display(

8、) cout“i=“i“,“endl; /*error* TC:TC() cout“Destructor“endl; void main() TC a; a.display(); (分数:30.00)_正确答案:()解析:(1)应改为“TC:TC()”。 (2)应改为“void TC:display()”。 (3)应改为“TC:TC()”。 答案考生文件夹 解析 在类的外部定义成员函数时,必须在成员函数前面加上类名和作用域运算符“:”,作用域运算符用来表示某个成员属于哪个类,使用格式为“类名:成员函数(参数函数),因此第 1 处应改为“TC:TC()”,默认构造函数没有参数。由第 2 处“TC

9、:display()”后的语句看,这是在类外实现 TC 函数,因此也有作用域运算符使用错误问题,display 函数返回值为 void,因此第 2 处的语句应改为“void TC:display()”。由第 3 处的语句“TC:TC()”可知,显然这里是在类外实现析构函数,析构函数是一个特殊的函数,它的名称和类名相同,并在前面加“”字符,用来与构造函数加以区别,因此第 3 处的语句应改为“TC:TC()”。二、简单应用题(总题数:1,分数:30.00)2.使用 VC+6.0 打开 下的源程序文件 2.cpp。阅读下列函数说明和代码,实现函数 sort(int A,int n),用选择排序法将数

10、组从大到小排序。 提示:选择排序法的思想是 (1)反复从还未排好序的那部分线性表中选出关键字最小的结点。 (2)按照从线性表中选出的顺序排列结点,重新组成线性表。 (3)直到未排序的那部分为空,使得重新形成的线性表是一个有序的线性表。 补充函数 sort(int A,int n),实现选择排序。 注意:请勿改动主函数。 试题程序: #includeiostream.h #define N 10 void sort(int AN,int n) int main() int AN=-72,54,-6,7,18,102,0,4,-11,1; sort(A,10); for(int i=0;isize

11、of(A)/sizeof(int);i+) coutAi“; coutendl; return 0; (分数:30.00)_正确答案:()解析:int i,j; for (i=0;in-1;i+) for(j=0;jn-1-i;j+) if(AiAj+1) /如果前面的数比后面的大则进行交换 int t=Aj; /进行交换 Aj=Aj+1; Aj+1=t; 答案考生文件夹 解析 数组 AN中有 n 个数,进行 n-1 次比较,在每一次比较中两两比较的次数逐渐减少,比如若有 6 个数 9,8,5,4,2,0。第一次将 8 和 9 对调,第二次将第 2 个数 9 和第 3 个数 5 对调,如此共进

12、行 5 次,得到 8-5-4-2-0-9 的顺序,可以看到:最大的数 9 已“沉底”,成为最下面一个数,而小的数“上升”。最小的数 0 已向上“浮起”一个位置。经第一趟(共 5 次)后,已得到最大的数,然后进行第二趟比较,对余下的前面 5 个数按上面的方法进行比较,经过 4 次比较,得到次大的数 8。如此进行下去。可以推知,6 个数要比较 5 趟。在第一趟中要进行两两比较 5 次,在第二趟中比较 4 次,第5 趟比较 1 次。因此设置两层循环,外层循环变量 i 从 0 变化大到 n-1,内层循环变量 j 从 0 到 n-j,在内层循环体内,比较相邻两数,如果前面比后面的大则交换。在内层循环体内

13、,如果前面的元素比后面的元素大,则用一个临时变量记录前面的第 j 个元素,然后将第 j+1 个元素赋值给第 j 个元素,临时变量值赋给第 j+1 个元素,如此完成两个元素的交换。三、综合应用题(总题数:1,分数:40.00)3.使用 VC+6.0 打开 下的源程序文件 3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整。 (1)定义类 TCFruit 的私有静态数据成员 float 型变量 AllWeight 和 int 型变量 AllNo,请在注释 1

14、后添加适当的语句。 (2)完成类 TCFruit 的带一个 float 型变量 w 的构造函数,并把这个 w 加到 AllWeight 中,并且 AllNo 自加。请在注释 2 后添加适当的语句。 (3)在析构函数中,在 AllWeight 中减去 weight,然后 AllNo 自减,请在注释 3 后添加适当的语句。 (4)完成静态成员变量的初始化为 0,请在注释 4 后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #includeiostream.h class TCFruit private: float Weight; /*1

15、* static int AllNO; public: TCFruit(float w) /*2* AllWeight+=w; AllNo+; TCFruit() /*3* AllWeight-=Weight; void display() cout“Sell a Fruit with“Weight“kg“endl; cout“All sell number:“AllNoendl; cout“All sell weight:“AllWeight“kg“endlendl; ; /*4* float TCFruit:AllWeight=0.0; int main() TCFruit Fruit1(

16、1.2); Fruit1.display(); TCFruit Fruit2(2.3); Fruit2.display(); return 0; (分数:40.00)_正确答案:()解析:(1)应添加“slatic float Allweight;”。 (2)应添加“Weight=w;”。 (3)应添加“AllNo-;”。 (4)应添加“int TCFruit:AllNo=0;”。 答案考生文件夹 解析 静态数据成员声明时需使用关键字 static,因此第 1 处应添加“static float Allweight;”。构造函数用来对类成员进行初始化,在 TCFruit 类的构造函数 TCFruit(floatw)中,完成weight 的初始化,并把这个 w 加到 AllWeight 中,并且 AllNo 自加,因此第 2 处应添加“weight=w;”。调用析构函数相当于退出,这时 AllWeight 中减去 weight,然后 AllNo 自减,因此第 3 处应添加“AllNo-;”。静态数据成员的初始化格式为“数据类型类名:静态数据成员=初始值”,因此第 4 处应添加“int TCFruit:AllNo=0;”。

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

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

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