自考C++程序的设计04737试题和答案解析.docx

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

自考C++程序的设计04737试题和答案解析.docx

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

自考C++程序的设计04737试题和答案解析.docx

自考C++程序的设计04737试题和答案解析

2015年10月高等教育自学考试全国统一命题考试

C++程序设计试卷

(课程代码04737)

本试卷共10页,满分100分,考试时间150分钟。

考生答题注意事项:

1.本卷所有试题必须在答题卡上作答。

答在试卷上无效,试卷空白处和背面均可作草稿纸。

2.第一部分为选择题。

必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。

3.第二部分为非选择题。

必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。

4.合理安排答题空间,超出答题区域无效。

第一部分选择题

一、单项选择题(本大题共20小题,每小题1分。

共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。

未涂、错涂或多涂均无分。

1.在C++语言中用于注释的标识符是

A・&B・//C・嵐D・/

2.编写C卄程序一般需经过的几个步骤依次是

A.编辑、调试、编译、连接B.编译、调试、编辑、连接

C.编译、编借.连接、运行D・编辑、编译、连接.运行

3.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用

A.

D.函数模板

D.8

D・x

联函数B.重载函数C.部函数

4.设x=8,执行语句Y=x++,则y等于

A.6B.7C・9

5.下列运算符中,优先级最髙的是

A.*B.—>C.&&

6.关于new运算符的下列描述中,错误的是

A.它可以用来动态创建对象和对象数组

B.使用它创建的对彖和对象数组可以使用运算符delete删除

C.使用它创建对象时要调用构造函数

D.

使用它创建对彖数组时必须指龙初始值

10・假左a为一个整型数组名,则元素乱4]的字节地址为

□・类中能访问静态成员的函数是

C•构造函数D•析构函数

A.虚函数B.静态成员函数

22・下列说明语句中正确的是

A.inta,&ra=a,&&ref=raB・int&refa[10]

C・inta,&ra二a,&*refp=&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<<"«

setprecisionQ«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

usingnamespacestd;

base(inta){p=

I

intget(){relump;

I

I;

intmain()

{

baseb{3);cout«b.get();

42.#includeusingnamespacestd;classbase)inta;intget()|returna;

I

voidsetValue(intb){a=b;

I

intgeta(){returna;

I

I;

intmain()

{..

baseb;

b.setValue(7);return0;

43.#includeusingnamespace9td;classA|

intx;

inty;puhlic;

A(inta^intb){

y$b;

血get()Ireturnx4-y;

I

I;

X=5.

intmain()

I

COUt«弘get()«cndl;return0;

44.^include

usingnamespacestd;classA|intx;

public:

A(inta){

x=a;

I

voidseL(inta){

x=a;

I

voidget()(

cout«x«cndl;;

1

I;

intmain()

{

constAa(4);

a.set(6);

乩get();

a.set(10);

»•卯();return0;

I

45.#include

usingnamespacestd;classbase|

inta,b;

public:

voidsetzero()|

x=0;y=0;

I

voidshow()(

cout«x«nw«y«endl;

I

1;

intmain()\

baseb;

b.setzero(0,0);

return0;

I

四、完成程序题(本大题共5小题,每小题4分,共20分)请在答题卡上作答。

46・用简单选择法对10个数排序,使英从小到大排列。

#includewstdafx^h"

^includeusingnamespacestd;intmain(void)

I

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;

I

47・打印以下图案:

#includenatdafx.hM解includeusingnam

{

intj■巧

for()//i控制行号

I

fbr(j=1;jvi;j—)//j控制空格cout«1$

for()//n控制星号

cout«H.'・;cout«endl•

48.任意输入10个同学的成绩,汁算苴平均成绩。

要求用函数averageOHM平均成绩,主函数输入数据并输出结果。

#includewstdafi.h”

#includc

usingnamespacestd;

voidmain(void)

I

floataverage(floataf]);

flcAtSftre[10];

for()

I

cin»score[i];

I

cout«,waverage:

H«average(score)«endl;

I

floataverage(floata[])

I

floatsum=0;

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

I‘

return(sum/10};

I

49.编一个函数to_lower(),实现将字符串中的大写字母转换成相应小写字母。

主函数输入数据并输出结果。

#include”stdafe.h"

#include

voidmain(void)

I

voidtoJower(chara[]);

char9tr[10];

ciu»str;

to—lower(str);

cout«str«endl;

1

voidto_lower(chara[])

I-

fbr(inti=0;i<订!

二';i卄)

if()

a[i]+=32;

I

50・下而程序用来求直角三角形斜边长度。

#include#includeclassLine;

classPoint

Iprivate:

doublex,y;

public:

Point(doublei=0,doublej=0)|x=i;y=j;)

Point(Point&p)

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(》«endl;

5.程序分析题(本大题共2小题,每小题5分,共10分)请在答题卡上作答。

5i・给如下而程序输岀结果。

^include

classBase

|private:

intY;

public:

Base(inty=0)|Y=y;cout«11Base(H«y«w)\nM;|

~Base()[couit«"~Ba&e()\nM;|

voidprint()|cout«Y«nw;|

I;

classDerived:

publicBase

|private;

intZ;

public:

Derived(intyfintz)

|Z=z;

cout«"Derived(w«y«M»w«z.«w)Xn";

I

~Derived(){cout«w-Derived()\nn;)

voidprint()

IBase:

print();

I

I;

voidmain()

|Derivedd(10F20);

d.print();

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

#indude”iostream,h理

voidmain()

I

intx,yTz;

x=3;

y=x卄:

z=++x;

cout«frx=f,«k«u;y=1t«y«n;z="«z«endl;

}

六、程序设计题(本大题共I小题,共I0分)

请在答题卡上作答。

53.写一个程序,定义一个抽象类Shape,由它派生3个类:

Square(lE方形)、Trapezoid(梯形)和Triangle(三角形卜用虚函数分别计算几种图形而积、并求它们的和。

要求用基

类指针数组,使它每一个元素指向一个派生类对象。

#include

classShape

jpublic:

virtualdoublearea()const=0;

h

绝密*启用前

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;i<105j^-

num[j]=1

47.

答案dnti

n=9;n>=2ti-1•11—

48.

答案:

i"ie0;i<|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)

II

doublearca()con»t|relum((a+b)*h/2);[private:

doubleabh;

Ii

classTriangle:

publicShape

{public:

Triangle(doobEei,doublej)«w(i)fh(j)

II

dauihlenrea()const|return(w*h/2)$|privaic:

doubleWjh;

I3

voidmain()

i

Shape*p[5];

Squaresft(5);

Trapcwjidtd(2,5.4”

Trianglele(5t8);

p[0]二&SC;

p[i]=&t4i

p[Z]=&(€】

douMada=0;

for(jntis0;i<3;i++)

[da+=p[i]->nrca();|

cwt«n总面积是;r,«d$«ciidl;

04737C++程序设计试题答案及评分参考第2页(共2页)

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

当前位置:首页 > 医药卫生

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

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