精品0166《面向对象技术》复习思考题doc.docx

上传人:b****1 文档编号:83894 上传时间:2023-04-28 格式:DOCX 页数:13 大小:44.79KB
下载 相关 举报
精品0166《面向对象技术》复习思考题doc.docx_第1页
第1页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第2页
第2页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第3页
第3页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第4页
第4页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第5页
第5页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第6页
第6页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第7页
第7页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第8页
第8页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第9页
第9页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第10页
第10页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第11页
第11页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第12页
第12页 / 共13页
精品0166《面向对象技术》复习思考题doc.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

精品0166《面向对象技术》复习思考题doc.docx

《精品0166《面向对象技术》复习思考题doc.docx》由会员分享,可在线阅读,更多相关《精品0166《面向对象技术》复习思考题doc.docx(13页珍藏版)》请在冰点文库上搜索。

精品0166《面向对象技术》复习思考题doc.docx

精品0166《面向对象技术》复习思考题doc

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

一、选择题

1、以下说法中正确的是()

A.C++程序总是从第一个定义的函数开始执行

B.C++程序总是从main函数开始执行

C.C++函数必须有返冋值,否则不能使用函数

D.C++程序中有调用关系的所有函数必须放在同一个程序文件中

2、一•个函数功能不太复杂,但要求被频繁调用,选用()

A.内联函数B.重载函数

C.递归函数D.嵌套函数

3、构造函数不具备的特征是()

A.构造函数的函数幺与类名相同

B.构造函数可以重载

C.构造函数可以设置默认参数

D.构造函数必须指定类型说明

4、下列不是描述类的成员函数的是()

A.友元函数B.析构函数

C.构造函数D.拷贝构造函数

5、intFunc(int,int):

不可与下列哪个函数构成重载()

intFunc(int,int,int);

doubleFunc(int,int);

doubleFunc(double,double);

D.doubleFunc(int,double):

6、一•个类可包含析构函数的个数是()

A.0个B.1个

C.至少一个D.0个或多个

7、在编译指令中,宏定义使用哪个指令()

A.tfincludeB.#define

C.#ifD.ftelse

8、在关键字public后面定义的成员为类的()

A.私有成员B.保护成员

C.公有成员D.任何成员

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

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

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

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

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

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

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

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

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

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

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

A.*B.#C.:

D./

B.

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

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

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

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

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

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

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

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

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

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

nidin函数在源程序中的位置()o

A.必须在最开始处B.必须在子函数的后面

C.可以任意D.必须在最后

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

A./B.!

C.%D.==

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

A.+B.-C.=D.==

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

D.C卄

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

D.逻辑

A.运行B.链接C.编译

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

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

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

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

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

为表示关系xWyWz,止确的C++表达式是()。

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

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

若要求在if后一对圆括号中表示d不等于0的关系,则能止确表示这-关系的表达式)o

A.a<>0B.!

aC.a=0D.a

int*constp说明不能修改()。

A.p指针;

B.p指针指向的变量;

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

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

下面的函数声明中,()是”voidBC(inta,intb);”的重载函数?

A.intBC(inta,intb)B.voidBC(inta,charb)

C.floatBC(inta,intb,intc=0)

D.voidBC(inta,intb二0)

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

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

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

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

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

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

A.sl=s2B.sl==s2

C.strcpy(si,s2)==0D.strcmp(sl,s2)==0

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

A.数纽存储首地址;

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

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

D.数组元素的个数。

29.

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

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

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

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

B.用它创建对象数纽•时必须指定初始值:

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

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

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

()

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

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

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

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

)是错误的。

B.要求参数类型不同;

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

