C 自考历年真题小集 下载本文

}

52. #include

using namespace std; class A { int a; public:

A(int aa=0){a=aa;}

~A( ){cout <<″Destructor A!″<}; class B:public A{ int b; public:

B(int aa = 0,int bb = 0):A(aa){b = bb;}

~B( ){cout <<″Destructor B!″<< b << endl;} };

void main( ){ B x(5),y(6,7); }

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

53.下面Shape类是一个表示形状的抽象类,Area ( )为求图形面积的函数。请从Shape类派生梯形类(Trapezoid)、圆形类(Circle),三角形类(Triangle),并给出具体的求面积函数。其中,所有派生类计算面积需要用到的参数由构造函数给出,梯形面积计算需要上底、下底和高,三角形面积需要底和高,圆形面积需要半径。 形状的抽象类声明如下:考试大收集整理 class Shape { public:

virtual double Area( ) = 0; };

全国2010年1月高等教育自学考试 C++程序设计试题 课程代码:04737

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

1.在C++中,头文件扩展名为( ) A..cpp B..h C..1ib D..obj

2.下列符号中,不属于分隔符的是( ) A., B./ C.; D.{}

3.可替换#definePI3.1415926的语句是( ) A.float PI 3.1415926;

B.const float PI=3.1415926; C.const PI(3.1415926); D.const 3.1415926;

4.布尔类型标识符是( ) A.void B.short C.long D.bool

5.下列不是C++语言的基本数据类型的是( ) A.字符类型 B.整数类型 C.逻辑类型 D.枚举类型

6.C++允许在结构中定义函数,这些函数称为( ) A.静态函数 B.构造函数 C.析构函数 D.成员函数

7.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为( ) A.9 B.10 C.11 D.未知

8.下列哪种默认参数的声明是不正确的( ) A. int max(int a,int b,int c,int d=0); B. int max(int a,int b,int c=0,int d=0); C. int max(int a=0,int b,int c=0,int d=0); D. int max(int a,int b=0,int c=0,int d=0);

9.设int &max(int &,int &)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为( ) A.10,15 B.11,15 C.10,16 D.1l,16

10.包含哪种语句的函数不能声明为内联函数( ) A.循环

B.变量自增自减 C.if...else? D.变量声明

11.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来( ) A.<> B.“” C.() D.{}

12.一个类拥有多个构造函数,则这些构造函数间为( ) A.重载关系 B.重复关系 C.拷贝关系 D.无关系

13.对于拷贝构造函数point::point(point& p),下列说明正确的是( ) A.该函数只能访问P的私有成员 B.该函数不能访问P的公有成员

C.该函数可以访问P的私有和公有成员 D.该函数不能访问P的成员

14.使用delete[]删除对象数组时,描述正确的是( ) A.数组中各元素都调用析构函数 B.数组中各元素都调用构造函数 C.不调用析构函数

D.只有首元素调用析构函数

15.下列哪个指令属于条件编译指令( ) A. #elif B. #error C. #pragma D. #include

16.设类Test中存在成员static int x,则下列哪种初始化方式是正确的( )

A.Test::int x=25; B.int x=25; C.int Test::x=25; D.int Test x=25;

17.下列关于友元的描述错误的是( ) A.成员函数不可作友元 B.类可以作友元

C.普通函数可以作友元 D.静态函数可以作友元

18.在继承中,派生类拥有的基类个数为( ) A.0个 B.1个 C.多个

D.至少1个

19.基类中的protected成员,通过public派生,其在派生类中的可见性为( ) A.不可访问 B.private C.protected D.public

20.下列哪个不是面向对象的关键要素( ) A.抽象性 B.结构性 C.封装性 D.多态性

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

请在每小题的空格中填上正确答案。错填、不填均无分。 21.在STL库中用于实现数组内容反转的函数是______。

22.若要使用C++标准类库,需要指定相应的命名空间,所用的语句是______。

23.C++语言中的整数常量有4种描述类型:十进制常量、长整型常量、八进制常量和______。 24.声明一个名为a的整型引用变量所使用的语句是______。 25.重载的运算符仍保留原有的优先级、______和语法结构。 26.执行代码 int b=100;

cout<程序的输出结果是______。

27.带有纯虚函数的类称为抽象类,它只能作为______来使用。 28.使用______作为函数参数,实参对象和形参对象代表同一对象,改变形参对象的值就是改变实参对象的值。

29.UML中对象之间的静态关系是通过对象属性之间的连接反映的,称之为______。 30.如果一个模板声明列出多个参数,则多个参数之间必须使用逗号隔开,每个参数都必须重