自考C++程序的设计04737试题和答案解析Word文档格式.docx

上传人:b****4 文档编号:18488170 上传时间:2022-12-17 格式:DOCX 页数:15 大小:65.61KB
下载 相关 举报
自考C++程序的设计04737试题和答案解析Word文档格式.docx_第1页
第1页 / 共15页
自考C++程序的设计04737试题和答案解析Word文档格式.docx_第2页
第2页 / 共15页
自考C++程序的设计04737试题和答案解析Word文档格式.docx_第3页
第3页 / 共15页
自考C++程序的设计04737试题和答案解析Word文档格式.docx_第4页
第4页 / 共15页
自考C++程序的设计04737试题和答案解析Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

自考C++程序的设计04737试题和答案解析Word文档格式.docx

《自考C++程序的设计04737试题和答案解析Word文档格式.docx》由会员分享,可在线阅读,更多相关《自考C++程序的设计04737试题和答案解析Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

自考C++程序的设计04737试题和答案解析Word文档格式.docx

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<

<

"

«

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«

cndl;

1

constAa(4);

a.set(6);

乩get();

a.set(10);

»

•卯();

return0;

45.#include<

classbase|

inta,b;

voidsetzero()|

x=0;

y=0;

voidshow()(

nw«

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:

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«

nw;

I;

classDerived:

publicBase

intZ;

Derived(intyfintz)

|Z=z;

Derived(w«

z.«

w)Xn"

~Derived(){cout«

w-Derived()\nn;

voidprint()

IBase:

print();

lout«

|Derivedd(10F20);

d.print();

52.给岀下面程序输出结果。

#indude”iostream,h理

intx,yTz;

x=3;

y=x卄:

z=++x;

frx=f,«

u;

y=1t«

n;

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)

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页)

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

当前位置:首页 > 高等教育 > 教育学

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

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