河南电大面向对象程序设计期末复习题4(历年考试题)
电大《面向对象程序设计》形考任务四

试卷总分:25 得分:25一、单项选择题(每题1分,共10分)1.下面()既可以作为流的数据源,又可以作为流的目的地。
A.扫描仪B.磁盘文件C.键盘D.显示器【答案】:B2.进行文件输入输出操作时,最常用的系统包是()。
A.java.utilngC.java.ioD.java.awt【答案】:C3.Java中有3个标准输入/输出流,下面的()不包含在内。
A.System.curB.System.outC.System.inD.System.err【答案】:A4.在读字符文件Employee.dat 时,使用该文件作为参数的类是()。
A.FileInputStreamB.DataOutputStreamC.BufferedReaderD.DataInputStream【答案】:A5.下列不是InputStream 子类的是()。
A.ZipInputStreamB.FileOutputStreamC.ObjectInputStreamD.FileInputStream【答案】:B6.下列哪个类不是异常类的父类?()。
A.ObjectB.ThrowableC.ErrorD.Exception【答案】:C7.下面的关键字()与异常处理无关。
A.voidB.tryC.throwD.throws【答案】:A8.下面的异常()为数组下标越界异常。
A.ArrayIndexOutOfBoundsExceptionB.FileNotFoundExceptionC.ArithmeticExceptionD.NullPointerException【答案】:A9.下面()既可以作为流的数据源,又可以作为流的目的地。
A.键盘B.显示器C.磁盘文件D.扫描仪【答案】:C10.Java中有3个标准输入/输出流,下面的()不包含在内。
A.System.curB.System.outC.System.inD.System.err【答案】:A二、判断题(每题1分,共10分)11.在Java中将信息的输入与输出过程抽象为输入/输出流。
(完整word版)面向对象程序设计期末复习题及答案

(完整word版)面向对象程序设计期末复习题及答案C++面向对象程序设计复习试题类型1、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
15题,每小题2分,共30分) [主要从作业题目中抽出来]2。
填空题。
(10题,每小题3分,共30分)3、阅读程序,写出程序运行结果。
【也称计算题】(3题,每小题5分,共15分)4、程序编制题【也称综合分析题】. (第1、2题每题8分,第3题9分,共25分)重点复习内容打*号是重点,打▲号是编程题出题范围*基本概念,对象,消息,类。
面向对象系统特性,封装性,继承性,多态性.*▲C++类的构成,类与对象,构造与析构,动态存储,类嵌套.静态成员,对象数组,友元。
*函数重载。
运算符重载。
*引用定义与引用参数* 基类与派生类的定义。
*基类及派生类的访问权(含派生类对基类的访问、通过派生类对象对基类的访问)和初始化。
多继承与虚基类.*多态性与虚函数.纯虚函数、抽象类。
*▲函数模板。
*▲使用类来定义对象并在程序中的应用题型样题填空题1。
假定AB为一个类,则执行“AB a[10];"语句时,系统自动调用该类的构造函数的次数为_________。
答案:102。
可以用p。
a的形式访问派生类对象P的基类成员a,其中a是_________。
答案:公有继承的公有成员3.能作为重载函数的调用的依据是_________。
答案:参数个数、参数类型4.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流是否结束状态的操作函数名称是_________答案:eof5。
函数重载是指_________。
答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同(完整word版)面向对象程序设计期末复习题及答案6。
在派生类中重新定义虚函数时必须在_________ 方面与基类保持一致。
答案:参数个数阅读程序例题【计算题】1.分析以下程序的执行结果#include〈iostream.h>class Sample{int x,y;public:Sample() {x=y=0;}Sample(int a,int b) {x=a;y=b;}~Sample(){if(x==y)cout〈〈“x=y”〈<endl;elsecout〈〈“x!=y"〈〈endl;}void disp(){cout〈〈“x=”<〈x〈<“,y”=<<y<<endl; }};void main(){Sample s1,s2(2,3);s1.disp();s2.disp();}解:x=0,y=0x=2,y=3x!=y x=y2.分析以下程序的执行结果#include〈iostream。
《面向对象程序设计》期末考核试题样例及解答

