自考04737C++程序设计01历年真题及答案Word下载.docx

上传人:b****6 文档编号:8622643 上传时间:2023-05-12 格式:DOCX 页数:16 大小:88.29KB
下载 相关 举报
自考04737C++程序设计01历年真题及答案Word下载.docx_第1页
第1页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第2页
第2页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第3页
第3页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第4页
第4页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第5页
第5页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第6页
第6页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第7页
第7页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第8页
第8页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第9页
第9页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第10页
第10页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第11页
第11页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第12页
第12页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第13页
第13页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第14页
第14页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第15页
第15页 / 共16页
自考04737C++程序设计01历年真题及答案Word下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

自考04737C++程序设计01历年真题及答案Word下载.docx

《自考04737C++程序设计01历年真题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《自考04737C++程序设计01历年真题及答案Word下载.docx(16页珍藏版)》请在冰点文库上搜索。

自考04737C++程序设计01历年真题及答案Word下载.docx

C.通过该类对象访问D.本类的成员函数中

13.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是()

A.编译器总是自动创建一个不带参数的构造函数

B.这个类没有构造函数

C.这个类不需要构造函数

D.该类不能通过编译

14.一个类可包含析构函数的个数是()

A.0个

B.1个

C.至少一个

D.0个或多个

15.this指针存在的目的是()

A.保证基类公有成员在子类中可以被访问

B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码

C.保证基类保护成员在子类中可以被访问

D.保证基类私有成员在子类中可以被访问

16.下列关于类的权限的描述错误的是()

A.类本身的成员函数只能访问自身的私有成员

B.类的对象只能访问该类的公有成员

C.普通函数不能直接访问类的公有成员,必须通过对象访问

D•—个类可以将另一个类的对象作为成员

请在每小题的空格中填上正确答案。

错填、不填均无分。

21.

C++语

设要把一个文件输出流对象myFile与文件“f:

\myText.txt”相关联,所用的

句是:

22.C++中ostream类的直接基类是。

23.运算符[]只能用运算符来重载,不能用友元运算符来重载。

24.定义虚函数所用的关键字是。

25.vector类中用于返回向量中第1个对象的方法是。

26.在C++中,利用向量类模板定义一个具有20个char的向量E,其元素均被置为字符

‘t'

,实现此操作的语句是。

27.类的继承是指子类继承基类的和成员函数。

28.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为。

29.指令指示编译器将一个源文件嵌入到带该指令的源文件之中。

30.设类A有成员函数

voidFun(void);

要定义一个指向类成员函数的指针变量pafn来指向Fun,该指针变量的声明语句是

31.设在程序中使用如下语句申请了一个对象数组:

Point*ptr=newPoint[2];

则在需要释放ptr指向的动态数组对象时,所使用的语句是。

32.在保护派生中,基类权限为Private的成员在派生类中。

33.类A有如下成员函数

intA:

fun(doublex){return(int)x/2;

}

fun(intx){returnX*2;

}

设a为类A的对象,在主函数中有ints=a.fun(6.0)+a.fun

(2),则执行该语句后,s

值为。

34.对象传送的消息一般由3部分组成:

接收对象名、调用操作名和。

35.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的。

36.在使用string类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不

含指定的子串,find函数的返回值是。

37.在C++中,声明布尔类型变量所用的关键字是。

38.执行下列代码

inta=29,b=100;

cout<

<

setw(3)<

a<

b<

endl;

程序的输出结果是:

39.执行下列代码

"

Hex:

hex<

255;

程序的输出结果为。

40.C++语言中可以实现输出一个换行符并刷新流功能的操控符是。

三、改错题(本大题共5小题,每小题2分,共10分)下面的类定义中有一处错误,请用下横

线标出错误所在行并指出错误原因。

41.#include<

iostream.h>

