2017年电大 c 面向对象程序设计语言重点难点复习题 模拟自测题及答案(源自网络)
提示:
1、本练习题、试题集全部来自网上共享资源,包括C++面向过程和面向对象的相关内容,今下载整理仅为便于复习、练习,请有选择地阅读;
2、请同学们做练习题时先独立思考,再参考答案;附后有几套模拟试题,全部来自网上其他院校的期末试卷,供同学们模拟自测。
3、试题量大,难免会有错误,请慎重选用、思考。
1、数据共享与保护
一、选择题:
1、在下面存储类中, ( C ) 对象的可见性与生存期不一致。
A. 外部类 B. 自动类 C. 内部静态类 D. 寄存器类
2、在下面存储类中,( A )的对象不是局部变量。
A. 外部静态类 B. 自动类 C. 函数形参 D. 寄存器类
3、关于局部变量,下面说法正确的是( C )。
A. 定义该变量的程序文件中的函数都可以访问
B. 定义该变量的函数中的定义处以下的任何语句都可以访问
C. 定义该变量的复合语句中的定义处以下的任何语句都可以访问
D. 定义该变量的函数中的定义处以上的任何语句都可以访问
4、一个类的静态数据成员所表示属性 ( C )。
A. 是类的或对象的属性 B. 只是对象的属性
C. 只是类的属性 D. 类和友元的属性
5、类的静态成员的访问控制( D )。
A. 只允许被定义为private
B. 只允许被定义为private或protected
C. 只允许被定义为public
D. 可允许被定义为private、protected或public
6、静态成员函数对类的数据成员访问( B )。
A. 是不允许的 B. 只允许是静态数据成员
C. 只允许是非静态数据成员 D. 可允许是静态数据成员或非静态数据成员
7、被非静态成员函数访问的类的数据成员( A )。
A. 可以是非静态数据成员或静态数据成员 B. 不可能是类的静态数据成员
C. 只能是类的非静态数据成员 D. 只能是类的静态数据成员
8、静态数据成员的初始化是在( D )中进行的。
A. 构造函数 B. 任何成员函数
C. 所属类 D. 全局区
9、当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的( D )。
A. 只能是公有成员 B. 只能是保护成员
C. 只能是除私有成员之外的任何成员 D. 具有任何权限的成员
10、引入友元的主要目的是为了( C )。
A. 增强数据安全性 B. 提高程序的可靠性
C. 提高程序的效率和灵活性 D. 保证类的封装性
11、 一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明( A )。
A. 需加上类域的限定 B. 不需加上类域的限定
C. 类域的限定可加可不加 D. 不需要任何限定
二、判断题
1、类的静态数据成员需要在定义每个类的对象时进行初始化。F
2、当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。T
3、静态数据成员必须在类外定义和初始化。T
4、静态成员函数可以引用属于该类的任何函数成员F。
5、友元函数是在类声明中由关键字friend修饰说明的类的成员函数。F
6、友元函数访问对象中的成员可以不通过对象名F
三、填空题:
1、若“double?x=100;”是文件F1.CPP中的一个全局变量定义语句,若文件F2.CPP中的某个函数需要访问此x?,?则应在文件F2.CPP中添加对x的声明语句为Extern double x;
2、如果一个函数定义中使用了static修饰,则该函数不允许被其它文件中的函数调用。
3、定义外部变量时,不用存储类说明符Extern,而声明外部变量时用它。
4、调用系统函数时,要先使用#include命令包含该系统函数的原型语句所在的头文件。
5、C++程序运行时的内存空间可以分成全局数据区,堆区,栈区和代码区。
6、局部变量具有局部生存期,存放在