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

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

试卷代号:1008

座位号

中央广播电视大学2007-2008学年度第一学期“开放本科”期末考试

计算机专业面向对象程序设计试题

2008年1月

一、单项选择题(毎小题2分,共20分)

1.设X和y均为bool s,则x||y为假的条件是( )。

A.它们均为真

B.其中一个为真

C.它们均为假

D.其中二个为假

2.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素的值为()

A. 2

B. 4

C. 6

D. 8

3.假定p是具有int* *•类型的指针变量,则给P赋值的正确语句为( )o

A. p = new int

B. p = new int *

C. p = new int * *

4.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进

行相应的软件更新的难易程度叫做软件的()o

A.可维护性

B.可复用性

C.兼容性

D.正确性

5. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数

原型或函数头的前面。

A. in

B. inline

C・ inLine

D. InLiner

6. 在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为( )。

A. length+1

B. first+length

C. (first+ length — 1) % MS

D. (first+length) % MS

7. 假定一个类的构造函数为 “A(intaa, int bb) {a=aa; b=aa * bb;}”,则执行“Ax(4, 5);”语句后,x.a和x.b的值分别为( )。

A. 4 和 5

B. 5 和 4

C. 4 和 20

D. 20 和 5

8. 假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。

A. 0

B. 1

C. 2

D. 3

9. 一个类的成员函数也可以成为另一个类的友元函数,这时的友元声明( )类域的限定。

A,需加上

B.不需加上

C.可加可不加

D.取消

10. 队列具有( )的操作特性。

A,先进先出

B.先进后出

C.进出无序

D,仅进不出

二、填空题(毎小题2分,共20分)

多行注释的开始标记符为 。
假定x=5,y = 6,则表达式x++*++y的值为 。
假定x是一个逻辑量,则x && true的值与x的值 。
含随机函数的表达式randO^20的值在0至 的整数区间内。
程序的编译是以 为单位进行的。
一个数组的 实际上是指向该数组的第一个元素的指针,并且在任何 时候都不允许修改它。
指针变量 pv 和 pc 定义为“void *pv=”Hello, word!”; char *pc;”,要将 pv 值赋给 pc,则正确的赋值语句是pc=( )pv。
—个类的 函数通常用于实现释放该类对象中指针成员所指向的动态 存储空间的任务。
假定用户为类AB定义了一个构造函数”AB(int aa) ;a(aa) {}”,则 是该类的数据成员。
在多文件结构的程序中,通常把含有main ()函数的文件称为该程序的

三、程序填充题,根据题意在横线上填写合适的内容。(每小题6分,—— 共24分)

釆用辗转相除法求出两个整数的最大公^约数。

甘 include<iostream. h>

void main()

int a,b;

coutVV”请输入两个正整数:”;

cin>>a>>b; .

while(a< = 0 | | b< = 0) (cout<V”重新输入cin>>a>>b;) while(b) {

int r;

r=a%b;

; ;〃分别修改a和b的值

}

cout«a<<endl ; //输出最大公约数

}

用插入排序方法对table指针数组中size个指针所指向的字符串进行按升序排序的算

法。

void sort(char 关 table口,int size) (

for(int i= 1 ; iVsize; i+ + ){

char * p=tableCiH;

for(int j = i —1; j> = 0 ; j )

if(strcmp(p, table[j]) VO) table[j +1] = ; else break;

table] j +1 ] = ;

)

}

类A的定义

class A { ,

char * a ;

public:

AO (a=NULL;} 〃定义为参构造函数,使a为空指针

ACchar * aa) (

a = char[strlen(aa) +1]; strcpy(a,aa); 〃用aa所指字符串初始化a所指向的动态存储空间

}

; //定义析构函数,删除a所指向.的动态存储空间

};

4.类Goods的定义

class

(

private:

char Name[20]; 〃商品名称

int Weight; 〃商品重量

static int totalWeight; 〃同类商品总重量

public:

Goods (char * str,int w) { //构造函数

strcpyCName, str);

Weight= w;

total Weight+= Weight;

、}

〜Goods () (totalWeight―= Weight ;}

char * GetN ()( ;) 〃返回商品名称

.int GetWO (return weight;}

