C++语言程序设计第四次形考任务甘肃电大课程号605参考资料Word格式.docx
- 文档编号:14829363
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:7
- 大小:17.14KB
C++语言程序设计第四次形考任务甘肃电大课程号605参考资料Word格式.docx
《C++语言程序设计第四次形考任务甘肃电大课程号605参考资料Word格式.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计第四次形考任务甘肃电大课程号605参考资料Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
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
13.(2分)
假定AB为一个类,则该类的拷贝构造函数的正确声明是()。
A、AB(ABx);
B、AB(AB&
);
C、AB(AB*);
D、AB&
(AB&
x);
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参考答案:
15.(2分)
16.(2分)
B、AB(AB&
C、AB(AB*);
17.(2分)
写出程序运行后的输出结果(共6题,共36分)18.(6分)
#include<
iostream.h>
structWorker{charname[15];
//姓名intage;
//年龄floatpay;
//工资};
voidmain(){Workerx={"
wanghua"
52,23.5};
Workery,*p;
y=x;
p=&
x;
cout<
<
y.name<
'
'
y.age<
y.pay<
endl;
p-
>
name<
p->
age<
pay<
}
答:
wanghua5223.5wanghua5223.5
19.(6分)
#include<
string.h>
//姓名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;
x.name<
x.age<
x.pay;
louting39986
20.(6分)
intLess(structWorkerr1,structWorkerr2){if(r1.age<
r2.age)return1;
elsereturn0;
}voidmain(){structWorkera[4]={{"
abc"
25,420},{"
def"
58,638},{"
ghi"
49,560},{"
jkl"
36,375}};
structWorkerx=a[0];
inti;
for(i=1;
i<
4;
i++)if(Less(x,a[i]))x=a[i];
def58638
21.(6分)
classA{inta;
public:
A(intaa=0){a=aa;
}
~A(){cout<
"
DestructorA!
a<
}};
classB:
publicA{intb;
B(intaa=0,intbb=0):
A(aa){b=bb;
}~B(){cout<
DestructorB!
b<
voidmain(){Bx(5),y(6,7);
7DestructorA!
6DestructorB!
0DestructorA!
5
22.(6分)
classA{inta,b;
A(intaa=0,int
bb=0):
a(aa),b(bb){cout<
Constructor!
a+b<
}};
voidmain(){Ax,y(2,5),z(y);
0Constructor!
7
23.(6分)
A(intaa=0):
a(aa){cout<
ConstructorA!
B(intaa,intbb):
A(aa),b(bb){cout<
ConstructorB!
voidmain(){Bx(2,3),y(4,5);
2ConstructorB!
3ConstructorA!
4ConstructorB!
编程题(共2题,共30分)24.(15分)
利用类与对象,编写一个程序计算两个给定的长方形的周长和面积。
答案:
classrectangle//长方形类
{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<
长方形的周长和面积为:
a.peri()<
'
a.area()<
rectangleb(100,200);
b.peri()<
b.area()<
25.(15分)
编程建立一个有10个结点的有序的单向链表,要求完成如下操作:
①插入一个新结点,并保持链表有序性;
②输出插入新结点后的链表各结点值;
③删除链表的第5个的结点;
④输出删除第5个结点后的链表各结点值。
答案:
structNode{
intdata;
Node*next;
voidmain()
inta[10],i,j,m;
请输入10个整数:
for(i=0;
10;
i++)cin>
a[i];
//"
选择法"
将数组升序排列
9;
i++)
m=i;
//用m记住最小元素位置,先假定a[i]为最小元素for(j=i+1;
j<
j++)
if(a[j]<
a[m])m=j;
if(m>
i)
inttemp=a[i];
a[i]=a[m];
a[m]=temp;
//创建一个包括10个结点的有序的单向链表Node*head,*p,*q;
head=p=newNode;
//head指向链表的头结点
data=a[i];
next=newNode;
p=p->
next;
next=NULL;
//①插入一个新结点,并保持链表有序性;
q=newNode;
请输入一个整数作为插入结点的数据域:
cin>
q->
data;
p=head;
while(p->
next->
data<
data)
{p=p->
next=p->
p->
next=q;
//②输出插入新结点后的链表各结点值;
插入新结点后的链表各结点值:
p=head;
11;
p=p->
//③删除链表的第5个的结点;
for(i=0;
3;
i++)p=p->
//④输出删除第5个结点后的链表各结点值。
\n删除第5个结点后的链表各结点值:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言程序设计 第四 次形考 任务 甘肃 电大 课程 605 参考资料