好文档 - 专业文书写作范文服务资料分享网站

全国2012年1月高等教自学考试C++程序设计试题及答案 

天下 分享 时间: 加入收藏 我要投稿 点赞

全国2012年1月高等教育自学考试

C++程序设计试题 课程代码:04737

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

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.如声明对象数组,则下列描述正确的是A A.对每个元素均调用一次构造函数

B.部分元素调用构造函数,其它元素不需调用 C.均不需要调用构造函数 D.只是首元素调用构造函数

2.不同对象调用同一成员函数时,this指针指向A A.不同对象 C.无对象

B.相同对象 D.不确定

3.设存在函数intmax(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式正确的是D

A.intm=max(22,max(59,70));

B.intm=max(max(22,59),max(59,70)); C.intm=max(max(22,70),59); D.以上皆正确

4.一个类可拥有多少个构造函数C A.0个

B.1个

D.以上皆对 B.#define

C.1或多个 A.#include C.#if

5.在编译指令中,嵌入指令是指A

D.#else

B.sort(a,a+Len,b);

6.设存在数组a,其长度为Len,下列哪项操作是将a中元素复制到数组b中D A.reverse(a+a,Len,b);

C.find(a,a+Len,b); D.copy(a,a+Len,b); 7.下列哪个要素不是面向对象的关键要素A A.模块化

B.抽象性

C.封装性 D.继承性

8.下列对于类的描述错误的是C A.类要先声明后使用 B.类是具有唯一标识的实体 C.两个类可以使用同一个名称

D.组成类的不仅有数据,还可以有对数据进行操作的函数 9.使用引用调用方式将实参传给形参,下列说法正确的是A A.形参是实参的备份

B.实参是形参的备份

D.形参和实参无联系

C.形参和实参共享同一对象 A.同一类对象之间可相互赋值 B.不能使用对象数组 C.对象可以用作函数参数

D.一个对象可以用作另一个类的成员 11.类的私有成员可在哪里被赋值B A.类体中 C.A和B

B.该类的成员函数中 D.以上都不是

10.关于对象的性质,下列描述错误的是B

12.设存在数组a,其长度为Len,则下列哪个泛型算法用于反转a中各元素A A.reverse(a,a+Len); B.sort(a,a+Len); C.find(a,a+Len,value); D.copy(a,a+Len,b); 13.用于标识八进制常量的前缀或后缀是C A.无

B.后缀L或1

D.前缀Ox

C.前缀零

14.派生类中继承的基类成员初始化如何进行A A.由派生类构造函数调用基类的构造函数进行 B.由派生类构造函数进行

C.由基类构造函数进行,无需派生类构造函数调用 D.以上皆不正确

15.对于多重继承,下列描述正确的是B A.所有基类使用相同的派生方式 C.只能是public派生

B.每个基类可使用不同派生方式

D.只能是protected派生

16.下列关于类的权限描述错误的是B A.类本身的成员函数可以访问自身的任何成员 B.类的对象可以访问该类的所有成员

C.普通函数不能直接访问类的公有成员,必须通过成员函数对其访问 D.一个类可以将另一个类的对象作为成员 17.运算符delete与哪个函数一起运行B A.构造函数 B.析构函数 C.主函数

D.不与任何函数一起工作

18.一个类可以获得另一个类的特性的机制称为C A.抽象 B.封装 C.继承 D.多态性

19.使用下列哪个格式控制符可设置转换十六进制为十进制A A.dec B.oct C.hex D.endl

20.对引用调用描述正确的是D A.分配新存储空间

B.修改已存储空间的名称为引用名 C.引用名与已存在存储空间无任何关联

D.将引用名标识符与一块已存在储区域相关联,没有分配新存储空间 二、填空题(本大题共20小题,每小题1分,共20分) 请在每小题的空格中填上正确答案,错填、不填均无分。

21.公共派生中,基类的公有成员在派生类中是___公有成员___。

22.若要使用标准输入流机制从键盘输入一个整数赋给整型变量a,相应的C++语句是___ cin>>a;___。

23.UML中对象行为之间的动态关系是通过对象行为之间的依赖关系表现的,称之为_

消息链接_____。

24.C++函数中按引用调用传递参数时使用___对象别名___作为参数。

25.在C++中除具有__循环____语句和switch语句的函数外,其它函数都可以说明为内

联函数。

26.C++中规定模板以__ Template ____关键字和一个形参表示开头。

27.构造函数不能被继承,一个派生类只能调用它的__直接____基类的构造函数。 28.vector类中用于获取存放的元素个数的方法是__ Size();____。 29.C++中istream类的直接基类是___ Ios类___。

30.要关闭一个文件输出流对象myFile,所用的C++语句是___ myFile.close();___。 31.执行下列代码 3.1 doublepi=3.141592 cout P>

32.在私有派生中,基类的权限为private的成员,在派生类中__不可访问____。 33.C++总共有3种文件流,分别是输入文件流、输出文件流和__.输入输出文件流____。 34.C++使用流进行输入输出,其中能捕获键盘输入的对象是__ Cin ____。

35.在vector类中删除向量中最后一个对象的方法是___ pop_back(const T &) ___。 36.函数重载可使一个函数名具有多种功能,称这种特性为__多态性____。

37.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是引进了___

对象___概念。

38.__ #define ____指令定义一个标识符及串,在源程序中每次遇到该标识符时,编译

器均用定义的串代替之。

39.在C++标准输出方式中,要设置输出数据字段宽度width所使用的操控符是__

Setw(int width)____。

40.设有定义intx;floaty;,则10+x+y值的数据类型是___ Float ___。 三、改错题(本大题共5小题,每小题2分,共10分)

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

41. #include main(){

intx=9,y=8,z=7; constint*p=z; cout<<*p<< P>

}

const int * p=z;

普通变量不能给指针变量赋值 改为

42. #include main(){ intx=8,y=6; constint*constp=&x; p=&y; cout<<*p<< P>

}

const int * p= & z;

P=& y; p是指向常量的常量指针

43. #include main(){ folatp; p=newfolat[5]; for(inti=0;i<5;i++)

{cin>>*(p+i);cout<<*(p+i)<< P> deletep;

}

folat p; float关键字错误

44. template

Tf(Tx){ Ty; y=x+T; returny;

}

y=x+T; T是类型名

45. #include classpoint{ intx;

public:voidinit(inta){x=a;} intgetx(){returnx;} voidsetx(inta){x=a;} }; main(){ pointa; a.init(20,30); cout P>

}

public : void init (int a) //a.init ( 20,30); 函数重载

改为a.init(20) ;或a.init(30) ;

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

46.在下面程序的下划线处填上正确的语句,使其得到下面的输出结果。 x=2,y=3 #include classSample { intx,y; public:

Sample(){ x=y=0; }

Sample(inta,intb){ x=a;

(____y=b; ______) }

voiddisp()

4g4c5455k08njyy27jlf
领取福利

微信扫码领取福利

微信扫码分享