计算机专业面向对象程序设计试1Word格式.docx

上传人:b****6 文档编号:19560523 上传时间:2023-01-07 格式:DOCX 页数:9 大小:18.98KB
下载 相关 举报
计算机专业面向对象程序设计试1Word格式.docx_第1页
第1页 / 共9页
计算机专业面向对象程序设计试1Word格式.docx_第2页
第2页 / 共9页
计算机专业面向对象程序设计试1Word格式.docx_第3页
第3页 / 共9页
计算机专业面向对象程序设计试1Word格式.docx_第4页
第4页 / 共9页
计算机专业面向对象程序设计试1Word格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

计算机专业面向对象程序设计试1Word格式.docx

《计算机专业面向对象程序设计试1Word格式.docx》由会员分享,可在线阅读,更多相关《计算机专业面向对象程序设计试1Word格式.docx(9页珍藏版)》请在冰豆网上搜索。

计算机专业面向对象程序设计试1Word格式.docx

D.chara[10]=’5’;

4.以下正确的函数原型语句是(A)。

A.doublefun(intx,inty);

B.doublefun(intx;

inty);

C.doublefun(intx=5,inty);

D.doublefun(intx,y);

5.软件产品可被全部或部分重用于新的应用的能力叫做软件的(B)。

A.可维护性 

B.可复用性

C.兼容性 

D.正确性;

6.在多文件结构的程序中,通常把含有main()函数的文件称为(A)。

A.主文件 

B.实现文件 

C.程序文件 

D.头文件

7.在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队为空,则进行插入时必须把新的地址赋给(C)。

A.elemHead 

B.elemTail

C.elemHead和elemTail 

D.elemHead或elemTail

8.假定AB为一个类,则执行“ABa,b

(2),c[3],*p=&

a;

”语句时共调用该类无参构造函数的次数为(4)次。

A.5 

B.6 

C.3 

D.4

9.引入友元的主要目的是为了(C)。

A.增强数据的安全性 

B.提高程序的可靠性

C.提高程序的效率的灵活性 

D.保证类的封装性

10.假定类B是在类A的基础上扩充而得到的,那么就称(B)。

A.类A为基类或父类,类B为超类或子类

B.类A为基类、父类或超类,类B为派生类或子类

C.类A为派生类,类B为基类

D.类A为派生类或子类,类B为基类、父类或超类

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

1.由函数原型语句“intfun1(void);

”可知,该函数的返回类型为整型,该函数带有0个参数。

2.假定x是一个逻辑量,则x||false的值与x的值 

相同 

3.作为语句桔标号使用的C++保留字case和default只能用于switch 

语句的定义体中。

4.对一个二维字符数组a进行初始化的数据表为{“123”,”456”,”789”},则a[1]元素对应的字符串为456。

5.NULL是一个符号常量,通常作为空指针值,它的具体值为‘\0’。

6.内联函数的定义模块与所属的类模块必须放在同一个文件中。

7.一个类的构造函数实现对该类对象进行初始化的功能。

8.假定为类AB定义了一个构造函数“AB(intaa=0):

a(aa){}”,则定义该类的对象时,可以有2种不同的定义格式。

9.重载抽取运算符>

>

时,其运算符函数的返回值类型应当是istream&

10.若多个基类及其派生类中都定义了同名的函数成员,要访问一个类中该成员函数时,就需要在函数名前加上类名和类区分符:

:

三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序后面的标号处。

(每小题5分,共20分)

1.下面程序算出

的值。

#include<

iostream.h>

voidmain()

{

doublex,p1=1,p2=1,s=0;

inti,j=1;

cout<

<

"

输入x的值:

;

cin>

x;

for(i=1;

 ⑴ ;

i++){

p1*=x;

p2*= ⑵ ;

s+=j*p1/p2;

j= ⑶;

}

s<

endl;

}

⑴i<

=10

⑵i

⑶-j

2.假定结点类型的定义为“structNODE{intdata;

NODE*next;

};

