• u******* 加入了本站
  • 游客 下载了资源 LED 灯月亮灯 001 [高分辨率] 3d打印图纸stl文件
  • 游客 下载了资源 LED 灯月亮灯 001 [高分辨率] 3d打印图纸stl文件
  • 游客 购买了资源 国开学习网电大《☆电子商务法律与法规》形考任务四答案
  • 游客 下载了资源 国开电大《Flash动画制作》形考课程考核成品答案实训5:补间动画
  • 游客 购买了资源 国开电大《Flash动画制作》形考课程考核成品答案实训5:补间动画
  • 游客 下载了资源 国开电大《Flash动画制作》形考课程考核成品答案实训4:引导层和遮罩层的应用
  • 游客 购买了资源 国开电大《Flash动画制作》形考课程考核成品答案实训4:引导层和遮罩层的应用
  • 游客 下载了资源 国开电大《Flash动画制作》形考课程考核成品答案实训3:元件和库应用
  • 游客 下载了资源 国开电大《Flash动画制作》形考课程考核成品答案实训3:元件和库应用

电大试卷2010年1月1008面向对象程序设计

试卷代号:1008
中央广播电视大学2009-2010学年度第一学期“开放本科”期末考试
面向对象程序设计试题
2010年1月
一、单项选择题(每小题2分,共20分)
1.用来构成C+ +程序文件的基本单位是( )。
A.字符
B.语句
C.函数
D,表达式
2.在下列的符号常量定义中,错误的定义是( )o
A. const double DD=3. 14;
B. const int M=20;
C. const char ch;
D. const bool mark = true;
3.下面给字符数组赋初值时,正确的语句是( )0
A.char s].r]= “abcdef’* ;
B.char s2[43 = “abed”;
C.char s3[2][3]= { “abc”, “xyz”};
D.char s4[4][] = {‘a’, ,s‘,’t’};
4.假定一条定义语句为”int aL10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为( )
A. x=paC3];
B. x=*(a+3);
C. x=a[3];
D. x=*pa+3;
5.在一个完整类的定义中,应包含有( )成员的定义。
A,数据
B.函数
C.数据和函数
D.数据或函数
6.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中 函数成员a()的格式为( )。
A. x. a
B. X. a()
C. x—〉a
D. x—)a()
7.假定AA是一个类,abc()是该类的一个成员函数,则参数表中隐含的第一个参数的标 识符为( )。
A. abc
B. int
C. this
D. bool
8.对于一个类的构造函数,其函数名与类名( )。
A.完全相同
B.基本相同
C.不相同
D.无关系
9.假定AB为一个类,则执行“AB *s=new AB(a,5);”语句时得到的一个动态对象为。
A. s
B. s — )a
C. s. a
D. * s
10.若派生类公有继承基类,则基类的公有和保护成员在派生类中将( )成员。
A.全部变成公有
B.全部变成保护
C.全部变成私有
D.仍然相应保持为公有和保护
二、填空题(每小题2分,共20分)
1.C+ +语言是在 语言的基础上发展起来的。
2.假定x=5,y=6,则执行表达式y * = x+ +后,y的值为 。
3.在if语句中,每个else关键字与它前面同层次并且最接近的 关键字相配套。
4.一维字符数组a[20]能够存储的字符串的长度至多为 。
5.假定P所指对象的值为25,p + 1所指对象的值为42,则执行* p十+运算后,p所指对 象的值为 。
6.若釆用p—〉abc(y)表达式调用一个成员函数,在成员函数中使用的 就代 表了类外的P指针。
7.一个类中定义的数据成员或函数成员,可以使用—种保护属性中的一种。
8.假定用户只为类AB定义了一个构造函数”ABCintaa, int bb = O) {a=aa; b=bb;}”, 则定义该类的对象时,其初始化实参表中至少带有 个实参。
9.在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的

