C++全国自学考试含KEYWord下载.docx

上传人:b****5 文档编号:16781616 上传时间:2022-11-26 格式:DOCX 页数:14 大小:20.03KB
下载 相关 举报
C++全国自学考试含KEYWord下载.docx_第1页
第1页 / 共14页
C++全国自学考试含KEYWord下载.docx_第2页
第2页 / 共14页
C++全国自学考试含KEYWord下载.docx_第3页
第3页 / 共14页
C++全国自学考试含KEYWord下载.docx_第4页
第4页 / 共14页
C++全国自学考试含KEYWord下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C++全国自学考试含KEYWord下载.docx

《C++全国自学考试含KEYWord下载.docx》由会员分享,可在线阅读,更多相关《C++全国自学考试含KEYWord下载.docx(14页珍藏版)》请在冰豆网上搜索。

C++全国自学考试含KEYWord下载.docx

c'

};

B.charstr[2]={'

,'

};

C.charstr[1][2]={{'

},{'

e'

d'

}};

D.charstr[][]={'

7.C++类中定义的成员默认访问属性为(B)

A.public

B.private

C.protected

D.friend

8.决定C++语言中函数的返回值类型的是(D)

A.return语句中的表达式类型

B.调用该函数时系统随机产生的类型

C.调用该函数时的主调用函数类型

D.在定义该函数时所指定的数据类型

9.函数int&

min(int&

,int&

)返回参数中较小者,设有两整型变量inta=10;

intb=15;

在执行语句min(a,b)--;

之后,a,b值分别为(B)

A.9,14

B.9,15

C.10,14

D.10,15

10.声明函数为内联函数时所使用的关键字为(B)

A.const

B.inline

D.signed

11.函数intsum(inta=l,intb=1,intc=3)可与下列哪个函数同时声明(C)

A.doublesum(int);

B.charsum(int,int);

C.intsum(double);

D.intsum(int,int,int);

12.函数模板template<

typenameT>

voidFunc(T,T)可具有下列哪种实例化形式(B)

A.voidFunc(float,int)

B.voidFunc(char,char)

C.voidFunc(int,double)

D.voidFunc(bool,float)

13.下列访问成员的方式哪个是正确的(A)

A.对象名.对象成员名

B.对象指针名.对象成员名

C.对象名→对象成员名

D.类名→对象成员名

14.对类A,复制构造函数的原型是(A)

A.A:

A(constA&

);

B.A:

A(constA*);

C.A:

A(constA);

D.A:

A();

15.对classpoint,如使用point*ptr=newpoint[2];

创建对象数组,则删除此数组使用的语句是(B)

A.deleteptr[2];

B.delete[]ptr;

C.deleteptr[];

D.delete[2]ptr;

16.下列哪个编译指令不属于条件编译指令(D)

A.#if

B.#else

C.#endif

D.#error

17.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x

的值为(B)

A.未初始化

B.等于a.x

C.等于0

D.随机

18.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是(C)

A.strlen()

B.strcap()

C.strcat()

D.strcmp()

19.基类中的public成员,通过public派生,其在派生类中的访问权限为(D)

A.不可访问

D.public

20.不同对象调用同名函数,但导致完全不同行为的现象称为(D)

A.抽象

B.封装

C.继承

D.多态性

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

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

错填、不填均无分。

21.在C++语言的面向对象设计框架中,__类_____是程序的基本组成单元。

22.执行代码doublepi=3.1415192;

cout<

<

setprecision(3)<

pi;

程序的输出结果是__3.14_____。

(setprecision(3)格式操纵符指定输出数据的有效数字的位数)

23.C++语言提供的的基本控制结构可以分为3种类型:

顺序结构、__选择结构_____和循环结构。

24.要使用STL库提供的对数组进行降幂排序算法,在源程序中需要包含的头文件是_functional_____。

25.在C++标准库中,用_complex______类来表示复数。

26.将对象作为函数参数,是将实参对象的__值_____传递给形参对象,这种传递是单向的。

27.C++函数的返回类型可以是除数组与__函数_____以外的任何类型。

(ch3)

28.能提供封装的C++关键字是__class_____。

29.在C++的类声明中,用public关键字声明的类成员的访问权限是_公有______。

30.开发一个C++语言程序的步骤通常包括编辑、_编译______、连接、运行和调试。

31.C++类中的__析构_____函数在对象的生存期结束时被自动调用。

32.友元函数可以存取类的_私有成员______、公有成员和保护成员。

33.若类的成员函数用关键字static进行修饰,这样的成员函数称为__静态成员函数_____。

34.在C++中,创建派生类对象时,总是先从__基类吸收来的数据成员_____的初始化开始的。

35.类的继承是指派生类继承基类的数据成员和_成员函数______。

36.在C++中,利用向量类模板定义一个具有20个double的向量,其元素均被置为0.5,实现此操作的语句是_vector<

double>

(20,0.5)______。

37.vector类中用于返回向量中的最后一个对象的方法是__back()_______。

38.虚函数类似于重载函数,但与重载函数的实现策略不同,对虚函数声明时应使用_virtual______关键字。

39.在C++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的__封装_____特性。

40.执行下列代码

cout<

showpoint<

123.0;

程序的输出结果是_123.______。

三、改错题(本大题共5小题,每小题4分,共20分)

下面的每个程序都有一处错误,请用下横线标出错误所在行并给出修改意见。

41.#include<

usingnamespacestd;

intmain(){

intnum;

max=10;

num=1//error可改为intnum,max=10;

num=1;

while(num<

max)num++;

<

″Num=″<

num;

return0;

}

42.#include<

classA{

voidshow(){

cout<

″Hello!

″;

intmain(){

Aa;

a.show();

//errorshow()成员函数在类A中为私有成员在类外不能访问,可以将该show()成员函数在类A中声明为公有public即可。

43.#include<

constintnum=20;

intscores[num];

for(inti=1;

i<

=num;

i++){//error循环变量会导致数组越界赋值。

可改为for(inti=0;

num;

i++){

scores[i]=i;

return0;

44.#include<

usingnamespacestd;

classCMax{

private:

intxx;

intyy;

public:

CMax(intx,inty)

{xx=x;

yy=y;

}

voidsetValue(intx,inty)

yy=y;

intmax(){

returnxx>

yy?

xx:

yy;

voidmain(){

CMaxm();

//error可给两个整型参数以满足构造函数的参数要求,如改为CMaxm(0,0);

或者定义默认构造函数(或者修改构造函数使其两个参数都带默认值),如改为CMaxm;

m.setValue(20,30);

″Max=″<

m.max()<

endl;

45.#include<

iosiream>

classA{

public:

charname[255];

private:

char*getName()

{returnname;

classB:

publicA{

B(char*n){

strcpy(name,n);

Bb(″Hello!

″);

″Name:

″<

b.getName();

//error应将基类A中的char*getName()函数的访问控制权限改为public

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

46.将下面程序补充完整,使程序输出结果为:

Begin

Welcome

Show

End

程序如下:

#include<

___A()_______{

″Begin″<

voidshow(){

″Show″<

____~A()_______{

″End″<

Aobject;

intmain(){

″Welcome″<

object.show();

47.请将下面程序补充完整,使程序可以正常打印9×

9乘法口诀。

inta;

intb;

___A(intx,inty)_______

{a=x;

b=y;

voidset(intx,inty)

voiddisplay(){

a<

*′<

b<

′=′<

a*b;

Aa(1,1);

for(inti=1;

=9;

i++){

for(intj=1;

__j<

=i__;

j++){

a.set(j,i);

a.display();

″″;

48.将下面程序补充完整,使程序可以输入学生信息并计算平均成绩。

string.h>

classStudent{

intscore[10];

Student(charn[],ints[]){

_strcpy(name,n)__________;

for(inti=0;

10;

score[i]=s[i];

voidShow(){

intsum=0;

_sum=sum+score[i]______________;

″名字:

name<

″,平均成绩:

sum/10;

″姓名:

″;

cin>

>

name;

″成绩″<

i+l<

″:

score[i];

Students(name,score);

s.Show();

49.将下面程序补充完整,使程序可以正常运行,并释放内存。

iostream.h>

__template<

classT>

_____

T*data;

intlength;

A(intlen){

length=len;

data=newT[len];

~A(){

__delete[]data;

_______

T&operator[](inti){

returndata[i];

A<

int>

obj

(2);

obj[0]=1;

obj[1]=2;

obj[0]<

obj[1]<

50.将下面程序补充完整,使程序运行结果为:

C1assA

ClassB

virtualvoidGetA()=0;

charstr[32];

voidGetA(){

″ClassA″<

constchar*GetB(){_returnstr;

____

B(char*s){

strcpy(str,s);

A*a;

Bb(″ClassB″);

a=_b________;

a->

GetA();

b.GetB()<

return;

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

51.#include<

inti,j;

for(i=l;

=4;

i+=1)

for(j=2;

j<

j+=j){

if(i+j<

5)

″+″;

else

″*″;

+*+*****

52.#include<

A(intaa=0){a=aa;

~A(){cout<

″DestructorA!

intb;

B(intaa=0,intbb=0):

A(aa){b=bb;

~B(){cout<

″DestructorB!

b<

endl;

Bx(5),y(6,7);

DestructorB!

7

DestructorA!

6

5

六、程序设计题(本大题10分)

53.下面Shape类是一个表示形状的抽象类,Area()为求图形面积的函数。

请从Shape类派生梯形类(Trapezoid)、圆形类(Circle),三角形类(Triangle),并给出具体的求面积函数。

其中,所有派生类计算面积需要用到的参数由构造函数给出,梯形面积计算需要上底、下底和高,三角形面积需要底和高,圆形面积需要半径。

形状的抽象类声明如下:

classShape{

virtualdoubleArea()=0;

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

当前位置:首页 > 小学教育 > 数学

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

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