main(){

intx=5,y=6;

constint*p=&

x;

*p=y;

*p<

endl;

42.#include<

classf{

private:

intx,y;

public:

fl(){x=0;

y=0;

main(){

fa;

a.fl(1,1);

a.print();

43.#include<

intx=0,y=0;

voidfl(intavoidget(){cout<

x<

'

};

a.fl(1,3);

a.get();

44.#include<

,intb){x=a;

y=b;

,'

y<

classpoint{private:

floatx;

voidf(floata){x=a;

voidf(){x=0;

friendfloatmax(point&

a,point&

b);

};

floatmax(point&

b)

{return(a.x>

b.x)?

a.x:

b.x;

}main(){

pointa,b;

a.f(2.2);

b.f(3.3);

a.max(a,b);

45.#include<

template<

classT>

classf{private:

Tx,y;

public:

voidfl(Ta,Tb){x=a;

y=b;

Tmax(){return(x>

y)?

x:

y;

};

a.fl(1.5,3.8);

a.x<

a.y<

a.max()<

endl

四、完成程序题(本大题共5小题,每小题4分,共20分)

46.完成下面类中的成员函数的定义。

classpoint

{

intm,n;

point(int,int);

point(point&

);

point:

point(inta,intb)

m=a:

=b;

point()

m=t.m;

n=t.n;

47.下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。

#include<

iostream>

usingnamespacestd;

pi=3.14159;

voidmain()

doubler;

r="

doublel=2.0*pi*r;

doubles=pi*r*r;

\nThelongis:

"

l<

endl;

Theareais:

s<

48.在下划线处填上缺少的部分。

fstream>

classcomplex

public:

intreal;

intimag;

complex(intr=0,inti=O)

real=r

imag=i;

complexoperator+(,complex&

intr=a.real+b.real;

inti=a.imag+b.imag;

return;

complexx(1,2),y(3,4),z;

z=x+y;

z.real<

+"

z.imag<

i"

49.程序的输出结果如下:

1,9

50,30请根据输出数据在下面程序中的下划线处填写正确的语句。

源程序如下:

usingnamespacestdclassbase

{private:

intm;

base(){};

base(inta):

m(a){}intget(){returnmvoidset(inta){m=a};

voidmain(){base*ptr=newbase[2]ptr->

set(30)ptr=

ptr->

set(50)basea[2]={1

delete[]ptr;

50.在下面横线处填上求两个浮点数之差的cha函数的原型声明、调用方法。

floata,b;

//函数cha的原型声明

a=12.5;

b=6.5;

floatc=;

//调用函数cha

c<

floatcha(floatx,floaty)

floatw;

w=x-y;

returnw;

五、程序分析题(本大题共4小题,每小题5分,共20分)

51.给出下面程序的输出结果。

template<

classSample

Tn;

Sample(Ti){n=i;

intoperator==(Sample&

intSample<

T>

operator==(Sample&s)

if(n==s.n)

return1;

else

return0;

Sample<

int>

sl

(2),s2(3);

sl与s2的数据成员"

(sl==s2?

相等”:

不相等”)<

Sample<

double>

s3(2.5),s4(2.5);

s3与s4的数据成员"

(s3==s4?

相等”:

不相等"

)<

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

Tmax(Tml,Tm2)

{return(ml>

m2)?

ml:

m2;

voidmain(){

max(1,7)<

\t"

max(2.0,5.0)<

max('

y'

,‘b'

\t"

max("

A"

"

a"

53.给出下面程序的输出结果

classA{

intx;

A(){}

A(inta){x=a;

intget(inta){returnx+a;

}};

Aa(8);

int(A:

*p)(int);

p=A:

get;

(a.*p)(5)<

A*pi=&a;

(pi->

*p)(7)<

54.给出下面程序的输出结果。

include<

string>

classBook{

char*title;

char*author;

intnumsold;

Book(){}

Book(constchar*strl,constchar*str2,constintnum){

intlen=strlen(strl);

title=newchar[1en+1];

strcpy(title,strl);

len=strlen(str2);

author=newchar[1en+1];

strcpy(author,str2);

numsold=num;

}voidsethook(constchar*strl,constchar*str2,constintnum){

〜Book(){

deletetitle;

deleteauthor;

voidprint(ostream&

output){output<

书名:

title<

output<

作者:

author<

月销售量:

numsold<

Bookobjl("

数据结构"

,"

严蔚敏"

,200),obj2;

objl.print(cout);

obj2.setbook("

C++语言程序设计"

李春葆"

,210);

obj2.print(cout);

六、程序设计题(本大题共l小题,共10分)

55.在三角形类TRI实现两个函数,功能是输入三个顶点坐标判断是否构成三角形#include<

math.h>

classpoint{

floatx,y;

voidset(floatafloatgetx(){returnxfloatgety(){returny

point(){x=O;

y=O;

,floatb){x=a;

};

classtri{

pointx,y,z;

floatsl,s2,s3;

public:

settri();

//用于输入三个顶点坐标

test();

//用于判断是否构成三角形

请写出两个函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)

绝密★启用前编号:

231

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

C++程序设计试题答案及评分参考

(课程代码04737)

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

1.B2.A3.C4.C5.A6.A7.A&

C9.A10.B

11.C12.D13.A14.B15.B16.A17.B1&

B19.A20.B二、填空题(本大题共20小题,每小题1分,共20分)

21.myFile.open(nf:

\\myText.txt"

);

23.类

25.front()

27.数据成员

29.#include

31.delete[]ptr;

33.7

35.地址值

37.bool

22.ios类

24.virtual

26.vector<

char>

E(20/t*);

2&

多态性

30.void(A:

♦pafn)(void);

32.不可访问

34.必要的参数

36.-1

38.—29100

40.endl

39.Hex:

ff

三、改错题(本大题共5小题,每小题2分,共10分)

下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。

各1分

41.

*P=y;

指向常量命指针P不能进行左值操作

a.fi(i,i);

no调用时实参与形参数虽不一致

private:

intx=0,y=0;

数据成员声明时不允许直接赋值

cout<

<

a.max(a.b);

max()不是类的成员函数,不能用a.max()方式调用

a.x<

a.y<

a.max()<

endl;

x,y是私有类型,不能在主函数中直接使用企。

四、完成程序题(本大题共5小题,每小题4分,共20•分)

46.npoint&

t

47・constdoublecin>

>

r

42.

43.

44.

45.

48・complex&

acomplex(r,i)

49.ptr+1;

ptr->

gct()

50.floatcha(float,float);

cha(atb)

04737C++程序设计试题答案及评分参考第1页(共2施卫盟S為

 

五、程序分析题(本大题共4小题,每小题5分,共20分)

51.S,与S2的数据成员不相等

S3与S4的数据成员相等

52.75Jy4•

ya-

或53.13°

15

54.书名:

数据结构’&

&

作者:

严蔚敏歹夕

月销售凰:

200

@书名:

C++语言程序设计於*

余作者:

李春葆冷・冷・

麝月销售1ft:

210療麝

六、程序设计题(本大题共1小题,共10分)

55.voidtri:

:

test()|

si=sqrt((x.gctx()-y.gctx())♦(x.getx()・y.getx())+(x.gety()-y.getyO)

♦(x.gety()-y.getyO));

s2=scpl((x.getx()・z.getx())♦(x.getx()-z.gclx())+(x.gety()-z.gcty())

*(x.gety()-z.gety()));

s3=sqrt((y.getx()-z.gctx())♦(y.getx()-z.gctx())+(y.gety()-z.gety())“*(y-gcly()-z.gety()));

if(sl==s2+s311s2==sl+s3lIs3==sl+s2)

W”三个顶点坐标不能构成二角形”,

elsecout<

”三个顶点坐标能构成三角形”;

I(6分)

voidtri:

settri(floatxl9floatyl,floatx2ffloaty2,floatx3,floaty3)

Ix・set(xlfyl);

y.set(x2,y2);

z.set(x3,y3);

|(4分)

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

觸・0却学员的用上豪■

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

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2