软件学院_面向对象程序设计_-2009(2)期末b卷复习进程
最新国家开放大学电大本科《面向对象程序设计》期末题库及答案
最新国家开放大学电大本科《面向对象程序设计》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。
该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。
做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核及教学考一体化答案,敬请查看。
《面向对象程序设计》题库及答案一一、单项选择题(每小题2分,共20分)1.设x和y均为bool量,则x||y为假的条件是( )。
A.它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假2.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}}”,则元素a[1][2]的值为( )。
A.2 B.4 C.6 D.83.假定P是具有int* *类型的指针变量,则给P赋值的正确语句为( )。
A.p=new int B.p=new int*C.p=new int** D.p=new int[10]4.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( )。
A.可维护性 B.可复用性C.兼容性 D.正确性5.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
‘A.in B.inlineC.inLine D.InLiner .6.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为( )。
A.1ength+1 B first+lengthC.(first+1ength—1)%MS D.(first+length)%MS7.假定一个类的构造函数为“A(int aa,int bb){a=aa;b=aa*bb;)”,则执行“A x(4,5);”语句后,X.a和x.b的值分别为( )。
CB卷
咸宁学院计算机科学与技术学院2010年秋季学期2009级计算机本科《面向对象程序设计》期末考试试卷(B卷、闭卷)班级:学号:姓名:一、选择题:以下各题只有一个正确答案,请将代表正确答案的字母填入括号内。
(本大题共15个小题,每小题2分,共30分。
)1. 在函数的引用调用时,实参和形参应该是使用()。
A.变量值和变量 B.地址值和指针 C.变量值和引用D.地址值和引用2. 以下叙述正确的是()。
A.?C++语言程序的函数中必须有return语句;B.?C++语言程序中,return语句中表达式的类型一般应该与函数的类型一致。
C. 函数中return语句必须放在函数体的最后;D.?在C++语言程序中,函数的类型必须进行显示说明;3. 下列是为字符数组赋字符串的语句组,其中错误是()。
A. char s[10]; s=“program”;B. char s[]=“program”;C. char s[10]=“Hello!”;D. char s[10];strcpy(s,“hello!”);4. 以下程序中,while循环的循环次数是( )void main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}}A. 1B. 10C. 6D. 死循环,不能确定次数5. 下列是构造函数的特点,()是错误的。
A.构造函数是一种成员函数,它具有一般成员函数的特点B.构造函数的名称与其类名相同C.构造函数必须指明其类型D.一个类中可定义一个或多个构造函数6. 关于友元函数的描述中,()是错的。
A.友元函数是成员函数,它被说明在类体内B.友元函数可直接访问类中的私有成员C.友元函数破坏封装性,使用时尽量少用D.友元类中的所有成员函数都是友元函数7. 下述静态成员的特性中,()是错误的。
A.?静态成员函数不能利用this指针B.?静态数据成员要在类体外进行初始化C.?引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符D.?静态数据成员不是所有对象所共有的8. 下列有关类的说法不正确的是( )。
计09面向对象程序设计 考试试卷(B卷)参考解答
{ cout<<"Num="<<Num<<" Name="<<Name.c_str()<<" Age=" <<Age<<"
Sex="<<Sex<<endl;
}
int main()
{ doctor s1,s2(1002,"周博士",28,'0'),*p;
s1.display();
s2.display(); p = new doctor(1003,"马博士",29,'0');
doctor(int Num0=1001, string Name0="彭博士", int Age0=30,char Sex0='1')
{ Num = Num0; Name = Name0; Age = Age0; Sex = Sex0;
}
void display();
};
void doctor::display()
错误
2 3 4 5 6 7 8 9 10
的打
×
(每
小题
————————————————————————密封线——————————————————————
学号
姓名
系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级
湖南工业大学考试试卷纸
三、填空题(每空 2 分, 共 10 分)
第 1 页 共4 页
(4) new Number(5)
void print(); };
(5) p->GetNum()
面向对象 期末考试 答案
、填空(15分)1、类之间的静态联系称作关联。
・在实例化后,由类产生对象,链是关联的实例。
・在系统实现时,关联釆用对象的属性来实现。
2、用例图用于建立需求模型,描述用户的需求。
对象图是面向对象分析中的基本模型,属于静态结构模型。
3、顺序图(时序图)、通信图、活动图、状态图用于描述系统的行为方面的特征,属于动态结构模型。
4、时序图构成:参与者、相互协作的对象、对象的生命线、参与者与对象之间发送的消息、执行规约5、表示[可见性]属性名[:类型][=初始值]可见性分为+表示:(公有的)、#表示:(受保护的)、-表示:(私有的)、〜(包,只有在同一包中声明的类能够使用这一属性)。
二、名词解释(15分)1、面向对象方法:是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。
2、类:是具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和操作务两个主要部分。
类的作用是用来创建对象,对象是类的一个实例。
3、抽象:指从事物中舍弃个别的、非本质的、与问题域无关的特征,而抽取共同的、本质特征的、相关的做法。
4、多态性:在具有继承关系的类层次结构中可以定义同名的操作或属性,但这些属性或操作具有不同的含义,即具有不同的数据类型或表现出不同的行为。
(“同名不同参”或“同名不同类”)5、OOA模型:就是诵过面向对象的分析所律立的系统分析模型。
用况:一个用况是对参与者使用系统的一项功能的描述,是一组动作序列的描述,是一项请求与响应。
(三、简答(45分)1、继承和泛化关系特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承。
一般类对特殊类的抽象关系叫泛化关系(简称泛化)。
2、聚合与组合有区别,请说明他们间的区别,并指出下图中哪图是聚合?聚合刻画了现实事物之间的构成关系,体现“整体——部分”关系。
而关联没有组成关系或拥有关系。
如例题中的c图3、简述下图中体现的面向对象的基本思想0■■半0.法律顾问汽车。
《面向对象程序设计C--》期末试卷及标准答案集总解析
《面向对象程序设计C++》期末考试试卷(B)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第8页上)】一、单项选择题(每小题2分,共40分)1、关于C++与C语言关系的描述中,( D )是错误的。
A.C语言是C++语言的一个子集B.C语言与C++语言是兼容的C.C++语言对C语言进行了一些改进D.C++语言和C语言都是面向对象的2、已知:int m=10; 下列表示引用的方法中,(A )是正确的。
A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m;3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是( C )。
>A.testDefaulParam(5); B.testDefaulParam(5,8); C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*');4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( A )。
A.函数的返回值类型B.参数的类型C.函数名称D.参数个数5、下列有关C++类的说法中,不正确的是( D )。
A.类是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有成员C.在类中,如果不做特别说明,所有成员的访问权限均为私有的^D.在类中,如果不做特别说明,所有成员的访问权限均为公用的6、已知X类,则当程序执行到语句X array[3];时,调用了(D )次构造函数。
A.0 B.1 C.2 D.37、有关析构函数的说法,不正确的是( B )。
A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参C.析构函数的功能是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型。
软件工程专业毕业设计指导规范(面向对象)
毕业设计(论文)指导规范——面向对象部分(适用于软件工程相关专业)辽宁工程技术大学软件学院2009年3月引言编写本书的主要目的为正确引导学生用科学、正确、规范的方式编写毕业论文,并为以后从事软件工程项目的开发打下良好的基础。
为引导同学们正确使用本指导书,做如下说明:1.本书是按照软件工程及科研项目的要求进行编写。
2.本规范的适用范围仅为基于企业管理信息系统的应用软件开发方向,网站制作、网络规划与集成、监测监控方向、嵌入式技术、基于计算机外围设备的软件编程等方向的论文指导规范可参考此规范的部分章节,但是,内容、步骤等可以不同。
3.本书所提供的样例部分仅为了说明问题而引用,仅供学生参考,万勿照搬。
4.有些内容,设计中可能没有涉及到,可简单交待或适当取舍。
5.本指导书的制定依据《企业管理信息系统开发规范》、《国家经济信息系统设计与应用标准规范》、《计算机软件产品开发规范》(1999)等资料。
6.样例部分内容如果不特殊说明,全部来自于《葫芦岛自来水公司用水管理信息系统设计方案》、《阜新北星高压泵有限公司“北鑫星”ERP系统设计方案》及《火电工程质量检验评定系统技术报告》。
7.本规范考虑到学生的调研情况等因素,可能没有实际的可行性分析的过程及项目,故《可行性分析》一章略过,学生写论文时,这一章亦可不写。
8.本规范由邱云飞老师、张宇老师、曲海成、刘玲玲老师编写,刘万军教授审核了全部内容,王永贵副教授等提出了修改意见。
鉴于时间仓促,书中肯定存在缺陷和不足之处,希望各位老师、同学给予批评指正。
编者2009年4月1 项目概述1.1 现系统概述阜新北星高压泵有限公司(原阜新北鑫星液压有限公司),是以东北老工业基地和具有悠久历史的液压行业为依托,在市场经济条件下兴起的现代化股份制明星企业。
公司座落于辽宁省阜新市重点开发的高新技术产业园区,占地面积三万多平方米。
拥有一大批精干的具有丰富理论和实践经验的科技人才,产品加工制造采用进口的加工中心和高精密的数控机床,目前是阜新规模最大的高压齿轮油泵专业生产企业。
面向对象程序设计复习资料(可编辑修改word版)
面向对象程序设计复习资料(可编辑修改word版)面向对象程序设计期末总复习题一、单项选择题1.下面关于对象概念的描述中,是错误的。
(B)A.对象代表着正在创建的系统中的一个实体B.对象就是C 语言中的结构体变量C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的2.继承机制的作用是:(C)A.信息隐藏B.数据封装C.定义新类D.数据抽象3.有关析构函数的说法不正确的是(D)A.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数没有形参D.析构函数不能是虚函数4.友元的作用之一是(A)A.提高程序的运行效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类5.通常拷贝构造函数的参数是。
(C)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名6.如果在基类中将show 声明为不带返回值的纯虚函数,正确的写法是。
(C)A.irtual show()=0;B.virtual void show();C.virtual void show()=0;D.void show=0 virtual;7.下面关于友元的描述中,错误的是。
(D)A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承8.在C++中,运算符不能重载。
(B)A. +B.?:C.-D.<=9.下列关于运算符重载的描述中,是正确的。
(D)A.运算符重载可以改变操作数的个数B.运算符重载可以改变优先级C.运算符重载可以改变结合性D.运算符重载不可以改变语法结构10.在下列函数原型中,可以作为类AA 构造函数的是(D)A.void AA(int) ; B.int AA( ) ; C.AA(int)const; D.AA(int);11.在声明类时,下面的说法正确的是。
(C)A.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是 registerC.private,public,protected 可以按任意顺序出现D.没有用private,public,protected 定义的数据成员是公有成员12.继承具有,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
面向对象程序设计2009-2010-2期末试卷
诚信应考 考出水平 考出风格 浙江大学城市学院 2009— 2010学年第 二 学期期末考试试卷 《 面向对象程序设计 》 开课单位: 计算学院 ;考试形式:闭卷;考试时间:2010年6月30日; 所需时间: 120 分钟一._填空题_(本大题共14个填空项,每个填空项1分,共14分。
) 1. 构造方法是一种特殊的成员方法,构造方法名与 (1)相同。
2. 对于字符串String s1=new String(“ok ”); String s2=new String(“ok ”); 则表达式s1==s2的值为 (2) ,表达式s1.equals(s2)的值为 (3) 。
3. 对于StringBuffer 串StringBuffer str = new StringBuffer(“abcdef ”); str=str.delete(2,4)执行后str 的值为 (4) 。
4. 对于两个int 类型变量 int m=120, n=240; 则m^m 的结果为 (5),m^n^n 的结果为 (6) 。
5. 关键字this (7)出现在构造方法中,(8) 出现在实例方法中, (9) 出现在类方法中。
(填“可以”或“不可以”) 6. 在java 的源文件中,为说明一个类是属于一个命名为tom.jiafei 的包,需要编写的语句是: (10) ,该语句所在的位置为 (11) 。
7. 如果我们要对一个二进制文件进行读写,可使用java.io 包中提供的FileInputStream 类和 (12) 类。
8. LinkedList<E>定义了表示 (13) 这种数据结构的 (14) 类。
二.选择题(本大题共30题,每题1分,共30分。
) 请选择一个最合适的选项,填入到答题卷中。
1、用Java虚拟机执行类名为Hello的应用程序的正确命令是()。
A. java Hello.classB. Hello.classC. java Hello.javaD. java Hello2、一个包含Java类A,B,C,且A为主类的源程序,编译产生的类文件是()。
面向对象程序设计课后习题答案
面向对象程序设计课后习题答案第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。
第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。
类和对象之间的关系是抽象和具体的关系。
类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
在面向对象程序设计中,总是先声明类,再类生成对象。
类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对象是现实世界中的一个实体,其具有以下一些特征:每一个对象必须有一个名字以区别于其他对象。
需要用属性来描述它的某些特性。
有一组操作,每一个操作决定了对象的一种行为。
对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。
例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
[福建师范大学]《面向对象的程序设计》期末考试A卷
▆■■■■■■■■■■■■福建师范大学网络与继续教育学院《面向对象的程序设计》期末考试A卷姓名:专业:学号:学习中心:一、单项单选题 (共25题,每题2分,共50分)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 251、以下对部署图说法不正确的是()。
A.部署图有主要建模元素是构件B.使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件的配置的部署方式C.从部署图中,可以了解到软件与硬件之间物理关系及处理节点的组件分布情况D.部署图是用来显示系统中软件和硬件的物理结构2、组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为三种方式来完成,下面哪种不是其中之一()。
A.对源代码建模B.对事物建模C.对数据库建模D.对可执行文件建模3、关于面向对象方法的优点,下列不正确的叙述是()。
A.与人类习惯的思维方法比较一致B.可重用性好C.以数据操作为中心D.可维护性好4、类和接口的关系类似于下面哪种类型的关系()。
A.关联(association)和聚集(aggregation)B.关联(association)和组合(composition)C.脚本(scenario)和用例(use case)D.包(Package)和子系统(subsystem)5、UML通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,其中()包括构件图,它描述软件系统中各组成构件,构件的内部结构以及构件之间的依赖关系。
A.行为视图B.结构视图C.构件视图D.用例视图6、行为类模式使用()在类间分派行为。
A.接口B.继承机制C.对象组合D.委托7、通常对象有很多属性,下面仅能在对象内部访问的属性可见性限制是()。
A.公有的(public)B.受保护的(protected)C.友员(friendly)D.私有的(private)8、下面不属于创建型模式的有()。
《面向对象程序设计》期末考核试题样例及解答
《面向对象程序设计》期末考核试题样例及解答一、单项选择(每小题1分,12小题,共12分)1. C++源程序文件的缺省扩展名为( )。
A. cppB. exeC. objD. lik2. x>0 || y==5的相反表达式为()。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==53. 在下面的字符数组定义中,有语法错误的是( )。
A. char a[20]=“abcdefg”;B. char a[]=“x+y=55.”;C. char a[15];D. char a[10]=’5’;4. 以下正确的函数原型语句是( )。
A. double fun(int x,int y)B. double fun(int x;int y)C. double fun(int,int);D. double fun(int x,y);5. 在下面存储类中,()的对象不是局部变量。
A. 外部静态类B. 自动类C. 函数形参D. 寄存器类6. 假定有“struct BOOK{char title[40]; float price;}; BOOK *book=new BOOK;”,则正确的语句是()。
A. strcpy(book->title,”Wang Tao”);B. strcpy(book.title,”Wang Tao”);C. strcpy(*book.title,”Wang Tao”);D. strcpy((*book)->title,”Wang Tao”);7. 软件产品所具有的全部或部分地再用于新的应用的能力称为该软件的()。
A. 可维护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,通常把含有main()函数的文件称为()。
A. 主文件B. 实现文件C. 程序文件D. 头文件9. 在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队为空,则进行插入时必须把新结点的地址赋给( )。
面向对象程序设计考前复习题及答案
简答题1、传统的结构化程序设计的优点和缺点是什么?优点:(1)这种程序设计方法力求算法描述精确。
(2)对每一子过程模块简单进行程序正确性证明。
缺点:(1)这种程序设计方法本质上是面对“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能干脆反映人类求解问题的思路。
(2)程序代码可重用性差。
程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。
即使重用代码,通常也是通过拷贝或编辑重新生成一份。
(3)维护程序的一样性困难。
该种方法将数据与对数据进行处理的程序代码分别。
2、什么是对象?每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。
对象的属性描述了对象的状态和特征,对象的方法说明白对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。
3、什么是消息?在面对对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。
当一个对象须要另外一个对象供应服务时,它向对方发出一个服务恳求,而收到恳求的对象会响应这个恳求并完成指定的服务。
这种向对象发出的服务恳求就称为消息。
4、什么是多态性?所谓多态性是指当程序中的其他部分发出同样的消息时,根据接收消息对象的不同能够自动执行类中相应的方法。
其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大便利。
5、什么是面对对象的程序设计方法?这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。
在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法确定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。
6、面对对象方法的特点是什么?(1)OOP以“对象”或“数据”为中心。
由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更困难的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的变更对整个系统几乎没有影响。
《面向对象程序设计C 》期末试卷及标准答案(B)
《面向对象程序设计C++》期末考试试卷(B)一、单项选择题(每小题2分,共40分)1、关于C++与C语言关系的描述中,()是错误的。
A.C语言是C++语言的一个子集B.C语言与C++语言是兼容的C.C++语言对C语言进行了一些改进D.C++语言和C语言都是面向对象的2、已知:int m=10; 下列表示引用的方法中,()是正确的。
A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m;3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。
A.testDefaulParam(5); B.testDefaulParam(5,8);C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*');4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是()。
A.函数的返回值类型B.参数的类型C.函数名称D.参数个数5、下列有关C++类的说法中,不正确的是()。
A.类是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有成员C.在类中,如果不做特别说明,所有成员的访问权限均为私有的D.在类中,如果不做特别说明,所有成员的访问权限均为公用的6、已知X类,则当程序执行到语句X array[3];时,调用了()次构造函数。
A.0 B.1 C.2 D.37、有关析构函数的说法,不正确的是()。
A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参C.析构函数的功能是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的是()。
A.private 部分B.protected 部分C.public 部分D.以上都不对9、关于常数据成员的说法,不正确的是()。
计09面向对象程序设计考试试卷(B卷)
第1 页共4页二、简答题(每小题8分,共24分)1. 什么是而向对象的程序设计?它的几个特征是什么? 答:考生注意事项:1、本试卷共上_页,试卷如有缺页或破损,请立即举手报告以便更换。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
(答案请写在密封线内和答卷正而,否则不记分)课程名称:面向对象程序设计 (B 卷闭卷)适用专业年级:计算机科学与技术09级考试时间:100分钟2.类和结构有什么异同?一、判断题,正确的在下列表格中打错误的打X (每小题1分,答:1. 在C++语言中,只能使用class 来建义一个类。
( )2. 采用inline 泄义内联函数时,在对于函数代码少、频繁调用的情况下特別有效。
( )3. 函数重载时,它们的参数个数和类型要求都不能相同。
()4. 类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并 没有撤销。
( )5.构造函数和析构函数均不能被说明为虚函数。
()6. 在C 语言中,不使用命轻空间,但在C++程序中,一立要使用命名空间。
( )7. ASCII 码文件和二进制文件都可在记事本中直接打开。
()8. 类的友员函数是指可以访问本类私有成员的其它类的成员函数。
()9. 而向对象的编程方法还是要以而向过程的编程方法做基础,故学了面向过程的编程方法后, 对学习面向对象的编程方法很有帮助。
()3..函数重载的主要作用是什么?调用不同的重载函数是在编译时决左还是在运行 时决定? 答:三、填空题(每空2分,共10分)根据程序说明和程序中的注释,填充程序中不完整的部分。
类Number的成员函数TwoTimes是递归函数,功能是求2“(假设n<0时返回值为0)。
ttinclude <iostream>using namespace std;class Number{private:int Num;public:int n;int TwoTimes (int n) //递归函数TwoTimes (n)求2” o{ if (—⑴—)return 0;if (n=0)—⑵—;else return _____ (3) ___ ;}int GetNumO{return Num;}Number(int n=0) {Num = n;}};void mainO{Number *p;P二__ ⑷;〃动态生成由p指向的Number对象,并使Num为5。
软件学院-面向对象程序设计-2008-2009(2)期末B卷
华南农业大学期末考试试卷(B卷)2008-2009学年第2学期考试科目:面向对象程序设计考试类型:(闭卷)考试时间:120分钟学号________________姓名______________年级专业____________________一、选择题(30分)1.Which of the following statements is correct about Java packages?A. A package may contain unlimited number of nested sub-packages.B. A package is a collection of related Java source program.C. Using the import statement can include all the classes into the current program from a specified package and its sub-packages.D. If there is no package statement used, the current class will not be in any package. 2.Which one is the wrong statement about Java constructors?A. The name of a constructor must be the same as its class’s name.B. A constructor has no return value and can not be modified by void.C. A constructor of the parent class can not be inherited by its sub-classes.D. All constructors must be modified by public.3.Giving the code bellow:class Test{private int m;public static void fun() { /* some code... */ }}How to make the member variable m accessible for method fun()?A. change "private int m" to "protected int m"B. change "private int m" to "public int m"C. change "private int m" to "static int m"D. change "private int m" to "int m"4.Which of the following functions is an overloading function of "public void example(){...}"?A. public void example(){...}B. public int example(){...}C. public void example2(){...}D. public int example(int m, float f){...}5.In Java, a class may have many different methods with the same name. The number, type, sequences of arguments in these methods are different, and the return value can be different as well. What do we call this feature in terms of object-oriented programming?A. HidingB. OverridingC. OverloadingD. This feature is not supported in Java6.How to execute the following program?public class Test{public static void main(String args[]) {System.out.println(args[0]);}}A. java Test.classB. java TestC. java Test aStringD. javac Test7.If a container has been resized, which of the following layout manager did not change the internal components' size?A. CardLayoutB. FlowLayoutC. BorderLayoutD. GridLayout8.Which is the right statement about exception handling?A. In java, all exceptions are necessary to be caught and handled.B. The “catch”statement catches exception by type-matching.C. In the “try-catch-finally” structure, the program will exit after exception handling.D. Exception is a kind of errors, and it should be absolutely avoided in programs.9.The following statements are about type-casting, which one is correct?A. A reference variable of a class can only be assigned to an object of its first level sub-classes of this class.B. An object can not be casted to the type of another class which has no inheritance relationship with the object’s original class.C. A child class’s reference variable can be assigned to an object of its parent class.D. There is only explicit casting, but no implicit casting.10.Both class Teacher and Student are the sub-classes of Person.Person p; Teacher t; Student s; // assume p, t and s are not null if(t instanceof Person) { s = (Student)t; }Which statement about the last line of expression is correct?A. A new Student object will be created.B. The type-casting is correct.C. The expression is incorrect.D. There is no syntax error but will generate runtime error.11.According to the code below, which statement is correct?public class Test {static Object o;public static void main(String args[]) {System.out.println(o);}}A. Generates compile error.B. Compiles OK, but has runtime errors.C. Outputs zero.D. Outputs “null”.12.According to the code below, select the statement which is false.String s = "Hello";String s1 = new String("Hello");String s2 = s1.intern();String s3 = "Hello";A. s1 == sB. s2 == sC. s == s3D. s2 == s313.The array definition code is given below, which statement is correct?String[][] s = new String[10][];A. The definition of array s is illegal in syntax.B. s is a 10×10 two-dimensional array.C. All elements in s are "".D. s is an array of ten arrays.14.Which is the correct output according to the program given bellow?public static void main(String[] args){Scanner scanner = new Scanner("this is one that is two");eDelimiter(" is"); // there is a space before "is"while(scanner.hasNext()) {System.out.print(scanner.next());}}。
完面向对象程序设计期末综合练习二(填空题)
面向对象程序设计期末综合练习二(填空题)填空题1. C++语言是在_________语言的基础上发展起来的。
2. C++语言的编译单位是扩展名为__________的__________文件。
3. 行尾使用注释的开始标记符为__________。
4. 多行注释的开始标记符和结束标记符分别为__________和__________。
5. 用于输出表达式值的标准输出流对象是_________。
6. 用于从键盘上为变量输入值的标准输入流对象是________。
7. 一个完整程序中必须有一个名为________的函数。
8. 一个函数的函数体就是一条_________语句。
9. 当执行cin 语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。
10. 在C++程序中包含一个头文件或程序文件的预编译命令为__________。
11. 程序中的预处理命令是指以______字符开头的命令。
12. 一条表达式语句必须以______作为结束符。
13. 在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是________定义的头文件。
14. 使用#include 命令可以包含一个头文件,也可以包含一个______文件。
15.一个函数定义由________和________两部分组成。
16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。
17.C++头文件和源程序文件的扩展名分别为______和______。
18.程序文件的编译错误分为________和________两类。
19.当使用_______保留字作为函数类型时,该函数不返回任何值。
20.当函数参数表用______保留字表示时,则表示该参数表为空。
21.从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______个参数。
2010-面向对象试题B卷
class C: public B2, public B1
{
public:
C(int a, int b, int c):B1(a),memberB1(b)
{ i=c;}
private:
B1 memberB1;
int i;
};
void main()
{
C obj(1,2,3);
}
程序运行的结果是:
constructing①
void main()
{
A *pA=new A[3];
cout<<”There are ”<<pA->GetObjectCount()<<” objects”<<endl;
delete []pA;
cout<<”There are ”<<A::GetObjectCount()<<” objects”<<endl;
cout<<"---MAIN---\n";
cout<<"I: "<<i<<" a: "<<a<<" b: "<<b<<" c: "<<c<<endl;
i=i+13; other();
}
void other(void)
{
static int a=-6;
static int b;
int c=13;
a=a-5; i=i+21; c=c-4;
9.请将下列程序运行后的最终结果填写完整。
对象程序设计2009—2010下学期期末考试B卷.doc
济南大学2009~2010 学年第二学期课程考试试卷(补、缓考卷)课 程 面向对象程序设计 授课教师 考试时间 考试班级 学 号 姓 名一、选择题(每小题2分,共20分)1.对类的构造函数和析构函数说法正确的是( )。
A.构造函数可以重载,析构函数不能重载B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载 2.有如下类的定义,空格处应填上的语句是( )。
class Exam {( ) int value; };int Exam::value = 0;A. staticB. constC. publicD. private 3.对于下面的代码,正确的描述是( )。
class Base {protected: int a; };class Deprived: public Base {private: void f1(); public:void f2() };void main() {Deprived obj; obj.a = 100; }A.类Base 的成员a 不能定义为保护成员,因为数据成员必须被定义为私有的B.类Deprived 的成员函数都可以访问Base 类的成员aC.类Deprived 的私有成员函数不能访问Base 类的成员aD.obj.a 是正确的4.对于下面定义的类Sample ,在函数ChangeValue()中将对象成员value 的值修改为10的语句是( )。
class Sample {public: Sample(int a) {value = a;}void SetValue(int a) {value = a;} Private:int value; }void chageValue() {Sample * ptr = new Sample(5); ;} A. Sample(10) B. SetValue(10) C. ptr->SetValue(10) D. ptr->value = 0 5.下面对于基类和派生类关系的描述中,错误的是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件学院_面向对象程序设计_2008-2009(2)期末B卷华南农业大学期末考试试卷(B卷)2008-2009学年第2学期考试科目:面向对象程序设计考试类型:(闭卷)考试时间:120分钟学号________________姓名______________年级专业____________________一、选择题(30分)说明:每题2分,只有1个正确答案,请将正确答案填写在下面表格中。
1.Which of the following statements is correct about Java packages?A. A package may contain unlimited number of nested sub-packages.B. A package is a collection of related Java source program.C. Using the import statement can include all the classes into the current program from a specified package and its sub-packages.D. If there is no package statement used, the current class will not be in any package. 2.Which one is the wrong statement about Java constructors?A. The name of a constructor must be the same as its class’s name.B. A constructor has no return value and can not be modified by void.C. A constructor of the parent class can not be inherited by its sub-classes.D. All constructors must be modified by public.3.Giving the code bellow:class Test{private int m;public static void fun() { /* some code... */ }}How to make the member variable m accessible for method fun()?A. change "private int m" to "protected int m"收集于网络,如有侵权请联系管理员删除B. change "private int m" to "public int m"C. change "private int m" to "static int m"D. change "private int m" to "int m"4.Which of the following functions is an overloading function of "public void example(){...}"?A. public void example(){...}B. public int example(){...}C. public void example2(){...}D. public int example(int m, float f){...}5.In Java, a class may have many different methods with the same name. The number, type, sequences of arguments in these methods are different, and the return value can be different as well. What do we call this feature in terms ofobject-oriented programming?A. HidingB. OverridingC. OverloadingD. This feature is not supported in Java 6.How to execute the following program?public class Test{public static void main(String args[]) {System.out.println(args[0]);}}A. java Test.classB. java TestC. java Test aStringD. javac Test7.If a container has been resized, which of the following layout manager did not change the internal components' size?A. CardLayoutB. FlowLayoutC. BorderLayoutD. GridLayout8.Which is the right statement about exception handling?A. In java, all exceptions are necessary to be caught and handled.B. The “catch”statement catches exception by type-matching.C. In the “try-catch-finally” structure, the program will exit after exception handling.D. Exception is a kind of errors, and it should be absolutely avoided in programs. 9.The following statements are about type-casting, which one is correct?A. A reference variable of a class can only be assigned to an object of its first level sub-收集于网络,如有侵权请联系管理员删除classes of this class.B. An object can not be casted to the type of another class which has no inheritance relationship with the object’s original class.C. A child class’s reference variable can be assigned to an object of its parent class.D. There is only explicit casting, but no implicit casting.10.Both class Teacher and Student are the sub-classes of Person.Person p; Teacher t; Student s; // assume p, t and s are not nullif(t instanceof Person) { s = (Student)t; }Which statement about the last line of expression is correct?A. A new Student object will be created.B. The type-casting is correct.C. The expression is incorrect.D. There is no syntax error but will generate runtime error.11.According to the code below, which statement is correct?public class Test {static Object o;public static void main(String args[]) {System.out.println(o);}}A. Generates compile error.B. Compiles OK, but has runtime errors.C. Outputs zero.D. Outputs “null”.12.According to the code below, select the statement which is false.String s = "Hello";String s1 = new String("Hello");String s2 = s1.intern();String s3 = "Hello";A. s1 == sB. s2 == sC. s == s3D. s2 == s313.The array definition code is given below, which statement is correct?String[][] s = new String[10][];A. The definition of array s is illegal in syntax.B. s is a 10×10 two-dimensional array.C. All elements in s are "".D. s is an array of ten arrays.14.Which is the correct output according to the program given bellow?public static void main(String[] args){收集于网络,如有侵权请联系管理员删除Scanner scanner = new Scanner("this is one that is two");eDelimiter(" is"); // there is a space before "is"while(scanner.hasNext()) {System.out.print(scanner.next());}}A. this one that twoB. th one that twoC. thone that twoD. this is one that is two15. The file “empty.txt” does not exist before, what its content will be after executing the following code.public static void main(String[] args) throws FileNotFoundException {PrintWriter pr = new PrintWriter(new File("empty.txt"));pr.print("one\ttwo");pr.append("\n1\t2");pr.close();}A. one twoB. one\ttwo1 21\t2C. one\ttwo\n1\t2D. one two 1 2二、改错题(20分)说明:写出每段代码的错误原因并改正错误,每小题4分,说明原因和改正各2分。