《面向对象程序设计》期末考核试题样例及解答一、单项选择(每小题1分,12小题,共12分)1. 源程序文件的缺省扩展名为( )。
A. B. C. D.2. x>0 5的相反表达式为()。
A. x<=0 5B. x<=0 5C. x>0 5D. x>0 53. 在下面的字符数组定义中,有语法错误的是( )。
A. a[20]=“”;B. a[]=“55.”;C. a[15];D. a[10]=’5’;4. 以下正确的函数原型语句是( )。
A. ( y)B. ( y)C. ();D. ( );5. 在下面存储类中,()的对象不是局部变量。
A. 外部静态类B. 自动类C. 函数形参D. 寄存器类6. 假定有“ { [40]; ;}; * ;”,则正确的语句是()。
A. (>,””);B. (,””);C. (*,””);D. ((*)->,””);7. 软件产品所具有的全部或部分地再用于新的应用的能力称为该软件的()。
A. 可维护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,通常把含有()函数的文件称为()。
A. 主文件B. 实现文件C. 程序文件D. 头文件9. 在一个用链表实现的队列类中,假定每个结点包含的值域用表示,包含的指针域用表示,链队的队首指针用表示,队尾指针用表示,若链队为空,则进行插入时必须把新结点的地址赋给( )。
A. B.C. 和D. 或10. 假定为一个类,则执行“ a, b(2), c[3], *;”语句时共调用该类无参构造函数的次数为( )。
A. 5B. 6C. 3D. 411. 引入友元的主要目的是为了()。
A. 增强数据安全性B. 提高程序的可靠性C. 提高程序的效率和灵活性D. 保证类的封装性12. 如果是类B在类A的基础上构造,那么,就称()。
A. 类A为基类或父类,类B为超类或子类B. 类A为基类、父类或超类,类B为派生类或子类C. 类A为派生类,类B为基类D. 类A为派生类或子类,类B为基类、父类或超类二、填空(每空1分,15小题,共18分)1. 语言是在语言的基础上发展起来的。
电大资源网1008《面向对象程序设计》期末考试历届试题2020年1月(含答案)

