本试卷共六道题,试题一至试题四是必答题,试题五和试题六选答一题。每题15分,满分75分。
试题一
1、阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。
如果一个自然数N恰好等于它所有不同的真因子(即N的约数以及1,但不包括N)之和S,则称该数为“完美数”。例如6=1+2+3,28=1+2+4+7+14,所以6和28都是完美数。显然,6是第1个(即最小的)完美数。下面流程图的功能是求500以内所有的完美数。
【流程图】
循环开始框中要注明:循环变量=初始值,终值[,步长],步长为1时可以缺省。如果某自然数小于其所有真因子之和(例如24<1+2+3+4+6+8+12),则称该自然数为亏数;如果某自然数大于其所有真因子之和(例如8>1+2+4),则称该自然数为贏数;如果某自然数等于从1开始的若干个连续自然数之和(例如10=1+2+3+4)则称该自然数为三角形数。据此定义,自然数496是(5)。
供选择答案:
A.亏数
B.赢数
C.完美数,非三角形数
D.完美数和三角形数
试题二
2、阅读以下说明和C代码,填写程序中的空(1)~(5)。 ……此处隐藏9557个字…… 面this.drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填DrawCircledrawCircle。
(3)第三空这里用super,用super.drawCircle来引用父类的成员。
(4)第四空调drawCircle(radius,x,y)方法。
(5)第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。
试题六
8、(1)voiddrawCircle(intradius,intx,inty)
(2)DrawCircle*drawCircle
(3)drawCircle
(4)drawCircle(radius,x,y)
(5)newredCircle()
(6)newgreenCircle()
[解析] (1)是填接口里面的方法,在接口的实现里面找,可以发现应该填voiddrawCircle(intradius,intx,inty)。
(2)可以根据后面this->drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填DrawCircle*drawCircle。
(3)这里填drawCircle,用this->drawCircle来引用父类的成员。
(4)调用drawCircle(radius,x,y)方法。
(5)、(6)分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。