C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx

上传人:b****2 文档编号:1910132 上传时间:2022-10-25 格式:DOCX 页数:7 大小:17.14KB
下载 相关 举报
C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx_第1页
第1页 / 共7页
C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx_第2页
第2页 / 共7页
C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx_第3页
第3页 / 共7页
C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx_第4页
第4页 / 共7页
C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx

《C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx(7页珍藏版)》请在冰豆网上搜索。

C++语言程序设计第四次形考任务甘肃电大课程号605参考资料.docx

C++语言程序设计第四次形考任务甘肃电大课程号605参考资料

C++语言程序设计第四次形考任务

甘肃广播电视大学形成性测评系统课程代码:

6207105参考资料第四次形考任务

试卷总分:

100第四次形考任务

填空题(共11题,共22分)1.(2分)

对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的赋值语句实现。

参考答案:

初始化表

2.(2分)

在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的使其初始化。

参考答案:

构造函数

3.(2分)

若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:

参考答案:

friendclassAB;4.(2分)

假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为。

参考答案:

x.(*a)

5.(2分)

若需要把一个函数“voidf();

”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句。

参考答案:

friendvoidf();

6.(2分)

与结构成员访问表达式(*fp).score等价的表达式是。

参考答案:

fp->score

7.(2分)

在每个成员函数中,隐含的第一个参数的参数名为。

参考答案:

this

8.(2分)

假定一个结构类型的定义为“structB{inta[5],char

*b;};”,则该类型的大小为字节。

参考答案:

24

9.(2分)

当一个类对象被撤消时将自动调用该类的。

参考答案:

析构函数

10.(2分)

假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类构造函数的次数为。

参考答案:

N11.(2分)

假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函

数为。

参考答案:

~AB(){}单选题(共6题,共12分)12.(2分)

以下结构类型可用来构造链表的是()。

A、structaa{inta;int*b;};

B、structbb{inta;bb*b;};C、C.structcc{int*a;ccb;};D、structdd{int*a;aab;};参考答案:

B

参考答案:

B

 

13.(2分)

假定AB为一个类,则该类的拷贝构造函数的正确声明是()。

A、AB(ABx);B、AB(AB&);C、AB(AB*);

D、AB&(AB&x);

参考答案:

B参考答案:

B

 

14.(2分)

设有如下定义:

structsk{inta;floatb;}data,*p;

若有p=&data,则对data中的a成员的正确访问是()。

A、(*p).data.a

B、(*p).a

C、p->data.aD、p.data.a参考答案:

B参考答案:

B

 

15.(2分)

以下结构类型可用来构造链表的是()。

A、structaa{inta;int*b;};

B、structbb{inta;bb*b;};C、C.structcc{int*a;ccb;};D、structdd{int*a;aab;};参考答案:

B

参考答案:

B

 

16.(2分)

假定AB为一个类,则该类的拷贝构造函数的正确声明是()。

A、AB(ABx);

B、AB(AB&);

C、AB(AB*);

D、AB&(AB&x);

参考答案:

B参考答案:

B

 

17.(2分)

设有如下定义:

structsk{inta;floatb;}data,*p;

若有p=&data,则对data中的a成员的正确访问是()。

A、(*p).data.a

B、(*p).a

C、p->data.aD、p.data.a参考答案:

B参考答案:

B

 

写出程序运行后的输出结果(共6题,共36分)18.(6分)

#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx={"wanghua",52,23.5};Workery,*p;y=x;p=&x;cout<

>name<<''<age<<''<pay<

答:

wanghua5223.5wanghua5223.5

19.(6分)

#include#includestructWorker{charname[15];

//姓名intage;//年龄floatpay;//工资};voidmain(){Workerx;char

*t="louting";intd=38;floatf=493;strcpy(x.name,t);x.age=d;x.pay=f;x.age++;x.pay*=2;cout<

答:

louting39986

20.(6分)

#include#includestructWorker{charname[15];

//姓名intage;//年龄floatpay;//工资};intLess(structWorkerr1,structWorkerr2){if(r1.age

答:

def58638

21.(6分)

#includeclassA{inta;public:

A(intaa=0){a=aa;}

~A(){cout<<"DestructorA!

"<

publicA{intb;public:

B(intaa=0,intbb=0):

A(aa){b=bb;}~B(){cout<<"DestructorB!

"<

答:

DestructorB!

7DestructorA!

6DestructorB!

0DestructorA!

5

22.(6分)

#includeclassA{inta,b;public:

A(intaa=0,int

bb=0):

a(aa),b(bb){cout<<"Constructor!

"<

答:

Constructor!

0Constructor!

7

23.(6分)

#includeclassA{inta;public:

A(intaa=0):

a(aa){cout<<"ConstructorA!

"<

publicA{intb;public:

B(intaa,intbb):

A(aa),b(bb){cout<<"ConstructorB!

"<

答:

ConstructorA!

2ConstructorB!

3ConstructorA!

4ConstructorB!

5

编程题(共2题,共30分)24.(15分)

利用类与对象,编写一个程序计算两个给定的长方形的周长和面积。

答案:

#includeclassrectangle//长方形类

{doublelen,wid;//len表示长方形的长、wid表示长方形的宽public:

rectangle(doublei=0.0,doublej=0.0)

{len=i;wid=j;}doublearea()

{returnlen*wid;}doubleperi()

{return2*(len+wid);}};voidmain()

{

rectanglea(10,20);

cout<<"长方形的周长和面积为:

"<

cout<<"长方形的周长和面积为:

"<

}

25.(15分)

编程建立一个有10个结点的有序的单向链表,要求完成如下操作:

①插入一个新结点,并保持链表有序性;②输出插入新结点后的链表各结点值;③删除链表的第5个的结点;④输出删除第5个结点后的链表各结点值。

答案:

#includestructNode{

intdata;

Node*next;

};

voidmain()

{

inta[10],i,j,m;

cout<<"请输入10个整数:

";

for(i=0;i<10;i++)cin>>a[i];

//"选择法"将数组升序排列

for(i=0;i<9;i++)

{

m=i;//用m记住最小元素位置,先假定a[i]为最小元素for(j=i+1;j<10;j++)

if(a[j]

if(m>i)

{

inttemp=a[i];a[i]=a[m];a[m]=temp;

}

}

//创建一个包括10个结点的有序的单向链表Node*head,*p,*q;

head=p=newNode;//head指向链表的头结点

for(i=0;i<10;i++)

{

p->data=a[i];

p->next=newNode;

p=p->next;

}

p->next=NULL;

//①插入一个新结点,并保持链表有序性;

q=newNode;

cout<<"请输入一个整数作为插入结点的数据域:

";cin>>q->data;

q->next=NULL;

p=head;

while(p->next->datadata)

{p=p->next;}

q->next=p->next;p->next=q;

//②输出插入新结点后的链表各结点值;

cout<<"插入新结点后的链表各结点值:

";p=head;

for(i=0;i<11;i++)

{

cout<data<<'';p=p->next;

}

//③删除链表的第5个的结点;

p=head;for(i=0;i<3;i++)p=p->next;

p->next=p->next->next;

//④输出删除第5个结点后的链表各结点值。

cout<<"\n删除第5个结点后的链表各结点值:

";p=head;

for(i=0;i<10;i++)

{

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

当前位置:首页 > PPT模板 > 图表模板

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

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