一、填空题(答案写在答卷相应的横线上。每小题1分,共10分) 1.面向对象程序设计语言的先驱是Simula,理论上比较完善的面向对象程序设计语言是 Eiffel,导致面向对象程序设计兴起的语言及程序设计环境是Smalltalk,而在Internet上最有前途的面向对象程序设计语言是( )。
2.指向基类的对象的指针变量也可以指向( )的对象。
3.类的省却的继承访问控制是( )。
4.字符串类型的变量一般由( )和( )类型的变量表示。
5.类用作数据封装机制,它将相关的数据以及作用在这些数据上的操作组织在一起,实现了( ) .
6.类用作类型定义机制,它可用于声明对象和进行类型检查,还允许用户通过( )机制定义子类型。
7.在函数定义或说明时,具有缺省值的形式参数称为( ) .
8.( ) 语句中断并结束循环语句?
9.符号常量是指定义了值的 ( ) .
10.面向对象程序中,实体的状态由( )表示,其行为由( )表示。
二、单项选择题(在每小题的备选答案中选出一个正确的答案,并将正确答案的号码写在答卷相应的位置上。每小题1分,共10分)
11.cout是I0流库预定义的
A 类B 对象C 包含文件D 常量
12.继承机制的作用是
A 信息隐藏B 数据封装C 定义新类D数据抽象
13.类的定义如下,试问类B的对象占据内存多少宇节空间
class A {int b; protected: int a; public: A(int n){a=n;};};
class B: public A {int c;};
A 2B 3C 4D 6
14.一段程序的定义如下,在函数f()中将动态对象的成员n的值改为34的语句应该为
class A {
int n;
public:setn(int nl) {n=nl;}
A(int x) {n = x; } }
int f() {A * ptr = new A(45);…… }
AA(34);Bptr.setn(34);Cptr->setn(34);Dsetn(34);
15.类的析构函数的作用是
A 一般成员函数B 类的初始化C 对象的初始化D 删除对象创建的所有对象
16.类的析构函数是在什么时间被自动调用的
A 类创建时B 创建对象时C 删除对象时D不自动调用
17.下面哪个是正确的递归函数,它保证对所有的参数能够结束
Aint f(int n) {if(n
B int f(int n) {if(n>l) return 1; else return n*f(n-l); }
C int f(int n) {if(abs(n)
D int f(int n) {if(n>l) return 1; else return n*f(n*2); }
18.求解问题的一般方法有
A 结构化方法B 求精算法和精美算法C 模块方法D 过程化方法
19.-1在计算杭内的存储形式是
A 0xFFFFB 1111111111111110C 1000 0000 0000 0001 D 0000 0000 0000 0001
20.下列常量中,哪个的类型为float类型
A 2.FB .2LC 0.2E100D0.0
三、名词解释题(每小题z分,共10分)
21.变量
22.内部变量
23.赋值运算的类型兼容性
24.拷贝构造函数
25.实例化
四、改错题(每小题1分,共10分)
26.要求下面循环体中的语句x+=3执行30次,请改正程序。
for(j=0; j<90; j++)if(j/3=0) x+=3;
27.下面的函数求一个无负号数的2倍值,请该正错误。
unsigned times(unsigned n) {return n;}
28.指出程序段中的错误: for(k=