32、定义重载函数的下列条件中,(

A.要求参数个数不同;

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

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

A.成员函数B.非成员函数

C.构造函数D.析构函数

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

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

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

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

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

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

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

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

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

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

二、填空题

1、C++程序的源文件扩展名为o

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

3、执行cout«char(,E*+2)<

4、执行下列代码

cout〈<"Hex:

”«hex«255;

程序的输出结果为0

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

intk=5;char"Beijing”;

intarrl[5];float*arr2=newfloat[k];

贝I」sizeof(k)=,sizeof(p)=,

sizeof(arrl)=,sizeof(arr2)=。

6、类是用户定义的类型,具有类类型的变量称作。

7、対象的四大基本特性是多态性、继承性、和封装性。

8、对彖将英大部分实现细节隐藏起來,这种机制称为。

9、不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为。

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

11、在C++中,访问指针所指向的对象的成员使用运算符0

12、C++是通过引用运算符来定义一个引用的。

13、如果一个引用不是用作函数参数或返冋值,则在说明该引用时必须对它进行

O

14、当一个成员函数被调用时,该成员函数的指向调用它的对象。

15、重载函数在参数类型或参数个数上不同,但相同。

16、定义内联函数的关键字是o

17、定义虚函数所用的关键字是。

18、指令指示编译器将一个源文件嵌入到带该指令的源文件Z中。

19、执行操作将释放山p所指向的动态分配的数据空间。

20、在C++中把不返冋任何类型的函数应该说明为-

三、判断题

1、C++每行可以写多条编译指令。

2、使用标准的输出流cout时,两个输出项之间用分隔。

3、运算符new可以创建变量或对象,也可以创建数纽。

4、派生类不能再派生新的类。

5、在公有继承中,派生类对象的成员函数可以访问基类中的私有成员。

6、运算符重载可以改变其优先级别。

7、函数参数个数和类羽都相同,只是返冋值类型不同,这不是重载苗数。

8、C++中的模板分为函数模板和类模板两种。

9、int*constp说明不能修改p指针。

10、対于任一个类,用戶只能定义一个构造函数。

11、在C++中,China和china将被视作两个不同的变量。

12、定义对彖引用吋,系统会自动调用对应类的构造函数。

13、static关键字可以延长局部变量的生存期。

14、static关键字可以扩大全局变量的作用域。

15、C++允许使用友元,但是友元会破坏封装性。

16、友元函数可以通过使用this指针直接访问类的私有成员。

17、类的成员可以全部为私有的,也可以全部为公共的,或者一•部分为私有、一-部分为公共的。

18、定义一个对象时,系统只存储其数据成员而不用存储成员函数°

19、字符串”hello,world”在内存中存放吋,共占用11个字节的空间。

20、参数的缺省值只能在函数的定义性声明中指定。

21、break语句和continue语句都只能用在循环语句中。

22、多态的实现需要迟后联编机制的支持。

23、用class定义的类中,默认的访问权限是私有的。

s定义的类中,默认的访问权限是私有的。

义的类中,默认的访问权限是私有的。

24、作为友元函数重载的一个运算符,英参数表中没有任何参数,表明它是1元运算符。

25、类的成员函数都应是公有的,而数据成员都应是私有的。

四、简答题

1、#include

voidmain()

cout«(i?

'0"

该程序运行的结果是什么?

2、#defineSQ(x)x*x

ttincludevoidmain()

{

inta=2,b=3;cout<

}

该程序运行的结果是什么?

3>#include

voidmain()

{inti,count=0,suni=0;

floataverage;

inta[]={l,2,3,4,5,6,7,8,9,10};

for(i=0;i<10;i++)

{if(a[i]%2==0)continue;

sum+=ci[i];

count++;

}

«average<

average^sum/count;

cout«count二”«count<

}

该程序运行的结果是什么?

4>#include

voidf(int*m,intn)

{inttemp;

temp二*m;柚二口;n二temp;

I

voidmain()

{inta=5,b=10;

f(&d,b);

cout<

该程序运行的结果是什么?

5、#include

#include

inti=l;

voidothei-(void)

{

staticinta=2,b;

intc=10;

a=a+l;i=i+3;c=c+5;

cout«setw(5)«i«setw(5)«a«setw(5)«b«setw(5)«c«endl;

b=a;

voidmain(void)

{

staticinta;

intb=-5,c=0;

voidother(void);

cout«Miabc\nM;

cout«setw(5)«i«setw(5)«a«setw(5)«b«setw(5)«c«endl;

c=c+8;other();

cout«setw(5)«i«setw(5)«a«setw(5)«b«setw(5)«c«endl;

i=i+10;other();

}

6、指出#include和#includeufilename,h?

,的区别。

7、简述你对类的封装性的理解。

8、简述关键字const的作用(至少两条儿

9、简述关键字static的作用(至少两条)。

10、简述操作符sizeof的作用(至少两条)。

11、什么是this指针?

它的主要作用是什么?

12、使用内置函数的优点和限制分别是什么?

五、程序编写题

1、编程计算1+11+111+……+111111111=

2、编程将输入的止整数按反序输出,例如:

输入123,则输出321。

3、编写程序,统计一串字符中包含的单词数(假定单词以一•个或多个空格分隔)。

4、设计一个函数,判断整数n是否为素数。

5、编程输出一个二维数组中鞍点元素的值及其位置,鞍点元素在其所在行中最小、所在列中最大。

6、编写一个函数模板,对不同类型的数纽.求平均值。

在nidin函数屮分别求一个整型数组和

•个讥精度浮点型数组的平均值。

7、写一个函数,找岀给定字符串中数字字符(即’(T—9这10个数字)的个数,如字符串”olympic2000”中数字字符的个数为4个。

函数的原型为:

intCalcDigital(char*str);

//函数参数:

str为所要处理的字符串。

//函数返回值:

所给字符串中数字字符的个数。

intCalcDigital(char*str)

{

//在下面写出程序的实现

I

8、编写类String的构造函数、析构函数和赋值函数,已知类String的原型为:

classString

{

public:

String(constchar*str二NULL);//普通构造函数

String(constString&s);//拷贝构造函数

"String();//析构函数

String&operator=(constString&s);//赋值函数

private:

char*m_data;//用于保存字符串

};

9、在三角形类TRI实现两个函数,功能是输入三个顶点坐标判断是否构成三角形

#include

#include

classpoint{

private:

floatx,y;

public:

point(floata,floatb){x=a;y=b;}

point(){x=0:

y=0;),

voidset(floata,floatb){x=a;y=b;}

floatgetx(){returnx;}

floatgety(){returny;}

};

classtri{

pointx,y,z;

floats1,s2,s3;

public;...settri(....);//用于输入三个顶点坐标

....test(....);//用于判断是否构成三角形

);

请写出两个函数的过程(如果需要形式参数,请给出形参类型和数最,以及返冋值类型)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2