C++模拟试题_1-2 下载本文

CPP程序设计

模拟考试 1--第2套试卷

1.c++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是(____) A.cout B.cin C.cerr D.cset

正确答案:【D】 分值:【1】

2.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(____) A.float B.char C.int D.double

正确答案:【D】 分值:【1】

3.下列对析构函数的描述中,正确的是(____) A.一个类中只能定义一个析构函数 B.析构函数名与类名不同

C.析构函数的定义只能在类体内 D.析构函数可以有一个或多个参数

正确答案:【A】 分值:【1】

4.下列定义数组的语句中正确的是(____)

A.#define size 10 char str1[size],str2[size+2]; B.char str[]; C.int num['10'];

D.int n=5; int a[n][n+2];

正确答案:【A】 分值:【1】

5.关于this指针使用说法正确的是(____)

A.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码 B.保证基类私有成员在子类中可以被访问。 C.保证基类保护成员在子类中可以被访问。 D.保证基类公有成员在子类中可以被访问。

正确答案:【A】 分值:【1】

6.所谓多态性是指(____)

A.不同的对象调用不同名称的函数 B.不同的对象调用相同名称的函数 C.一个对象调用不同名称的函数 D.一个对象调用不同名称的对象

正确答案:【B】 分值:【1】

7.派生类构造函数的执行顺序是先执行________ 的构造函数,然后执行成员对象的构造函数,最后执行________ 的构造函数。

正确答案:【基类 或 派生类】 分值:【1】

8.C++语言程序的注释可以出现在程序中的任何地方,一个注释以________ 作为开始和结束的标记。

正确答案:【/**/】 分值:【1】

9.下列程序在构造函数和析构函数中申请和释放类的数据成员int *a,申请时使用形参b初始化a,请填空。

class A {

public:

A(int b); ~A(); private: int *a; };

A::(int b) {________ ;} A::~A()

{________ ;}

正确答案:【a=new int(b) 或 delete a】 分值:【1】

10.C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是(____) A.增加了一些新的运算符

B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念

正确答案:【D】

11.下列有关模板和继承的叙述正确的是(____) A.模板和继承都可以派生出一个类系

B.从类系的成员看,模板类系的成员比继承类系的成员较为(____)稳定 C.从动态性能看, 继承类系比模板类系具有更多的动态特性

D.相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系

正确答案:【D】

12.关于new运算符的下列描述中,错误的是(____) A.它可以用来动态创建对象和对象数组

B.使用它创建的对象或对象数组可以使用运算符delete删除 C.使用它创建对象时要调用构造函数

D.使用它创建对象数组时必须指定初始值

正确答案:【D】

13.下列运算符中,在C++语言中不能重载的是(____) A.* B.>= C.:: D./

正确答案:【C】

14.已知 int i=0, x=1, y=0 ; 在下列选项使i的值变成1的语句是(____) A.if( x&&y ) i++ ; B.if( x==y ) i++ ; C.if( x||y ) i++ ; D.if( !x ) i++ ;

正确答案:【C】

15.sizeof(float)是(____) A.一个双精度型表达式 B.一个整型表达式 C.一种函数调用

D.一个不合法的表达式

正确答案:【B】

16.下面叙述不正确的是(____)

A.基类的保护成员在派生类中仍然是保护的成员 B.基类的保护成员在公有派生类中仍然是保护的 C.基类的保护成员在私有派生类中仍然是私有的 D.对基类成员的访问必须是无二义性

正确答案:【A】

分值:【1】

分值:【1】

分值:【1】

分值:【1】

分值:【1】

分值:【1】

分值:【1】

17.决定C++语言中函数的返回值类型的是(____) A.return语句中的表达式类型

B.调用该函数时系统随机产生的类型 C.调用该函数时的主调用函数类型 D.在定义该函数时所指定的数据类型

正确答案:【D】 分值:【1】

18.下面对于友元函数描述正确的是(____) A.友元函数的实现必须在类的内部定义 B.友元函数是类的成员函数

C.友元函数破坏了类的封装性和隐藏性 D.友元函数不能访问类的私有成员

正确答案:【C】 分值:【1】

19.不能作为重载函数的调用的依据是(____) A.参数个数 B.参数类型 C.函数类型 D.函数名称

正确答案:【D】 分值:【1】

20.面向对象的模型中,最基本的概念是对象和________。

正确答案:【类】 分值:【1】

21.在VC中,若定义一个函数的返回类型为void,以下叙述正确的是(____) A.函数返回值需要强类型转换 B.函数不执行任何操作 C.函数本身没有返回值

D.函数不能修改实际参数的值

正确答案:【C】 分值:【1】

22.函数参数的默认值不允许为(____) A.全局常量 B.直接常量 C.局部变量 D.函数调用

正确答案:【C】 分值:【1】

23.下列的描述中(____)是错误的。

A.使用全局变量可以从被调用函数中获取多个操作结果 B.局部变量可以初始化,若不初始化,则系统默认它的值为0 C.当函数调用完后,静态局部变量的值不会消失 D.全局变量若不初始化,则系统默认它的值为0

正确答案:【B】 分值:【1】

24.已知 int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, *p = a ;则不能表示数组 a 中元素的式子是(____) A.*a B.*p C.a

D.a[ p-a ]

正确答案:【C】 分值:【1】

25.已知int a[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 } ; 则不能表示数组元素a[2][1]的地址是(____)

A.&a[2][1] B.*(a[2]+1)