第 1 页:上机试题 |
第 2 页:参考解析 |
一、程序改错题
(1)应添加“public:”。
(2)“inti()”应改为“inti(10);”。
(3)“i++;”应改为“i--;”。
【解析】本题主要考查的是成员的访问属性。成员的访问属性有公有、保护和私有3种,而默认的访问属性为私有,只有公有成员才能通过类的对象被访问。故应在构造函数前添加“public:”,否则该类无法被实例化。变量的初始化可以通过“=”号,也可以和初始化对象一样添加构造参数,题目已要求使用后者。本题要求输出5个数,while的循环变量i每次减1,在i>5时循环,故i初始化应为10。若循环中i每次增1,则循环永远不会退出。
二、简单应用题
voidfun(doublea[],intlen)
{
if(1en>O)
a[0]=0:
if(1en>1)
a[1]=1;
for(inti=2;i<1en;i++)
a[i]=a[i-1]+a[i-2];
}
【解析】本题考查的是计算数列值。首先给a[0]和a[1]赋初值,注意判断数组是否越界,然后循环遍历a[2]~a[len-1],根据题目给出关系计算每一个元素的值。
三、综合应用题
(1)应添加“virtualvoidprint()=0,”。
(2)“classC1:”应改为“classC1:virtualprivateC0”。
(3)“classC2:”应改为“classC2:publicC0”。
(4)“classC3:”应改为“classC3:publicC2,publicC1”。
【解析】本题考查了类的继承。根据题意,第1处应该添加“virtualvoidprint()=0;”。第2处根据题意,在冒号后面应添加“virtualprivateCO”。第3处根据题意,冒号后应添加“publicCO”。第4处根据题意,冒号后应添加“publicC2,publicC1”。
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: