2006年《面向对象程序设计》验试题及答案
- 格式:doc
- 大小:52.50 KB
- 文档页数:5
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案一、单选题1.在下列概念中,Java语言只保留了DA.运算符重载B.结构和联合C.指针D.方法重载2.下列类定义中,不正确的是BA.cla某{....}B.taticcla某implementy1,y2{....}D.cla某e某tendy{....} C.publiccla某e某tendApplet{....}3.下列语句序列执行后,k 的值是Bintm=3,n=6,k=0;while((m++)<(--n))++k;i++先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。
如i=1,则表达式(i++)的值等于1,而i的值变为2。
++ii先自增1,再把自增后的值赋给表达式(++i)。
如i=1,则表达式(++i)的值等于2,i的值也为2,A.0B.1C.2D.34.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0]=7;B.i=i+2C.i++---j;D.a(0)=66;5.Java语言的类间的继承关系是BA.多重的B.单重的C.线程的D.不能继承6.下列语句序列执行后,k的值是Cinti=10,j=18,k=30;witch(j-i){cae8:k++;cae9:k+=2;cae10:k+=3;default:k/=j;}A.31B.3C.2D.337.设有定义float某=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是CA.某>y||某>zB.z>(y+某)C.某!=yD.某<y&!(某<z)8.下列修饰符中,定义类头时能使用的修饰符是CA.privateB.taticC.abtractD.protected9.设i、j、k为类某中定义的int型变量名,下列类某的构造函数中不正确的是BA.某(intm){...}B.void某(intm){...}D.某(inth,intm,intn){...}C.某(intm,intn){...}10.下列对封装性的描述中,错误的是DA.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的11.下列关于包的描述中,错误的是BA.包是若干个类的集合B.包是一种特殊的类型D.包有有名包和无名包两种C.包是使用package语句创建的12.下列关于Applet程序的描述中,错误的是CA.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中13.下列界面元素中,不是容器的是A.DialogB.FrameCC.LitD.Panel14.下列关于异常处理的描述中,错误的是DA.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理15.以下方法不属于迭代器(Iterator)接口所定义的方法的是D A.haNe某t()B.ne某t()16.主线程属于A.守护线程C.remove()D.ne某tElement()(C)B.Thread线程C.用户线程D.Runnable线程二、填空题1.2.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。
《面向对象程序设计(Java)》机试题库(含答案)1.编写一个字符界面的Java Application 程序,接受用户从键盘输入的一个正整数,然后统计并输出从1到这个正整数的累加和。
2.编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。
3.编写一个完整的Java Applet 程序使用复数类Complex验证两个复数1+2i 和3+4i 相加产生一个新的复数4+6i 。
复数类Complex必须满足如下要求:(1)复数类Complex 的属性有:RealPart : int型,代表复数的实数部分ImaginPart : int型,代表复数的虚数部分(2)复数类Complex 的方法有:Complex( ) : 构造函数,将复数的实部和虚部都置0Complex( int r , int i ) : 构造函数,形参r 为实部的初值,i为虚部的初值。
Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。
String ToString( ) : 把当前复数对象的实部、虚部组合成a+bi 的字符串形式,其中a 和b 分别为实部和虚部的数据。
4.编写一个学生类Student ,要求:(1) 学生类Student 属性有:id : long型,代表学号name : String类对象,代表姓名age : int型,代表年龄sex : boolen型,代表性别(其中:true表示男,false表示女)phone : String类对象,代表联系电话(2) 学生类Student的方法有:Student(long i , String n , int a , boolean s , long p): 有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话。
(0837)《面向对象程序设计》网上作业题及答案1:[单选题]执行下列语句后,变量x的值是:()int x = 7, y = 10;switch (x / y) {case 0:x++;case 7:x *= y;case 14:x += y;break;default:x %= y;}A:8B:70C:80D:90参考答案:D2:[单选题]以下由for语句构成的循环的执行次数是:()for (int i=0; i<=0; i=i) ;A:有语法错,不能执行B:一次也不执行C:执行1次D:无限次参考答案:D3:[单选题]设有定义int i=7;char ch='b'; 下面赋值语句中不正确是:()A:i = ch;B:ch = i;C:ch = (char)i;D:i = (int)ch;参考答案:B4:[单选题]设有定义int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:()A:i = d;B:i = (int)d + j;C:j = (int)i - d;D:i + j = (int)d;参考答案:B5:[单选题]以下关于Java语言的叙述错误的是:()A:Java是最纯粹的面向对象语言,对面向对象方法学的支持也最全面B:Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行C:Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行D:Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量参考答案:B6:[单选题]下列选项中,用于声明实现一个接口关键字是:()A:interfaceB:implementsC:importD:abstract参考答案:B7:[单选题]Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序“一次编写,到处运行”的特点:()A:多线程B:与平台无关C:面向对象D:分布式参考答案:B8:[单选题]下列不属于Java语言关键字的是:()A:repeatB:tryC:breakD:new参考答案:A9:[单选题]下列字符序列中可以作为Java语言标识符的是:()A:trueB:123_xyzC:x.yD:_x123参考答案:D10:[单选题]下列字符序列中不能作为Java语言标识符的是:()A:abc_123B:圆周率PIC:falseD:_123abc参考答案:C1:[单选题]下列语句序列给出了k,myArr和myMethod()的声明。
面向对象考试题目和答案一、单项选择题(每题2分,共20分)1. 面向对象程序设计中,对象的状态由()来表示。
A. 属性B. 方法C. 消息D. 类答案:A2. 在面向对象程序设计中,封装的目的是()。
A. 隐藏对象的属性B. 隐藏对象的方法C. 隐藏对象的实现细节D. 隐藏对象的消息答案:C3. 面向对象程序设计中,继承的主要优点是()。
A. 重用代码B. 减少代码量C. 提高程序的可读性D. 所有以上选项答案:D4. 在面向对象程序设计中,多态性是指()。
A. 一个对象可以有多个类B. 一个类可以有多个对象C. 一个消息可以有多个行为D. 一个类可以有多个属性答案:C5. 在面向对象程序设计中,以下哪个不是类的组成部分()。
A. 属性B. 方法D. 函数答案:D6. 在面向对象程序设计中,以下哪个概念不是面向对象的核心概念()。
A. 封装B. 继承C. 多态D. 过程答案:D7. 在面向对象程序设计中,以下哪个概念是面向对象的核心概念之一()。
A. 函数B. 过程C. 消息D. 抽象8. 在面向对象程序设计中,以下哪个不是类的成员()。
A. 属性B. 方法C. 函数D. 消息答案:C9. 在面向对象程序设计中,以下哪个不是类的属性()。
A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:D10. 在面向对象程序设计中,以下哪个不是类的访问修饰符()。
B. 保护C. 公共D. 静态答案:D二、多项选择题(每题3分,共15分)1. 面向对象程序设计中,以下哪些是类的属性()。
A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:ABC2. 面向对象程序设计中,以下哪些是类的成员()。
A. 属性C. 函数D. 消息答案:ABD3. 面向对象程序设计中,以下哪些是类的访问修饰符()。
A. 私有B. 保护C. 公共D. 静态答案:ABC4. 面向对象程序设计中,以下哪些是面向对象的核心概念()。
面向对象程序设计概述-测试题类与对象之间的关系可概括为()题目类型:单选题正确答案:实例关于类的说法正确的是()题目类型:多选题正确答案:1. 类是抽象的2. 类是对象的蓝图3. 类是对象模板关于封装的说法正确的是()题目类型:多选题正确答案:1. 封装实现了信息隐藏2. 封装将对象的属性和操作结合在一起一般与特殊的关系其实就是()题目类型:单选题正确答案:继承关系关于继承的说法正确的是()题目类型:多选题正确答案:1. 一个类可以继承另一个类的属性和方法2. 继承可用于组建新类3. 继承是代码重用的手段4. 继承中子类可以修改父类属性5. 继承反映客观世界中一般性与特殊性的关系6. 基类是指一般类,而子类是指特殊类按钮与电梯按钮的关系是()题目类型:单选题正确答案:一般与特殊面向对象的方法学是一种基于()的方法学题目类型:单选题正确答案:对象面向对象方法的多态性是指()。
题目类型:单选题正确答案:针对一消息,不同的对象可以以适合自身的方式加以响应关于消息的说法正确的是()题目类型:多选题正确答案:1. 消息是指向某个对象发出的服务请求2. 消息是通过调用对象函数实现的3. 消息是对象之间相互协作的方式关于消息,下列说法中不正确的是()。
题目类型:单选题正确答案:消息的发送者必须了解消息的接收者如何响应消息关于多态的说法正确的是()题目类型:多选题正确答案:1. 不同类型的对象接收相同的消息产生不同的行为2. C++中函数重载是一种多态形式。
3. C++中虚函数是实现运行时多态的方法关于消息连接的说法正确的是()题目类型:多选题正确答案:1. 一个对象发送消息请求另一个对象的服务2. 接收消息的对象响应消息3. 接收消息的对象执行相应的服务关于对象的说法正确的是()题目类型:单选题正确答案:对象只具有动态特征关于封装,下列说法中不正确的是()。
题目类型:单选题正确答案:通过封装,对象的属性都是不可见的面向对象方法中的对象是()题目类型:单选题正确答案:相互协作的C++程序设计基础-测试题函数声明f(int x, int y=0)是错误的。
最新国家开放大学电大本科《面向对象程序设计》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。
该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。
做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核及教学考一体化答案,敬请查看。
《面向对象程序设计》题库及答案一一、单项选择题(每小题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的值分别为( )。
一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。
CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。
CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。
0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。
Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。
逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。
浙江广播电视大学二○○六年春季学期期末考试“开放本科”计算机科学与技术专业面向对象程序设计(上机)试题参考答案2006年7月完整的正确程序如下:#include<iostream.h>#include<string.h>class employee{char *name; // 雇员姓名short age; // 年龄float salary; // 工资public:employee();void set_name(char *);void set_age(short a);void set_salary(float s);void print();~employee()};employee::employee(){name=0;age=0;salary=0.0;}employee::~employee(){delete[]name;}void employee::set_age(short a){age = a;}void employee::set_salary(float s){salary = s;}void employee::set_name(char *n){name=new char[strlen(n)+1];strcpy(name,n);}void employee::print(){cout<<"Name: "<<name<<endl;cout<<"Age: "<<age<<endl;cout<<"Salary: "<<salary<<endl;}void main(){short ag=0;float sa=0;char *na=new char[20];employee emp;cout<<"Please input name:";cin>>na;cout<<"Please input age:";cin>>ag;cout<<"Please input salary:";cin>>sa;emp.set_name(na);emp.set_age(ag);emp.set_salary(sa);emp.print();}说明:1.程序可以正常运行,并得到正确结果得满分。
软件学院05级《面向对象程序设计》第二测验题
2006年6月6日星期二
一、选择题(80分,每题4分)
1.Java中main()方法的返回值是什么?
A. String
B. int
C. char
D. void
2.如何执行下面的程序
public class Test{
public static void main(String args[]) {
System.out.println(args[0]);
}
}
A. java Test.class
B. java Test
C. java Test aString
D. javac Test
3.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?
A. ArrayList myList=new Object();
B. List myList=new ArrayList();
C. ArrayList myList=new List();
D. List myList=new List();
4.根据下面代码,找出正确的选项。
public class Test{
static Object o;
public static void main(String args[]) {
System.out.println(o);
}
}
A.编译时将产生错误。
B.编译时正确,运行时将产生错误。
C.程序输出零。
D.程序输出null。
5.根据下面代码,那个选项是正确的?
public class Test{
static int a[] = new a[10];
public static void main(String args[]) {
System.out.println(a[0]);
}
}
A.编译时将产生错误。
B.编译时正确,运行时将产生错误。
C.程序输出零。
D.程序输出null。
6.哪个关键字可以抛出异常?
A. transient
B. finally
C. throw
D. static
7.对于下列代码, 下述哪些方法可以加入类Child?
public class Parent {
public int addValue( int a, int b) {
int s; s = a+b; return s;
}
}
class Child extends Parent { }
A. int addValue( int a, int b ){...}
B. public void addValue (int a, int b ){/...}
C. public int addValue( int a ){...}
D. public int addValue( int a, int b )throws MyException {...}
8.哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?
A. CardLayout
B. FlowLayout
C. BorderLayout
D. GridLayout
9.类Teacher和Student是类Person的子类,则
Person p; Teacher t; Student s; //设p,t和s都是非null引用
if(t instanceof Person) { s = (Student)t; }
最后一条语句的结果是:
A. 将构造一个Student对象。
B. 表达式是合法的。
C. 表达式是错误的。
D. 编译时正确,但运行时错误。
10.下面哪种注释方法能够支持javadoc命令:
A. /**...**/
B. /*...*/
C. //
D. /**...*/
11.关于异常处理下列说法中正确的是:
A.Java系统可以检测并抛出程序运行过程中产生的所有异常。
B.catch子句是通过类型匹配来捕获异常对象的。
C.try-catch-finally结构处理完异常后结束程序的运行。
D.异常是一种错误,所以在程序中应该完全避免异常的出现。
12.关于容器下列说法中错误的是:
A.可以提供快速随机访问的容器是ArrayList。
B.TreeSet容器中元素的排列顺序是由插入元素时的先后次序来确定的。
C.频繁进行元素插入和删除操作时,使用LinkedList效率较高。
D.以查找时间为主要考虑因素的容器是HashSet。
13.根据下面代码,找出正确的选项。
public class Test{
public static void main(String args[]) {
Object o;
System.out.println(o);
}
}
A.编译时将产生错误。
B.编译时正确,运行时将产生错误。
C.程序输出零。
D.程序输出null。
14.下列关于对象类型转换的说法中正确的是:
A. 某类的对象引用只能指向它的直接子类的对象。
B. 不存在祖先与后代关系的两个类的对象之间一定不能进行类型转换。
C. 后代类的对象引用能指向其祖先类的对象。
D. 对象类型转换只有强制转换而没有自动转换。
15.下列关于Java类的构造方法的说法中错误的是:
A. 构造方法的名字必须与类的名字完全相同。
B. 构造方法没有返回值也不能用void修饰。
C. 父类的构造方法不能被子类继承。
D. 构造方法必须用public访问控制符修饰。
16.关于Java的包的叙述中正确的是:
A. Java的包可以有任意多层的子包。
B. 包是多个相关的Java源程序组成的集合。
C. 使用import语句可以将指定包及其子包中的所有类引入到当前程序中。
D. 如果源程序中没有使用package语句,则该类就会出现在任何包中。
17.System和Math类在哪个包中?
A. java.io
B. ng
C. java.awt
D. java.util
18.下面关于Java Applet的说法正确的是?
A. Applet也需要main()方法
B. Applet必须继承自java.awt.Applet
C. Applet能访问本地文件
D. Applet程序不需要编译
19.选择如下一段程序正确的输出结果。
class A{
void go(){System.out.print ("A");}
}
class B extends A{
void go(){super.go(); System.out.print ("B");}
public static void main(String[] args){
A a = new A();
B b = new B();
a.go();
b.go();
}
}
A. AAB
B. AB
C. ABB
D. BB
20.下列哪个说法是错误的?
A. 构造方法是创建对象时由系统自动调用的。
B. Java语言会自动初始化变量的值。
C. Java语言允许同时继承一个类并实现一个接口。
D. Java语言会自动回收内存中的垃圾。
二、判断题(20分,每题4分)
1.class Zeta{
static void setX(int n) { x= n; }
int x;
}
答案:错误
2. class Alpha{
public void set(int p) { n = p; }
private int n;
}
class Zeta extends Alpha {
public void m() { n = 0; }
}
答案:错误
3.class Par{
String name;
public Par (String s){name=s;} }
class Chd extends Par {
int id;
public Chd(int i){ id=i;}
}
答案:错误
4. class Alpha{
private void m(){}
public void p() {}
}
class Beta extends Alpha{
public void m() {}
private void p(){}
}
答案:错误
5. class A{
int m(){return 1;}
}
class B extends A{
int m(){return 0;}
}
答案:正确。