static int GetTotalWeightO ( 〃定义静态成员函数返回总重量

}

四、理解问答题,分别写出前2小题的程序运行结果和指出后2小题的程序或函数功能。(每小题6分,共24分)

井 includeViostream. h>

const int T = 6;

void main()

int i,j,k = O;

for(i = l;i< = T;i + = 2)(

for(j = 2jj< = T;j + =2) k+ + ;

}

coutV V”k= “VVkV Vendl ;

}

运行结果:

井 includeV iostream. h>

class CE (

private:

int a,b;

int getmaxO (return (a>b? a:b) ;} public:

int c;

void SetValue(int xl ,int x2, int x3) { a = xl i b = x2; c= x3 ;

}

int GetMax();

};

int CE: :GetMax() (

int d —getmaxO ;

return (d>c? d:c)

void mainO

(

int x=5,y=12,z=8;

CE ex;

ex. SetValue(x,y,z);

coutVVex. GetMax( ) <<endl ;

}

运行结果:

# include<iostream. h>

void main( )

(

int i,p= 1 ;

int N;

cout< V”输入一个正整数

cin>>N;

for(i = l ;i< = N;i+ + ) p * =i; cout«nN! =,,«p«endlj

}

程序功能:

int f(char * s)

{

int i = 0;

while( * s+ + )i+ + ;

return i;

};

函数功能:

得分评卷人

五、编程题(每小题6分,共12分)

编写一个函数,分别求出由指针a所指向的字符串中包含的蜜种十进制数字出现的次 数,把统计结果保存在数组b的相应元素中,该函数的原型声明如下:

void fun(char * a, int b[]);

根据下面类中CompareBig函数成员的原型和注释写出它的类外定义。

class AA (

int * a;

int n;

int MS;

public:

void InitAA(int int nn, int ms) (

if(nn〉ms) {coutVV”Error!”VVendl; exit(l) ;}

MS=ms;

n=nn;

a=new int[MS];

for(int i=0; iVn; i+ + ) =

}

int CompareBig(AA&- b);

〃比较* this与b的大小,从前向后按两数组

〃中的对应元素比较,若* this中元素值大则返回1,若b中

〃元素值大则返回一1,若相等则继续比较下一个元素,直到

〃一个数组中无元素比较,此时若两者的n值相向则返回0,

〃否则若* this中的n值大则返回1,若b中的n值大则返回一1。

};

 

 

 

 

 

 

试卷代号:1008

中央广播电视大学2007-2008学年度第一学期“开放本科”期末考试

计算机专业面向对象程序设计试题答案及评分标准

(供参考)

2008年1月

一、单项选择题(毎小题2分,共20分)

1. C 2. C 3. B4. A5. B

6. D 7. C 8. B9. A10. A

二、填空题(每小题2分,共20分)

/*
35
相同
19
文件
数组名•
char *
析构
a

JO.主文件

三、程序填充题,根据题意在横线上填写谷适的内容。(毎小题6分,共24分)

评分标准:每空3分

a = b b = r
table[j] p
new 〜AO (delete }
retprn Name return totalWeight

四、 理解岡答题.分别写出前2小题的程序运行结果和指出后2小题的程序或函数功能。(每 小题6分,共24分)

k=9 ,
12
计算并输出N阶乘的值,其中N值由键盘输入。
求出并返回字符指针参数s所指向的字符串长度。

五、 编程题(毎小题6分,共12分)

评分标准:按编程完整程度酌情给分。

void fun(char * a9 int b口)

{

int ”

for(i=0;i<10?i+ + ) b[i] = 0? //2 分

while( * a) {

int j= * a—’O’;

if(j> = 0 && jV = 9) b[j] + + ;

a+ + J

} //6 分

}

int AA: :CompareBig(AA&- b)

{

int k;

if(n>b. n) k=b・ n? else k—m //I 分

, for(int i = 0? i<k; i+ + )

if(a[i]>b・ a[i]) return 1;

else if(a[i]Vb・ a[i]) return — 1 ; //3 分

if(k= = n && k= = b. n) return 0? //4 分

else if(k<n) return 1 ;

else return — 1 ? //6 分

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

AI创作

评论0

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

社交账号快速登录

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