10.重载一个运算符时,该运算符的优先级、 以及运算对象的个数都不允许 改变。
得分评卷人
三、程序填充题(根据题意在横线上填写合适的内容。每小题6分, 共24分)
1.对数组a中的元素按相反次序重新排列。
void PV(int a[], int n)
(
int i;
for(i=0; i<n/2; ) (
int x=a[i];
aEi> ;
}
2.把从键盘上输入的一个大于等于3的整数分解为质因子的乘积。如输入24时得到的输 出结果为“2 2 2 3”,输入50时得到的输出结果为“2 5 5”,输入37时得到的输出结果为”37”。
井 include< iostream, h〉
void main()
(
int x;
cout<<“请输入一个整数,若小于3则重输:”; .
do cin>>x; while( );
int i=2;
do(
while(x%i= =0) {coutV ViV V”; x/ = i;}

} while(iVx);
if(x! =1) coutVVx;
coutV Vendl;
)
3.假定有定义为”struct NODE(int data; NODE* next;};”,下面算法遍历输出以参数 L为表头指针的单链表中每个结点的值。
void f6(NODE* L)
(
if( ) return;
NODE * p= L;
while(p) {
coutVVp—〉dataVV‘’;
p = ;
)
cout((endl;
}
4.类A的定义
class A {
char * a;
public:
A() {a =(M
ACchar * aa) { 〃定义带参构造函数
a= char[strlen(aa) + l]; //进行动态存储分配
strcpy(afaa) ; //用aa所指字符串初始化a所指向的动态存储空间
)
{delete //定义析构函数
得分评卷人
四、理解问答题(分别写出前2小题的程序运行结果和后2小题的函 数功能。毎小题6分,共24分)
1.# include<iomanip. h>
const int M = 20;
void mainO
(
int c2 f c3 ;
c2 = c3 = 0 ;
£or(int i= 1 ; iV = M; i+ + ) {
if(i%2==0) c2 + +;
if(i%3==0) c3+ + ; *
)
coutVVc2VV‘ ‘VVc3V Vendh
}
运行结果:
2.甘 include (iostream. h)
class A {
int a,b;
public:
AO {a=b = 0;)
A(int aa, int bb) (a=aa; b= bbj} int Sum() (return a+b;)
);
void main() {
A x(12,46);
coutVVx. Sum(X<endl;
}
运行结果:
3.void fun5(char * a, const char * b)
{
while( * b) * a+ + = * b+ + ;
* a=;
}
函数功能:
4.bool fun8(int a口,int n, int key)
{
for(int i = 0;i<n;i+ + )
— = key) return true; return false ;
}
函数功能:
得分评卷人
五、编程题(每小题6分,共12分)
1.按照下面函数原型语句编写一个递归函数求出并返回数组a中n个元素的平方和。 int f(int >int n);
2.根据下面类中拷贝构造函数的原型写出它的类外定义。
class Array {
int *a; 〃指向动态分配的整型数组空间
int n; 〃记录数组长度
public:
ArrayCint aa口,int nn); 〃构造函数,利用aa数组长度nn初始化n,
〃利用aa数组初始化a所指向的数组空间
Array(const Airay& aa) ; //拷贝构造函数
};
〃在下面写出拷贝构造函数的类外定义

 

 

 

 

试卷代号:1008
中央广播电视大学2009-2010学年度第一学期“开放本科”期末考试
面向对象程序设计试题答案及评分标准
(供参考)
2010年1月
一、 单项选择题(每小题2分,共20分)
1.C 2. C 3. A 4. D 5. C
6. B 7. C 8. A 9. D 10. D
二、 填空题(每小题2分,共20分)
1.C
2.30
3.if
4.19
5.42
6.this
7.3
8.1
9.成员函数
10.结合性
三、 程序填充题(根据题意在横线上填写合适的内容。每小题6分,共24分)
评分标准:每空3分
1.i++ (或 ++i)、a[n—i—1]、
2.x<3 (或 x〈=2)、i+ + (或十+ i)
3.L= =NULL(或! L)、p—〉next
4.new、〜A()
四、 理解问答题,分别写出前2小题的程序运行结果和指出后2小题的函数功能。(毎小题6 分,共24分)
评分标准:第3.4小题根据叙述完整程度酌情给分。
1.10 6
2.58
3.把b所指向的字符串拷贝到a所指向的字符数组空间中。
4.从一维数组中顺序査找值为key的元素,若査找成功则返回真否则返回假。
五、 编程题(毎小题6分,共12分)
评分标准:按编程完整程度酌情给分。
1.int f(int a口,int n)
if(n==0) return 0; 〃1 分
else return a[n— 1] * a[n—l]+f(a,n一1) $ //6 分
)
2.Array: : ArrayCconst Array&- aa) (
n=aa. n; //I 分
a=new int[nj; //3 分
for(int i = 0; iVn; i+ + ) = aa・ ; //6 分
)

资源下载
下载价格1
点点赞赏,手留余香 给TA打赏

AI创作

评论0

请先
支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性
显示验证码

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录