上机考试试题答案与解析
一、程序改错题
(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”。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |