自考C++程序的设计04737试题和答案解析Word文档格式.docx
- 文档编号:18488170
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:15
- 大小:65.61KB
自考C++程序的设计04737试题和答案解析Word文档格式.docx
《自考C++程序的设计04737试题和答案解析Word文档格式.docx》由会员分享,可在线阅读,更多相关《自考C++程序的设计04737试题和答案解析Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
raD・int*pi>
*&
pref=pi
13.关于对象概念的描述中,说法错误的是
A.对象就是C语言中的结构体
B.对象代表着正在创建的系统中的一个实体
C.对象是类的一个变量
D.对象之间的信息传递是通过消息进行的
14.有关多态性说法不正确的是
A.C++语言的多态性分为编译时的多态性和运行时的多态性
B.编译时的多态性可通过函数重载实现
C.运行时的多态性可通过模板和虚函数实现
D.实现运行时多态性的机制称为动态多态性
15.关于友元函数的描述中,错误的是
A.友元函数不是成员函数
B.友元函数只能访问类中私有成员
C.友元函数破坏隐藏性,尽量少用
D.友元函数说明在类体,使用关键字friend
16.
类中定义的成员默认访问属性为
A.publicB・private
17.拷贝构造函数的参数是
A.某个对象名
C.某个对象的引用划
18.关于类模板的说确的是
A.类模板的主要作用是生成抽象类
B.类模板实例化时,编译器将根拯给岀的模板实参生成一个类
C.在类模板中的数据成员具有同样类型
D.类模板中的成员函数没有返回值
19・下列有关重载函数的说法中正确的是
A.重载函数必须具有不同的返回值类型B.重载函数参数个数必须相同
C.重载函数必须有不同的形参列表D.重载函数需可以不同
20・当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数A.都是虚函数
B.只有被重新说明时才是虚函数
C.都不是虚函数
D.只有被重新说明为virtual时才是虚函数
第二部分非选择题
二填空题(本大题共20小题,每小题1分,共20分)请在答题卡上作答。
21・C语言中scanf命令在C++中改用:
cin
22.假泄类AB中有一个公用属性的静态数据成员staticintbb:
在类外不通过对象爼给该成员bb赋值为10的写法:
intAB;
bb=10;
23.在类部定义的公有(public)数据可以在类外进行存取,但保护protected数据和私有(private)数据不能在类外直接存取。
24.在C++中,虚函数帮助实现了类的多态性。
25.如果要把类B的成员函数voidfun()说明为类A的友元函数,则应在类A中加入语句
26.执行卜-列程序doublea=3.1415926,b=3.14:
cout«
setprecisionQ«
a<
<
"
«
b«
endl:
程序的输出结果是。
27.在C++中,访问一个指针所指向的对象的成员所用的指向运算符是。
28.基类的公有成员在派生类中的访问权限由决定。
29.由const修饰的对彖称为。
30.如果通过同一个基类派生一系列的类,则将这些类总称为»
31.为了实现运行时的多态性,派生类需重新泄义基类中的。
32.在C++中有两种参数传递方式:
传值和传c
33.C++中ostream的直接基类。
34.已知int*p=NULL,使用new为指针P申请一个存储大小为10的存放int型的空间,代
码为«
35.在编译指令中,宏定义使用指令。
36.每个对象都是所属类的一个。
37.函数重载时,编译系统会根据或形参的个数来区分。
38.静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是。
40.局部对象和全局对象中,在同一程序中生存期最长。
三、改错题(本大题共5小题,每小题4分,共20分)请在答题卡上作答。
下面的程序段中有一处错误,请在答题卡上抄写错误所在行并指出错误原因。
4-1.^include<
iostream>
usingnamespacestd;
base(inta){p=
I
intget(){relump;
I;
intmain()
{
baseb{3);
cout«
b.get();
42.#include<
usingnamespacestd;
classbase)inta;
intget()|returna;
voidsetValue(intb){a=b;
intgeta(){returna;
{..
baseb;
b.setValue(7);
return0;
43.#include<
usingnamespace9td;
classA|
intx;
inty;
puhlic;
A(inta^intb){
y$b;
血get()Ireturnx4-y;
I;
X=5.
intmain()
COUt«
弘get()«
cndl;
return0;
44.^include<
usingnamespacestd;
classA|intx;
public:
A(inta){
x=a;
voidseL(inta){
voidget()(
cout«
x«
cndl;
;
1
constAa(4);
a.set(6);
乩get();
a.set(10);
»
•卯();
return0;
45.#include<
classbase|
inta,b;
voidsetzero()|
x=0;
y=0;
voidshow()(
nw«
y«
endl;
1;
intmain()\
baseb;
b.setzero(0,0);
return0;
四、完成程序题(本大题共5小题,每小题4分,共20分)请在答题卡上作答。
46・用简单选择法对10个数排序,使英从小到大排列。
#includewstdafx^h"
^include<
iostre&
m>
usingnamespacestd;
intmain(void)
inti;
intnum[10]ftJ;
fbr()
cin»
num[i]:
for(i=0;
i<
9;
i-H-)
for(j=i+1;
j<
10;
j++)if(num[i]>
num[j]){
t=num[i];
num[i]=niun[j];
for(i=0;
i<
10;
i++)eout«
nu.m[i]«
1111;
47・打印以下图案:
#includenatdafx.hM解include<
iosdeam>
usingnam<
tspflcestd;
voidmain(void)
intj■巧
for()//i控制行号
fbr(j=1;
jvi;
j—)//j控制空格cout«
1$
for()//n控制星号
H.'
・;
endl•
48.任意输入10个同学的成绩,汁算苴平均成绩。
要求用函数averageOHM平均成绩,主函数输入数据并输出结果。
#includewstdafi.h”
#includc<
voidmain(void)
floataverage(floataf]);
flcAtSftre[10];
for()
score[i];
waverage:
H«
average(score)«
endl;
floataverage(floata[])
floatsum=0;
for(inti=0;
10;
i++)|
I‘
return(sum/10};
49.编一个函数to_lower(),实现将字符串中的大写字母转换成相应小写字母。
主函数输入数据并输出结果。
#include”stdafe.h"
#include<
■
voidtoJower(chara[]);
char9tr[10];
ciu»
str;
to—lower(str);
str«
voidto_lower(chara[])
I-
fbr(inti=0;
订!
二'
;
i卄)
if()
a[i]+=32;
50・下而程序用来求直角三角形斜边长度。
#include<
iostream・h>
#include<
math,h>
classLine;
classPoint
Iprivate:
doublex,y;
Point(doublei=0,doublej=0)|x=i;
y=j;
)
Point(Point&
p)
x=p.x;
y=p.y;
|
classLine
|private;
Pointpl9p2;
II
publics
UnA(Point&
xplfPoint&
xp2);
doubleGetLength.();
h
doubleLine:
;
Getlxjngdi()
1doubledx=p2.x-pl.x;
doubledy=p2・y一p1・y;
returndx*dx+dy*dy);
}.
voidmain()
jPointpl_p2(6,8);
LineLI(plfp2);
cout«
LI■G^tLength(》«
5.程序分析题(本大题共2小题,每小题5分,共10分)请在答题卡上作答。
5i・给如下而程序输岀结果。
iostream,h>
classBase
|private:
intY;
public:
Base(inty=0)|Y=y;
11Base(H«
w)\nM;
|
~Base()[couit«
~Ba&
e()\nM;
voidprint()|cout«
Y«
nw;
I;
classDerived:
publicBase
intZ;
Derived(intyfintz)
|Z=z;
Derived(w«
M»
w«
z.«
w)Xn"
~Derived(){cout«
w-Derived()\nn;
voidprint()
IBase:
:
print();
lout«
Z«
|Derivedd(10F20);
d.print();
52.给岀下面程序输出结果。
#indude”iostream,h理
intx,yTz;
x=3;
y=x卄:
z=++x;
frx=f,«
k«
u;
y=1t«
n;
z="
z«
endl;
}
六、程序设计题(本大题共I小题,共I0分)
请在答题卡上作答。
53.写一个程序,定义一个抽象类Shape,由它派生3个类:
Square(lE方形)、Trapezoid(梯形)和Triangle(三角形卜用虚函数分别计算几种图形而积、并求它们的和。
要求用基
类指针数组,使它每一个元素指向一个派生类对象。
iostream.h>
classShape
jpublic:
virtualdoublearea()const=0;
绝密*启用前
2015年10見高等教育自学考试全国统一侖题考试
C+亠程序设计试题答案及评分参考
(课程代码04737)
一、单•项选择執本大超共20小題,毎小趣I分涉”9)
1.B2.D3.A4.D5.B6门7.D
Il.B12D13.A34.C15.B817.C
二填空做本大题共20小题,毎小題1分•共20分)
21.cin
24.多态性
27.—>
30.类族
33.ios
36.实例
39.friendvoidB:
:
fifht)j,
三、改错fiK本大邇其5小题■毎小题4分,共20分)
41.答案mump;
锚。
加()函数的返回值应该是讪授变般師代码中£
期)返回的是im痰指针&
自彩单科包过qql65816E2修孜;
将r*EEP)修改为gxm♦p;
42’答轧b・^Valuc(7)熄私有曲数,不能宜接诟孔無改朋3皿1叔血)函数声明为公有函数g
43;
答案注=6钳宀为静至数据成乩该赋值形式错课。
修改”mAj:
x=5j
44•答案心财A・(4);
钳。
■雄常时象•不能械更新。
修改:
将几定义为非常对煞a
45.答案;
b•畑错离因为类中不存在带有两个形参的zcr(>
函数。
條改;
将B.seteero(0t0);
修改为b.setzero()i
四、完成程庠题(本大屢共5小題,每小题4分,共20分)
5.B
8.C9.BJO.C
18.B19.C20.X
22.intAB--bhx|0;
25.friendvoidB:
fun();
2$.访问控制方式或维承方式
31・龜苗数
34p.=newint^lOl4
3?
.形参的类型
23,保护(pwuxtcd)数据
26.3.1416,3•也
沙.常对隸
31引用
35.#dcGne
38・友元函数
40.全局对隸
46.
答案:
inti=0;
105j^-
num[j]=1
47.
答案dnti
n=9;
n>
=2ti-1•11—
48.
i"
ie0;
|e):
i44-
fl-um4<
=a[订
49.
答案!
usinxnamespace馳d
a[i]k'
A'
&
a[i]
50.
答jfopndUne;
plOp】)“2(叔)
[解析]友元类的使用,定义line是Roint类的友元类•成刼対叙勺初姑化采用列表的形式。
五JS序分析画聿大题共2小甌毎小題5分.共10分,
51.答案:
Baw(LO)
D«
rived(10,20)
1020
“Derived()
~Baac()
52.答^:
x=5;
y=3;
x=5
04737C卄輕序设计试題答窠及评分参考笫1页(共2贰
六、養序设计題(本大题共10分)
51答案:
classSquare:
publicShcfie
Ipublic*
Squarc(double|\
doublearea()const|relumside*bide;
|private:
doubleBide;
L
classTrapezoid;
publicShape
Ipublic:
Trapezoid(doublei,doublej,doublek):
a(i;
b(j),b(k)
doublearca()con»
t|relum((a+b)*h/2);
[private:
doubleabh;
Ii
classTriangle:
publicShape
{public:
Triangle(doobEei,doublej)«
w(i)fh(j)
dauihlenrea()const|return(w*h/2)$|privaic:
doubleWjh;
I3
i
Shape*p[5];
Squaresft(5);
Trapcwjidtd(2,5.4”
Trianglele(5t8);
p[0]二&
SC;
p[i]=&
t4i
p[Z]=&
(€】
douMada=0;
for(jntis0;
3;
i++)
[da+=p[i]->
nrca();
cwt«
n总面积是;
r,«
d$«
ciidl;
04737C++程序设计试题答案及评分参考第2页(共2页)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 C+ 程序 设计 04737 试题 答案 解析