《面向对象程序设计》习题三答案
一、单项选择题(本大题共25小题,每小题2分,共50分)
1、用“>>”运算符从键盘输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。
A、空格或逗号
B、逗号或回车
C、逗号或分号
D、空格或回车
2、C++中声明常量的关键字是( A )。
A、const
B、extern
C、public
D、enum
3、以下叙述中正确的是( B )
A、使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值
B、使用const定义的常量名有类型之分,其值在程序运行时是不可改变的
C、在程序中使用内置函数使程序的可读性变差
D、在定义函数时可以在形参表的任何位置给出缺省形参值
4、下列的符号常变量定义中,错误的定义是( C )。
A、const M=10;
B、const int M=20;
C、const char ch;
D、const bool mark=true;
5、函数原型语句正确的是( B )。
A、int Function(void a)
B、void Function (int);
C、int Function(a);
D、void int(double a);
6、在关键字private后面定义的成员为类的( A )成员。
A、私有
B、公用
C、保护
D、任何
7、在一个类的定义中,包含有( C )成员的定义。
A、数据
B、函数
C、数据和函数
D、数据或函数
8、在类作用域中能够通过直接使用该类的( D )成员名进行访问。
A、私有
B、公用
C、保护
D、任何
9、在关键字public后面定义的成员为类的( B )成员。
A、私有
B、公用
C、保护
D、任何
10、类中定义的成员默认为( B )访问属性。
A、public
B、private
C、protected
D、friend
11、每个类( C )构造函数。
A、只能有一个
B、可以有公用的
C、可以有多个
D、只可有缺省的
12、对类对象成员的初始化是通过构造函数中给出的( B )实现的。
A、函数体
B、参数初始化表
C、参数表
D、参数初始化表或函数体
13、假定AB为一个类,则执行“AB x;”语句时将自动调用该类的 ( B ).。
A、有参构造函数
B、无参构造函数
C、复制构造函数
D、赋值重载函数
14、假定AB为一个类,则执行“AB x(a,5);”语句时将自动调用该类的 ( A )。
A、带参构造函数
B、无参构造函数
C、复制构造函数
D、赋值重载函数
15、假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的( B )。
A、有参构造函数
B、无参构造函数
C、复制构造函数
D、赋值构造函数
16、在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )。
A、作为友元函数重载的1元运算符
B、作为成员函数重载的1元运算符
C、作为友元函数重载的2元运算符
D、作为成员函数重载的2元运算符
17、在成员函数中进行双目运算符重载时,其参数表中应带有( B )个参数。
A、0
B、1
C、2
D、3
18、双目运算符重载为普通函数时,其参数表中应带有( C )个参数。
A、0
B、1
C、2
D、3
19、如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( A )。
A、a.operator+(b)
B、b.operator+(a)
C、operator+(a,b)
D、operator(a+b)
20、如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则
可表示为( C )。
A、a.operator==(b)
B、b.operator==(a)
C、operator==(a,b)
D、operator==(b,a)
21、派生类的成员函数可以直接访问基类的( B )成员。
A、所有
B、公有和保护
C、保护和私有
D、私有
22、派生类可以访问其基类的( D )。
A、公用成员
B、保护成员
C、私有派生
D、公用和保护成员
23、对于类中定义的成员,其隐含访问权限为( C )。
A、public
B、ptotected
C、private
D、static
24、在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( A )方式。
A、私有继承
B、非私有继承
C、保护继承
D、公用继承
25、在公用继承的情况下,基类成员在派生类中的访问权限( B )
A、受限制
B、保持不变
C、受保护
D、不受保护
二、判断题(本大题共25小题,每小题2分,共50分,正确填“T”,错误填“F”)
1、字符串"sdfgh"的长度是5。( T )
2、将字符串常量存放到字符串变量时,包含字符串本身和结束符“\0”。( F )
3、关系运算符可以用来比较两个字符的大小,也可用来比较两个字符串的大小。( T )
4、使用new运算符创建数组时,可以为该数组指定初始值( F )。
5、在设计类时一般把数据成员设置为私有的,把函数成员设置为公用的,从而实现了公用接口和私有实现的分离。( T )
6、析构函数必须指定返回类型以及函数参数。( F )
7、如果定义了一个类的对象数组,该数组有10个元素,则要调用10次构造函数来对每个元素初始化。( T )。
8、友元函数说明在类体内,它是一种成员函数。( F )
9、友元类必须被说明为公用成员。( F )
10、运算符重载以后,其优先级和结合性都不能改变。( T )
11、重载单目运算符作为类的成员函数,函数没有参数。( T )
12、将运算符“+”函数重载为类的成员函数,交换律不适用。( T )
13、不能通过派生类对象引用从私有基类继承过来的任何成员。( T )
( F )
14、若类B是类A的私有派生类,类C是类B的私有派生类,则类C可访问类A的公用成员。
15、在声明派生类时,派生类把基类的的构造函数也一起继承过来。( F )
16、派生类能够继承基类的析构函数。( F )
17、使用虚函数可以避免多重继承产生的二义性。( T )
18、当一个成员函数被声明为虚函数后,其派生类中的具有相同参数类型和相同参数个数类型的相同类型的同名函数也是虚函数。( T )
19、纯虚函数是在基类中说明的虚函数,它在该基类中必须定义具体的操作内容。( F )
20、不可以定义抽象类的对象。( T )
21、使用字符串流时必须打开文件。( F )
22、程序运行过程出现异常是由于语法错误引起的。( F )
23、在C++的异常处理方法中,try块和catch块必须作为一个整体出现。( T )
24在C++中,在文件中只能用“#include
25、C++中的所有运算符都允许重载。( F )
简答题 1、传统的结构化程序设计的优点和缺点是什么? 优点: (1)这种程序设计方法力求算法描述准确。 (2)对每一子过程模块容易进行程序正确性证明。 缺点: (1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。 (2)程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。 (3)维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。 2、什么是对象? 每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。 3、什么是消息? 在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。4、什么是多态性? 所谓多态性是指当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。 5、什么是面向对象的程序设计方法? 这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。 在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。 6、面向对象方法的特点是什么? (1)OOP以“对象”或“数据”为中心。由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。 (2)引入了“类”(class)的概念。类与类以层次结构组织,属于某个类的对象除具有该类所描述的特性外,还具有层次结构中该类上层所有类描述的全部性质,OOP中称这种机制为继承。 (3)OOP方法的模块性与继承性,保证了新的应用程序设计可在原有对象的数据类型和功能的基础上通过重用、扩展和细化来进行,而不必从头做起或复制原有代码,这样,大大减少了重新编写新代码的工作量,同时降低了程序设计过程中出错的可能性,达到了事半功倍的效果。 7、面向对象的程序设计方法与结构化程序设计方法的比较 (1)传统的结构化程序设计方法以过程为中心构造应用程序,数据和处理数据的过程代码是分离的、相互独立的实体,设计出的程序可重用代码少,且当代码量增加时维护数据和代码的一致性困难。
三视图练习题 1、若某空间几何体的三视图如图所示,则该几何体的体积是() (A)2 (B)1 (C ) 2 3 (D) 1 3 2、一个几何体的三视图如图,该几何体的表面积是() (A)372 (B)360 (C)292 (D)280 3、若某几何体的三视图(单位:cm)如图所示,则此几何体的体积是 (A) 352 3 cm3(B) 320 3 cm3 (C) 224 3 cm3(D) 160 3 cm3 4、一个长方体去掉一个小长方体,所得几何体的正(主)视图与侧(左)视图分别如右图所示,则该几何体的俯视图为:() 5、若一个底面是正三角形的三棱柱的正视图如图所示,则其侧面积 ...等于 ( ) A.3 B.2 C.23 D.6 6、图2中的三个直角三角形是一个体积为20cm2的几何体的三视图,则h= cm 7、一个几何体的三视图如图所示,则这个几何体的体积为。 8、如图,网格纸的小正方形的边长是1,在其上用粗线画出了某多面体的三视图,则这个多面体最长的一条棱的长为______. 第 第 第 第 第6
9、如图1,△ ABC 为正三角形,AA '//BB ' //CC ' , CC ' ⊥平面ABC 且3AA '= 3 2 BB '=CC '=AB,则多面体△ABC -A B C '''的正视图(也称主视图)是( ) 10、一空间几何体的三视图如图所示,则该几何体 的体积为( ). A.223π+ B. 423π+ C. 2323π+ D. 23 43 π+ 11、上图是一个几何体的三视图,根据图中数据,可得该几何体的表面积是( ) A .9π B .10π C .11π D .12π 12、一个棱锥的三视图如图,则该棱锥的全面积(单位:c 2 m )为 ( ) (A )48+122 (B )48+242 (C )36+122 (D )36+242 13、若某几何体的三视图(单位:cm )如图所示,则此几何体的体积是 3 cm . 第7 第8 2 2 侧22 2正俯 第 俯视图 正(主)视图 侧(左)视图 2 3 2 2 第11
1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。
六、在指定位置用1:1的比例画出指定的断面图(键槽深3mm) 2.半剖视图 四、完成左视图(虚线全部画出), 注全图中的尺寸(不注数值,但要注写φ等符号,16分) φ φ C 五、根据主左视图求作俯视图(虚线全部画出,10分) φ C 二、完成圆锥截切后的投影(8分) x a e(f) b b′d c o e′ f′ a′ d′ c′工程制图模拟试卷 一、作一正平线MN与AB、CD、EF三直线均相交。 (8分) 三、补全视图中的漏线 1.虚线需全部画出 专业: 姓名: 成绩: (15分)C--C φ (6分) 第1页(共6页)
56 φ52H 7 φ88 八、找出下图中螺纹连接画法的错误,把正确画法画在指定位置。(10分) 234184 12.5 120 R25 4-φ20 A 5 A-A k 100 16 A 16 30 60 k 20 2-M10深16 七、补画主视图(半剖)中的漏线,并画出取全剖的左视图。 (12分) 九、读图,完成下列问题。(15分) φ120 2、尺寸φ52H7中,φ52为___________,H为________,7为__________查表知其公差值为0.064,则其上偏差为________,下偏差为_______。 3、标注下列表面的粗糙度:①φ52H7圆柱面Ra为6.3 ②底面的Ra为12.5 ③其余表面不加工 4、解释2-M10深16的含义,2___________M____________,10________,深16________ 5、完成A—A剖视图 64 32 32 812.5 12.5 8 1、补出图中遗漏的三个尺寸(不写尺寸数值)