public class XXK3 { public static void main(String[] args) { Shape x; x= new Rectangle(3 ,4); System. out. println(x. area()+", "十 x. girth O) ;
结果为: 15
得分 1 评卷人
三、程序分析题(写出下列每个程序运行后的输出结果,每题 10 分,
共 40 分)
21. public class XXK2 { private int a; public XXK20 {a=2;} public XXK2(int aa) {a=aa;} public double fl() { return Math. pow(a, 3);
boolean bl = hs. add("a"); hs. add("b"); hs. add ("c") ; hs. add (11 d 11) ; hs. add (11 d") ; boolean b2 = hs. add(11a"); System. out. println("size= 11 + hs. size()); } } 结果为:
)。
A. static
B. public
C. final
D. 缺省
7. 下列能表示栈 (stack)s1 长度的是(
)。
A. s1. lengthO
B. sl. length
C. s1. size
D. sl. size()
8. 下面的异常(
)为文件没有找到异常。
A. NullPointerException
(完整版)面向对象程序设计试卷及答案

考试试卷A(答案)面向对象程序设计注意事项:1。
请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3。
不要在试卷上乱写乱画,不要在装订线内填写无关的内容.4。
满分100分,考试时间为120分钟。
一。
单项选择(本大题共10小题,每小题3分,共30分)1. C#中每个int类型的变量占用( B )个字节的内存。
(A)8 (B)4 (C)2 (D)12。
面向对象的特点是( A )(A)封装、继承、多态(B)抽象、封装、多态(C)抽象、继承、封装(D)抽象、多态、重载3。
C#控制台程序的主入口点是( C )(A) Page_Load函数(B)Run函数(C)Main函数(D)Form_Load函数4。
引用类型存储在( B )中。
(A)堆栈(B)堆内存(C)队列(D)列表5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )(A)CString str (B)string str(C)Dim str as string (D)char *str6。
在中,用来与数据源建立连接的对象是( A )。
(A)Connection对象(B)Command对象(C)DataAdapter对象(D)DataSet对象7. 在类的定义中,类的( B )描述了该类的对象的行为特征.(A)类名(B)方法(C)所属的名字空间(D)私有域8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。
(A)1 (B)0 (C)2 (D)39. float类型的值可以隐式转换成( C )类型的值而保持值不被改变。
(A)char (B)long (C)double (D)int10。
在C#中,假设Class1是一个类,而IExample是一个接口,下面的( A )类声明是正确的。
(A)class Employee: Class1, IExample(B )class Employee : IExample , Class1(C )class Employee- Class1, IExample(D )class Employee: Class1/IExample二.判断题(本大题共5小题,每小题3分,共15分)1. C#中子类可以继承多个基类,也可以继承一个接口。
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案3.doc

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案2一、单选择题(每小题2分,共10分)1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B )。
A. .javaB. .classC. .htmlD. .exe2、设x = 1 ,y = 2,z = 3,则表达式y + =z--/++ x 的值是(A )。
A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户口定义的Applet子类中,一般需要重载父类的(D )方法來完成一些画图操作。
A. start()B. stop()C. init()D. paint()4、不允许作为类及类成员的访问控制符的是(C )。
A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法melhod书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A. static void method()B. public void method()C. final void method()D. abstract void method()二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主耍步骤为编辑源程序、编译生成字节码、和解释运行字节码。
2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为My Applet,则类MyApplet必须是Applet. 类的子类并且存储该源程序文件的文件名为MyApplet 。
3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为.class 的字节码文件。
4、在Java的基木数据类型中,char型采用Unicode编码方案,每个Unicode码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。
2020年电大面向对象程序设计期末复习题4及参考答案(经典复习考试题)

1. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。
A. cpp B. exe C. objD. lik2.设x和y均为bool量,则x && y为真的条件是( A )。
A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假3. 在下面的二维数组定义中,正确的语句是( C )。
A. int a[5][]; B. int a[][5]; C. int a[][3]={{1,3,5},{2}};D. int a[](10);4. 在文件包含命令中,被包含文件的扩展名( C )。
A. 必须是.h B. 不能是.h C. 可以是.h或.cppD. 必须是.cpp5. 要使语句“p=new int[10][20];”正确,p应事先定义为( D )。
A. int *p; B. int **p; C. int *p[20];D. int(*p)[20];6. 在关键字public后面定义的成员为该类的( B )成员。
A. 私有 B. 公用 C. 保护 D. 任何7. 假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为( A )。
A.a B. AA::a C. a() D. AA::a()8. 队列具有(A )的操作特性。
A. 先进先出 B. 先进后出 C. 进出无序 D. 仅进不出9. 假定AB为一个类,则执行”AB a, b(3), *p;”语句时共调用该类构造函数的次数为( D )次。
A. 5 B.4 C. 3 D. 210. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )。
A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符C. 作为友元函数重载的2元运算符D. 作为成员函数重载的2元运算符1. 当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到____下一行____的开始位置。
面向对象程序的设计复习题与参考答案

⾯向对象程序的设计复习题与参考答案⽹络教育课程考试复习题及参考答案⾯向对象程序设计⼀、填空题:1.创建类的对象时,使⽤运算符___________给对象分配存空间。
2.Java通过来区分重载函数。
3.在⼦类中使⽤保留字_ _可调⽤被⼦类覆盖的⽗类中的⽅法。
4.使⽤保留字可以从⼀个构造⽅法中调⽤同⼀个类的另⼀个构造⽅法。
5.抽象类⽤修饰符定义。
6.类的数据成员的访问权限修饰符⼀般为7.访问权限修饰符按照访问权限的⼤⼩从⼤到⼩分别为、、、。
8.定义类的构造⽅法不能有,其名称与名相同。
9.抽象⽅法是的特征是。
10.Java中的所有异常都是从继承来的。
11.对象引⽤中存储的容是。
12.下列程序段执⾏后,String str1 = new String("Java");String str2 = new String("Java");if (str1.equals(str2)) {System.out.println("They are equal");} else {System.out.println("They are not equal");}输出结果为:。
13.下⾯循环执⾏后的sun值为int count =0, sum = 0;while ( count <10 ) {sum += count;count ++;}14.Java语⾔中关键字_ _表⽰双精度类型。
15.保留字_ _⽤于导⼊包中的类到程序中,供程序中使⽤。
16.Java语⾔中继承是⽤保留字表⽰。
17.⾯向对象程序设计中,类是指。
18.对象包含和。
19.若有类定义:class B extends A{…}则类B是类A的_ 。
20.Java语⾔中, 通常把可能发⽣异常的⽅法调⽤语句放到try块中,并⽤紧跟其后的_ 块来捕获和处理异常。
21.多态是指。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。
A. cpp B. exe C. obj D. lik2.设x和y均为bool量,则x && y为真的条件是( A )。
A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假3. 在下面的二维数组定义中,正确的语句是( C )。
A. int a[5][]; B. int a[][5]; C. int a[][3]={{1,3,5},{2}}; D. int a[](10);4. 在文件包含命令中,被包含文件的扩展名( C )。
A. 必须是.h B. 不能是.h C. 可以是.h或.cpp D. 必须是.cpp5. 要使语句“p=new int[10][20];”正确,p应事先定义为( D )。
A. int *p; B. int **p; C. int *p[20]; D. int(*p)[20];6. 在关键字public后面定义的成员为该类的( B )成员。
A. 私有 B. 公用 C. 保护 D. 任何7. 假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为( A )。
A. a B. AA::a C. a() D. AA::a()8. 队列具有( A )的操作特性。
A. 先进先出 B. 先进后出 C. 进出无序 D. 仅进不出9. 假定AB为一个类,则执行”AB a, b(3), *p;”语句时共调用该类构造函数的次数为( D )次。
A. 5 B. 4 C. 3 D. 210. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )。
A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符C. 作为友元函数重载的2元运算符D. 作为成员函数重载的2元运算符1. 当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到____下一行____的开始位置。
2. 假定x和y为整型,其值分别为16和5,则x/y和double(x)/y的值分别为_____3_____和______3.2____。
3. strlen(”apple”)的值为____5____。
4. C++程序运行时的内存空间可以分成全局数据区,堆区,栈区和_____代码_____区。
5.假定a是一个一维指针数组,则a+i所指对象的地址比a大___4 * i_____字节。
6. 如果一个派生类只有一个唯一的基类,则这样的继承关系称为_____单继承_____。
7.假定AA是一个类,“AA* abc()const;”是该类中一个成员函数的原型,在该函数体中_____不允许_____向*this或其成员赋值。
8.假定用户没有给一个名为AB的类定义构造函数,则系统为其定义的构造函数为____AB(){}______。
9.假定用户为类AB定义了一个构造函数"AB(int aa) {a=aa;}",该构造函数实现对数据成员_____a____的初始化。
10. 作为类的成员函数重载一个运算符时,参数表中只有一个参数,说明该运算符有____2____个操作数。
三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面(每小题5分,共20分)1. 打印出2至99之间的所有素数(即不能被任何数整除的数)。
#include<iostream.h>#include<math.h>void main(){int i,n;for(n=2; ___(1)___; n++) {int temp=int(sqrt(n)); //求出n的平方根并取整for(i=2; ___(2)___; i++)if(n%i==0) ___(3)___;if(i>temp) cout<<n<<' ';}cout<<'\n';}(1) n<=99 (2) i<=temp (3) break2. 下面是对按从小到大排列的有序数组a[n]中进行二分查找x的算法,若查找成功返回该元素下标,否则返回-1。
int BinarySearch(int a[],int n,int x){int low=0, high=n-1; //定义并初始化区间下界和上界变量int mid; //定义保存中点元素下标的变量while(low<=high) {mid=___(1)___;if(x==a[mid]) ___(2)___;else if(x<a[mid]) high=mid-1;else ___(3)___;}return -1;}(1) (low+high)/2 (2) return mid (3) low=mid+13.请补充完整如下的类定义:class A {char *a;public:___(1)___ //定义无参构造函数,使a的值为空A(char *aa) {a=___(2)___; //进行动态存储分配strcpy(a,aa); //用aa所指字符串初始化a所指向的动态存储空间}___(3)___ //定义析构函数,删除a所指向的动态存储空间};(1) A() {a=0;} 或A():a(0){} (2) new char[strlen(aa)+1] (3) ~A() {delete []a;}4. 一种类定义如下:class Goods{private:char gd_name[20]; //商品名称int weight; //商品重量static int totalweight; //同类商品总重量public:Goods (char*str,int w){ //构造函数strcpy(gd_name,str);weight=w;totalweight+=weight;}~Goods (){totalweight -= weight;}char* GetN(){___(1)___;} //返回商品名称int GetW(){return weight;}___(2)___ GetTotal_Weight() { //定义静态成员函数返回总重量___(3)___;}}(1) return gd_name (2) static int (3) return totalweight四、理解问答题,写出前三小题的程序运行结果和指出后两小题的程序(或函数)所能实现的功能。
(每小题6分,共30分)1. #include<iostream.h>const int T=8;void main(){int i,s=0;for(i=1;i<=T;i+=2){s+=i*i;cout<<s<<’’;}cout<<endl;}运行结果: 1 10 35 842. #include<iostream.h>class CE {private:int a,b;int getmax() {return (a>b? a:b);}public:int c;void SetValue(int x1,int x2, int x3) {a=x1; b=x2; c=x3;}int GetMax();};int CE::GetMax() {int d=getmax();return (d>c? d:c);}void main(){int x=5,y=12,z=8;CE ex;ex.SetValue(x,y,z);cout<<ex.GetMax()<<endl;}运行结果:123. #include<iostream.h>class A {int a,b;public:A(int aa, int bb) {a=aa; b=bb;}float Multip(char op) {switch(op) {case '+': return a+b;case '-': return a-b;case '*': return a*b;default: cout<<'\n'<<op<<"非法运算符!"<<endl;exit(1); //退出程序运行}}};void main() {A x(10,4);char a[6]="+-*";int i=0;while(a[i]) {cout<< x.Multip(a[i])<<' ';i++;}cout<<endl;}运行结果:14 6 404. #include<iostream.h>#include<stdlib.h>#include<time.h>const int N=10;int ff(int x, int y) {int z;cout<<x<<'+'<<y<<'=';cin>>z;if(x+y==z) return 1; else return 0;}void main(){int a,b,c=0;srand(time(0)); //初始化随机数序列for(int i=0;i<N;i++) {a=rand()%20+1; //rand()函数产生0-32767之间的一个随机数b=rand()%20+1;c+=ff(a,b);}cout<<"得分:"<<c*10<<endl;}程序功能:让计算机随机产生出10道20以内整数的加法题供用户计算,每道题10分,计算完成后打印出得分。
5. char *f(char *s){int n=strlen(s);char* r=new char[n+1];for(int i=0; i<n; i++)if(s[i]>='a' && s[i]<='z') r[i]=s[i]-'a'+'A';else r[i]=s[i];r[n]=’\0’;return r;}程序功能:根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该字符串使s字符串中的小写字母均变为大写。