”,下面算法是依次输出以L为表头指针的单链表中各结点的值。

voidff(NODE*L)

for(⑴;

p!

=NULL;

⑵)

⑶<

'

'

⑴NODE*p=L

⑵p=p->

next

⑶p->

data

3.一个带类的程序如下:

classA{

inta,b;

public:

A(intaa=0,intbb=0):

⑴{}//分别用bb和bb初始化a和b

voidmain(){

⑵;

//定义类A的对象x并用5初始化,定义y并用x初始化

⑶;

//定义p指针,指向对象x

⑴a(aa),b(bb)

⑵Ax(5),y(x)

⑶A*p=&

x

4.一个带类的程序如下:

⑴ 

//定义构造函数,使参数aa和bb的默认值为0,

//在函数体中用aa初始化a,用bb初始化b

A*p1,*p2;

⑵ 

;

//调用无参构造函数生成由p1指向的动态对象

⑶ 

//调用带参构造函数生成由p2指向的动态对象,

//使a和b成员分别被初始化为4和5

⑴A(intaa=0,intbb=0){a=aa;

b=bb;

⑵p1=newA

⑶p2=newA(4,5)

四、理解问答题,写出前三小题的程序运行结果和指出后两小题的程序(或函数)所能实现的功能。

(每小题6分,共30分)

1.#include<

iomanip.h>

constintM=20;

intc2,c3,c5;

c2=c3=c5=0;

for(inti=1;

i<

M;

if(i%2==0)c2++;

if(i%3==0)c3++;

if(i%5==0)c5++;

c2<

c3<

c5<

运行结果:

963

2.#include<

string.h>

classCD{

char*a;

intb;

voidInit(char*aa,intbb)

{

a=newchar[strlen(aa)+1];

strcpy(a,aa);

b=bb;

char*Geta(){returna;

intGetb(){returnb;

voidOutput(){cout<

a<

b<

CDdx,dy;

dx.Init("

abcdef"

30);

dy.Init("

shenyafen"

3*dx.Getb()+5);

dx.Output();

dy.Output();

abcdef30

Shenyafen95

3.#include<

classBase

Base(inti,intj){x0=i;

y0=j;

voidMove(intx,inty){x0+=x;

y0+=y;

voidShow(){cout<

Base("

x0<

"

y0<

)"

private:

[w1] 

intx0,y0;

classDerived:

publicBase

Derived(inti,intj,intm,intn):

Base(i,j){x=m,y=n;

NEXT("

x+x0<

y+y0<

intx,y;

Baseb(1,2);

b.Show();

Derivedd(3,4,10,15);

d.Move(5,6);

d.Show();

Base(1,2)

NEXT(18,25)

4.#include<

inti,s=0;

intN;

输入一个整数:

N;

=N;

i++)s+=i*i;

程序功能:

由键盘输入一个正整数N,计算并输出从1到N的各整数平方之和。

5.intf(constchar*s)

inti=0;

while(*s++)i++;

returni;

统计字符串中所包含的字符个数。

五、编程题(每小题5分,共10分)

1.根据下面函数原型编写一个函数,求出并返回由字符指针s所指向的字符串中包含的字符’a’和’A’的总个数。

intvoid[w2] 

fun(char*a);

int 

fun(char*a)

for(;

*a;

*a++)if(*a=='

a'

||*a=='

A'

)i++;

}或

do{if(*a=='

}while(*a++);

2.根据下面类中拷贝构造函数的原型写出它的类外定义。

classArray{

int*a;

//指向动态分配的整型数组空间

intn;

//数组长度

Array(intaa[],intnn){ 

//构造函数

n=nn;

a=newint[n];

for(inti=0;

n;

i++)a[i]=aa[i];

Array(Array&

bb);

//拷贝构造函数

Array&

Give(Array&

cc);

//实现cc赋值给*thia的功能并返回*this

intLenth(){returnn;

//返回数组长度

Array:

Array(Array&

bb)

n=bb.n;

i++)a[i]=bb.a[i];

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1