(0166)《面向对象技术》复习思考题

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(0166)《面向对象技术》复习思考题

一、选择题

1、下列关键字中,( )不是类定义中使用的关键字。

关键字中,( )不是类定义中使用的关键字。

的关键字。

A. class

B. public

C. switch

D. private

. public C. switch D. private

tch D. private

2、在new运算符的下列描述中,( )是错误的。

A. 它可以动态创建对象和对象数组;

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

C. 用它创建对象时要调用构造函数;

D. 用它创建的对象应使用运算符delete来释放。

3、主函数可以访问派生类的对象中它的哪一类基类成员?( )

A. 公有继承的基类的公有成员

B. 公有继承的基类的保护成员

C. 公有继承的基类的私有成员

D. 保护继承的基类的公有成员

4、定义重载函数的下列条件中,( )是错误的。

A. 要求参数个数不同;

B. 要求参数类型不同;

C. 要求函数返回值类型不同;

D. 要求在参数个数相同时,参数类型的顺序不同。

5、下列函数中,( )不能重载。

A. 成员函数

B. 非成员函数

C. 构造函数

D. 析构函数

6、下列有关运算符重载的描述中,( )是正确的。

A. 运算符重载可改变其优先级;

B. 运算符重载不改变其语法结构;

C. 运算符重载可改变其结合性;

D. 运算符重载可改变其操作数的个数。

7、下列构造函数的特点中,( )是错误的。

错误的。

A. 构造函数具有一般成员函数的特点;

有一般成员函数的特点;

B. 构造函数的名称与其类名相同;

C. 构造函数必须指明其类型;

D. 一个类中可定义1个或多个构造函数。

与其类名相同;

C. 构造函数必须指明其类型;

D. 一个类中可定义1个或多个构造函数。

8、C++语言的基本数据类型包括( )。

A. 整型、实型、逻辑型、空型

B. 整型、实型、字符型、空型

C. 整型、字符型、逻辑型、空型

D. 整型、实型、指针型、字符型

9、下列关于指针的运算中,( )是非法的。

A.两个指针在一定条件下,可以进行相等或不等的运算;

B.可以用一个空指针赋值给某个指针;

C.一个指针可以加上两个整数之差;

D.两个指针在一定条件下,可以相加。

10、在C++中,关于下列设置缺省参数值的描述中,正确的是( )。

A. 不允许设置缺省参数值;

B. 在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;

C. 只能在函数的定义中指定参数的缺省值;

D. 设置缺省参数值时,必须全部都设置。

11、预处理命令在程序中是以( )开头的。

A. *

B. #

C.:

D./

12、按照标识符的要求,( )符号不能组成标识符。

A. -

B. _

C. 大小写字母

D. 数字字符

13、假定a为一个数组名, 则下面的哪一种表示有错误。( )

A. a[i]

B. *(a+1)

C. *a

D. *a++

14、关于delete运算符的下列描述中,错误的是( )。

A. 它必须用于new返回的指针;

B. 使用它删除对象时要调用析构函数;

C. 对一个指针可以使用多次该运算符;

D. 指针名前只有一对方括号符号,不管所删除数组的维数。

15、下列对派生类的描述中,( )是错误的。

A. 一个派生类可以作为另一个派生类的基类;

B. 派生类至少应有一个基类;

C. 基类中成员的访问权限被派生类继承后都不改变;

D. 派生类的成员除了自己定义的成员外,还包含了它的基类成员。

16、main函数在源程序中的位置()。

A. 必须在最开始处

B. 必须在子函数的后面

C. 可以任意

D. 必须在最后

17、在c++语言中,要求参加运算的数必须是整数的运算符是()。

A. /

B.!

C. %

D. = =

18、对两个基本类型相同的指针变量,不能进行的运算是()。

A. +

B. -

C. =

D. = =

19、下列各种高级语言中,( )最早提出了对象的概念。

A.A1gol 60 B.Simula 67 C.Smalltalk D.C++

20、执行C++程序时出现的“溢出”属于( )错误。

A.运行 B.链接 C.编译 D.逻辑

21、下列关于引用的说法错误的是( )。

A.不能声明一个指针的引用;

B.引用必须在定义的同时进行初始化;

C.返回引用的函数,可以作为左值被调用;

D.使用引用参数,可以实现将实参的地址传递给行参。

22、为表示关系x≤y≤z,正确的C++表达式是( )。

A.(x<=y)&&(y<=z) B.(x<=y)AND(y<=z)

C.(x<=y<=z) D.(x<=y)&(y<=z)

23、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。

A.a< >0 B.!a C.a=0 D.a

24、int * const p说明不能修改( )。

A.p指针;

B.p指针指向的变量;

C.p指针指向的数据类型;

D.上述A、B、C三者。

25、下面的函数声明中, ( )是” void BC(int a, int b);”的重载函数?

A.int BC(int a, int b) B.void BC(int a, char b)

C.float BC(int a, int b, int c=0) D.void BC(int a, int b=0)

26、下列静态数据成员的特性中,错误的是( )。

A.说明静态数据成员时前边要加修饰符static;

B.引用静态数据成员时,必须用类名和作用域运算符引导;

C.静态数据成员是所有对象所共用的;

D.静态数据成员要在类的定义之外进行初始化。

27、判断字符串s1和s2是否相等的表达式为()。

A.s1=s2 B.s1= =s2

C.strcpy(s1,s2)= =0 D.strcmp(s1,s2)= =0

28、若用数组名作为调用函数的实际参数,则传递给形式参数的是()。

A.数组存储首地址;

B.数组的第一个元素值;

C.数组中全部元素的值;

D.数组元素的个数。

二、填空题

1、假定一个二维数组的定义为int a[4][5],则该数组所含元素的个数为___ ___。

2、预处理命令在程序中都是以_____ ___开头的。

3、执行cout<< char('E'+2)<

4、在32位机器中,若有定义:

int k=5; char *p=“Beijing”;

int arr1[5]; float *arr2=new float[k];

则 sizeof(k)=________, sizeof(p)=_________,

sizeof(arr1)=___________, sizeof(arr2)=__________。

5、面向对象系统最突出的特征是________性、________性和多态性。

6、C++源程序经过________和________后生成可执行程序。

相关文档
最新文档