2020年电大面向对象程序设计期末复习题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中将信息的输入与输出过程抽象为输入/输出流。

2020年新编《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案名师精品资料.

2020年新编《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案名师精品资料.

2020年新编《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案名师精品资料.一、单选题1.在下列概念中,Java语言只保留了DA.运算符重载B.结构和联合C.指针D.方法重载2.下列类定义中,不正确的是BA.class x { .... } B.static class x implements y1,y2 { .... }C.public class x extends Applet { .... } D.class x extends y { .... } 3.下列语句序列执行后,k 的值是Bint m=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.0 B.1 C.2 D.34.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0] = 7; B.i = i + 2 C.i++ - --j; D.a(0) = 66;5.Java语言的类间的继承关系是BA.多重的B.单重的C.线程的D.不能继承6.下列语句序列执行后,k 的值是Cint i=10, j=18, k=30;switch( j - i ) {case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A.31 B.3 C.2 D.337.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是CA.x > y || x > z B.z > ( y + x ) C.x != y D.x < y & ! ( x < z )8.下列修饰符中,定义类头时能使用的修饰符是CA.private B.static C.abstract D.protected 9.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是B A.x( int m){ ... } B.void x( int m){ ... }C.x( int m, int n){ ... } D.x( int h,int m,int n){ ... } 10.下列对封装性的描述中,错误的是 DA.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的11.下列关于包的描述中,错误的是BA.包是若干个类的集合B.包是一种特殊的类型C.包是使用package语句创建的D.包有有名包和无名包两种12.下列关于Applet程序的描述中,错误的是 CA.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中13.下列界面元素中,不是容器的是CA. Dialog B.Frame C.List D.Panel14.下列关于异常处理的描述中,错误的是DA.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理15.以下方法不属于迭代器(Iterator)接口所定义的方法的是DA.hasNext()B.next()C.remove()D.nextElement ()16.主线程属于(C )A.守护线程B.Thread线程C.用户线程D.Runnable线程二、填空题1.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。

电大资源网1008《面向对象程序设计》期末考试历届试题2020年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

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案4

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案4

《面向对象程序设计JA V A语言程序设计》期末考试试题及部分答案1一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。

1.下列语句序列执行后,k 的值是(B )。

int m=3,n=6, k=0;while((m++)〈(—— n)) ++k;A) 0 B)1 C) 2 D)32.设i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是(B )。

A)i = i + 2 B)a[0] = 7;C) i++ - --j;D) a(0)= 66;3.Java语言的类间的继承关系是(B )。

A)多重的B)单重的C)线程的D) 不能继承4.设有定义int i = 6 ;,则执行以下语句后,i 的值为(C ).i += i - 1;A) 10 B) 121 C) 11 D) 1005.下列选项中,用于在定义子类时声明父类名的关键字是(C ).A)interface B) package C)extends D)class6.若已定义byte[]x= {11,22,33,-66} ;其中0≤k≤3,则对x数组元素错误的引用是( C )。

A)x[5-3] B)x[k] C)x[k+5] D)x[0]7.下列语句序列执行后,ch1 的值是( B ).char ch1=’A’,ch2='W’;if(ch1 + 2 < ch2 ) ++ch1;A)‘A’ B) ‘B’ C) ‘C' D)B8.下列语句序列执行后,i 的值是( D )。

int i=8,j=16;if( i—1 > j ) i--; else j--;A)15 B) 16 C) 7 D)89.下列语句序列执行后,k 的值是(C )。

int i=10, j=18,k=30;switch(j - i ){ case 8 : k++;case 9 :k+=2;case 10: k+=3;default :k/=j;}A) 31 B)32 C) 2 D) 3310.下面语句执行后,i 的值是(B )。

2020年国家开放大学电大《C语言程序设计》期末考试及答案参考

2020年国家开放大学电大《C语言程序设计》期末考试及答案参考

[试题分类]:C语言程序设计1.下列关于C语言中main函数位置的叙述中,正确的是A. 必须在程序的最后B. 必须在程序的开始处C. 可以在程序中的任意位置D. 必须在系统调用的库函数后面答案:C题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,不能作为C语言标识符是A. _xB. intC. a_1D. ab1exe答案:B题型:单选题知识点:第2章 C语言概述难度:13.若有定义“int i; float f; double d;”,则表达式“10+d+i*f”的数据类型为A. intB. floatC. doubleD. 不确定答案:C题型:单选题知识点:第3章数据类型与运算规则难度:14.判断char型变量c是否为小写字母的正确表达式为A. 'a'<=c<='z'B. (c>=a)&&(c<=z)C. ('a'>=c)('z'<=c)D. (c>='a')&&(c<='z')答案:D题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int x=11;”,则表达式“(x++*1/3) ”的值是A. 12B. 11C. 4D. 3答案:D题型:单选题知识点:第3章数据类型与运算规则难度:26.若有定义“int a=1,b=2,c=3,d=4;”,则表达式“a<b?a:c<d?c:d”的值是A. 1B. 2C. 3D. 4答案:A题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int a=1, b=0, c=0, x=35;”,则执行下列程序段后,变量x的值是if(!a) x--; else if(b);if(c) x=3; else x=4;A. 3B. 4C. 34D. 35答案:B题型:单选题知识点:第5章选择结构的程序设计难度:28.{若有定义“int x=1,y=1,m=1,n=1;”,则执行下列语句后,变量x和y的值分别是 switch (m) \{case 0: x=x*2;case 1:switch (n) \{case 1: x=x*2;case 2: y=y*2; break;case 3: x++;\}case 2: x++; y++;case 3: x*=2; y*=2; break;default: x++;y++;\}}A. x=2,y=1B. x=2,y=2C. x=6,y=6D. x=7,y=7答案:C题型:单选题知识点:第5章选择结构的程序设计难度:29.若有定义“int i,j;”,执行语句“for (i=0,j=1; i<=j+1; i+=2,j--) printf ("%d",i);”时的循环次数是A. 3B. 2C. 1D. 0答案:C题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--) printf("%d",n--);”后的输出结果是A. 20B. 31C. 210D. 321答案:B题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=3;”,则执行下列语句后的输出结果是do \{printf("%d ",x+=1);\} while(--x);}A. 4B. 4 4C. 4 4 4D. 死循环答案:D题型:单选题知识点:第6章循环结构的程序设计难度:212.若有定义“char a[]="xyz",b[]={'x','y','z'};”,则下列叙述中正确的是A. 数组a的长度大于数组b的长度B. 数组a的长度小于数组b的长度C. 数组a和数组b的长度相同D. 数组a和数组b等价答案:A题型:单选题知识点:第7章数组难度:113.{若有定义“int aa[4][4]=\{\{1,2,3,4\},\{5,6,7,8\},\{3,9,10,2\},\{4,2,9,6\}\}, i,s=0;”,则执行下列语句后,变量s的值是for(i=0;i<4;i++) s+=aa[i][0];}A. 20B. 19C. 13D. 11答案:C题型:单选题知识点:第7章数组难度:214.调用函数时,若实参是一个数组名,则向函数传送的是A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值答案:B题型:单选题知识点:第8章函数难度:115.下列各函数首部中,正确的是A. void play(var :Integer,var b:Integer)B. void play(int a,b)C. Sub play(a as integer,b as integer)D. void play(int a,int b)答案:D题型:单选题知识点:第8章函数难度:116.若有定义“int n=2,*p=&n,*q=p; ”,则下列选项中,非法的赋值语句是A. p=n;B. p=q;C. n=*q;D. *p=*q;答案:A题型:单选题知识点:第9章指针难度:217.若有定义“int *p[3]; ”,则下列叙述中正确的是A. 定义了一个类型为int的指针变量p,该变量具有三个指针B. 定义了一个名为*p的整型数组,该数组含有三个int类型元素C. 定义了一个指向一维数组的指针变量p,该一维数组应具有三个int类型元素D. 定义了一个指针数组p,该数组含有三个元素,各元素都是基类型为int的指针答案:D题型:单选题知识点:第9章指针难度:218.下列对枚举类型名的定义中正确的是A. enum a={one,two,three};B. enum a {one=9,two=-1,three};C. enum a={"one", "two", "three"};D. enum a{"one", "two", "three"};答案:B题型:单选题知识点:第10章结构、联合与枚举类型难度:219.{若有如下定义:struct student\{int num; int age;\} stu[3]=\{\{1001,20\} , \{1002,19\} , \{1003,21\}\} , *p=stu;则下列表达式中,值为1002的是}A. p++->numB. (p++)->ageC. (*++p).numD. (*p).num答案:C题型:单选题知识点:第10章结构、联合与枚举类型难度:220.下列选项中,可以作为函数fopen中第一个参数的是A. "c:\\user\\text.txt"B. c:\user\text.txtC. "c:\user\text.txt"D. c:user\text.txt答案:A题型:单选题知识点:第11章文件难度:121.若y是int型变量,则判断y为偶数的关系表达式为__________。

面向对象程序的设计复习题与参考答案

面向对象程序的设计复习题与参考答案

⾯向对象程序的设计复习题与参考答案⽹络教育课程考试复习题及参考答案⾯向对象程序设计⼀、填空题: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.多态是指。

《面向对象程序设计》习题四答案

《面向对象程序设计》习题四答案

面向对象程序设计习题4
(3) 下列程序中,基类base和派生类d1、d2中都含有私有、 保护和公有成员,d1类是base的派生类,d2是d1问属性的变化
面向对象程序设计习题4 #include <iostream.h> #include <iostream.h> class base class base {{private: int n1; private: int n1; protected: int k1; protected: int k1; public: public: base(){n1=0;k1=1;} base(){n1=0;k1=1;} void fun1(){cout<<n1<<k1<<endl;} }; void fun1(){cout<<n1<<k1<<endl;} }; class d1:public base class d1:public base {{ int n2; int n2; protected: protected: int k2; int k2; public: public: d1(){n2=10;k2=11;} d1(){n2=10;k2=11;} void fun2(){cout<<n1<<k1<<endl; cout<<n2<<k2<<endl;} }; void fun2(){cout<<n1<<k1<<endl; cout<<n2<<k2<<endl;} }; class d2:public d1 class d2:public d1 {{ int n3; int n3; protected: protected: int k3; int k3; public: public: d2(){n3=20;k3=21;} d2(){n3=20;k3=21;} void fun3() void fun3()

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

《面向对象程序设计JA V A语言程序设计》期末考试试卷及部分答案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类的一个无形式参数无返回值的方法method书写方法头,使得使用类名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源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet、类的子类并且存储该源程序文件的文件名为MyApplet 。

3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器 javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。

面向对象程序设计期末复习题及答案

面向对象程序设计期末复习题及答案

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.函数重载是指_________。

答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同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!=yx=y2.分析以下程序的执行结果#include<iostream.h>int add(int x,int y){return x+y;}int add(int x,int y,int z){return x+y+z;}void main(){int a=4,b=6,c=10;cout<<add(a,b)<<,<<add(a,b,c)<<endl; }解:10,20 3.分析以下程序执行结果#include<iostream.h>int add(int x,int y){return x+y;}double add(double x,double y){return x+y;}void main(){int a=4,b=6;double c=2.6,d=7.4;cout<<add(a,b)<<","<<add(c,d)<<endl; }解:10,104.分析以下程序执行的结果#include<iostream.h>class Sample{int x,y;public:Sample(){x=y=0;}Sample(int a,int b){x=a;y=b;}void disp(){cout<<"x="<<x<<",y="<<y<<endl;}};void main(){Sample s1,s2(1,2),s3(10,20);Sample *pa[3]={&s1,&s2,&s3};for(int i=0;i<3;i++)pa[i]->disp();}解:x=0,y=0x=1,y=2x=10,y=20 5. 分析以下程序的执行结果:#include<iostream.h>class base{int n;public:base(){};base (int a){cout << "constructing base class" << endl; n=a;cout << "n= "<< n << endl;}~base() { cout << "destructing base class" << endl; }};class subs : public base{int m;public:subs(int a, int b) : base(a){cout << "constructing sub class "<< endl; m=b;cout << "m= "<< m << endl;}~subs() { cout << "destructing sub class "<< endl; }};void main (){subs s(1,2);}解:constructing base classn= 1constructing sub classm= 2destructing sub classdestructing base class6.分析以下程序的执行结果:#include <iostream.h>class Sample{protected:int x;public:Sample() { x=0; }Sample(int val) { x=val; }void operator++() { x++; }};class Derived:public Sample{int y;public:Derived():Sample(){ y=0; }Derived(int val1,int val2):Sample(val1){ y=val2; }void operator--(){ x--;y--;}void disp(){cout<<"x="<< x << ",y=" << y << endl; }};void main (){Derived d(3,5);d.disp();d++;d.disp ();d--;d--;d.disp();}解:x=3,y=5x=4,y=5x=2,y=37 分析以下程序执行结果:#include <iostream.h>class A{public:A(char *s) { cout << s << endl; }~A() {}};class B:public A {public:B(char *sl,char *s2) :A(sl){cout << s2 << endl;}};class C:public A{public:C(char *sl,char *s2) :A(sl){cout << s2 << endl;}};class D:public B,public C{public:D(char *sl,char *s2,char *s3,char *s4) :B(sl,s2),C(sl,s3){cout << s4 << endl;}};void main (){D d("class A","class B","class C","class D");}解:class Aclass Bclass Aclass Cclass D 补充例题1.分析以下程序的执行结果#include<iostream.h>template <class T>T max(T x,T y){ return (x>y?x:y); }void main(){ cout<<max(2,5)<<“,”<<max(3.5,2.8)<<endl; }解答:5,3.5 2.分析以下程序的执行结果#include<iostream.h>void main(){int a[]={10,20,30,40},*pa=a;int *&pb=pa;pb++;cout<<*pa<<endl;}解答:输出为:20 3.分析以下程序的执行结果#include<iostream.h>template <class T>T abs(T x){ return (x>0?x:-x); }void main(){ cout<<abs(-3)<<“,”<<abs(-2.6)<<endl; }解答:输出为:3,2.64.分析以下程序的执行结果#include<iostream.h>class Sample{char c1,c2;public:Sample(char a){c2=(c1=a)-32;}void disp(){ cout<<c1<<“转换为”<<c2<<endl; } };void main(){Sample a('a'),b('b');a.disp();b.disp();}解答:a转换为Ab转换为B 5.分析以下程序的执行结果#include<iostream.h>void main(){int a;int &b=a; // 变量引用b=10;cout<<“a=”<<a<<endl;} 解答:输出为:a=10 6.分析以下程序的执行结果#include<iostream.h>class Sample{int x;public:Sample(){};Sample(int a){x=a;}Sample(Sample &a){x=a.x++ +10;}void disp(){cout<<“x=”<<x<<endl; }};void main(){ Sample s1(2),s2(s1);s1.disp();s2.disp();}解答:x=3 // ++运算的结果x=12 // 2+107.分析以下程序的执行结果#include<iostream.h>class Sample{int x;public:Sample(){};Sample(int a){x=a;}Sample(Sample &a){x=a.x+1;}void disp(){cout<<“x=”<<x<<endl; } };void main(){ Sample s1(2),s2(s1);s2.disp();}解答:输出为:x=3。

面向对象程序设计复习题(附参考答案)

面向对象程序设计复习题(附参考答案)

【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】机器语言中的指令编码为()编码。

[A.]二进制[B.1符号[c.1十进制[D.]数字【答案】A【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】JaVa语言的主要特点不包括()。

[A.]面向对象[B.]自动垃圾回收[CJ处理文件[D.]可移植性【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java开发工具包简称为()。

[A.]JKD[B.]JRK[C.]JDK[D.]JRE【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】具有相同属性和服务的一组对象的模板称为()。

1B.]类[c.1代码[D.]概念【答案】B【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

[A.]产品[B.1元素[c1成分[D.]实例【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java是一门()语言。

[A.]机器[B.]汇编[C.)面向过程的高级[D.]面向对象的高级【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】使用JDK编译JaVa程序时使用的命令是()。

电大面向对象程序期末复习题目与答案(精选)

电大面向对象程序期末复习题目与答案(精选)

电大面向对象程序期末复习题目与答案(精选)一、单选题,在括号内填写正确的选项编号{每小题2分,共20分)1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。

A.颜色B.动态 c.状态 D 重量2.使用JDK编译Java程序时使用的命令是( )。

A. javaB. javacC. appletviewer D javadoc3.包含主方法的类被称为主类,主方法的存储控制属性应定义为()。

A. finalB. abstractC. short Do static4.在类的定义中,若需要把一个属性或方法定义为类成员,而不是实例成员,则使用的修饰符为( )。

A. constB. finalC. static D public5.JaV3 语言中规定的转义字符,以()字符作前缀。

A. B.I C. / D.\6.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。

A.封装性B.多态'性C.继承性D.开放性7.具有()访问权限的成员能够被本类和其他任何类中的成员所访问。

A. publicB. protectdC. privateD.缺省8.在类定义首部的语法格式中,()不能作为其中的修饰符。

A. publicB. protectdC. extendsD. abstract9.下面的关键字( )与异常处理无关。

A. throwB. throwsC. importD. finally10.下面( )既可以作为流的数据源,又可以作为流的目的地。

A.键盘B.磁盘文件c.显示器D.扫描仪二、是非判断题,在每小题后面括号内打上对号、/表示叙述正确,打上叉号×表示叙述错误11. Java既支持类的单继承,又支持类的多重继承。

( )12.在一个派生类中,能够定义与上层父类中的成员具有相同名称的成员。

( )13.派生类可以直接访问从父类中继承下来的所有成员。

( )14.在Java语言中,可以把实现了一个接口的类对象,赋给这个接口的引用对象。

《面向对象的程序设计》期末试卷(B)答案

《面向对象的程序设计》期末试卷(B)答案

电子系计控专业《面向对象的程序设计》期末试卷(B)答案一、选择题(每题2分,共40分)1、下列关于窗体的描述中,错误的是A。

A. 执行Unload Form1语句后,窗体Form1消失,但仍在内存中B. 窗体的Load事件在加载窗体时发生C. 当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止D. 窗体的Height、Width属性用于设置窗体的高和宽2、窗体文件的扩展名是_D_。

A.frxB. basC. vbpD. frm3、双击窗体上的控件后,将显示的窗口是 C 。

A. 项目(工程)窗口B. 工具箱C. 代码窗口D.1属性窗口4、表示滚动条控件取值范围最大值的属性是__A__A. MaxB. LargeChangeC. ValueD. Max-Min5、若要设置文本框中文本所显示的颜色,使用的属性是_C__。

A. BackColorB. FillColorC. ForeColorD. BackStyle6、下列属性中, B 属性是列表框不具有的。

A. NameB. CaptionC. ColumnsD. Text7、设计动画时,通常用定时器控件的A属性来控制动画速度。

A. IntervalB. ValueC. MoveD. Enabled8、改变控件在窗体中的左右位置,应设置该控件的__B__。

A. TopB. LeftC.WidthD.Height9、可以同时删除字符串前导和尾部空格的函数是 C 。

A. LtrimB. RtrimC. TrimD. Mid10、列表框的_B_属性返回或设置列表框中各列表项的文本。

A. SelectedB. ListC. TextD. Caption11、以下选项中,不是VB标准控件的是_C_。

A. 单选框B. 复选框C. 对话框D. 定时器12、为了把焦点移到某个指定的控件,所使用的方法是 D 。

A. SetFocusB. VisibleC. RefreshD. GetFocus13、Byte类型的变量可存的最大整数是_A_。

《面向对象程序设计》期末考核试题样例及解答.doc

《面向对象程序设计》期末考核试题样例及解答.doc

《面向对象程序设计》期末查核试题样例及解答一、单项选择(每题 1分,12小题,共12分)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.chara[20]= “abcdefg”;B.chara[]=“x+y=55.”;C.chara[15];D.chara[10]= ’5’;以下正确的函数原型语句是()。

doublefun(intx,inty)doublefun(intx;inty)doublefun(int,int);doublefun(intx,y);5. 在下边储存类中,()的对象不是局部变量。

A. 外面静态类B. 自动类C. 函数形参D. 寄存器类6. 假设有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,则正确的语句是()。

A.strcpy(book->title, ”WangTao”);B.strcpy(book.title,”WangTao”);C. strcpy(*book.title, ”WangTao”);D.strcpy((*book)->title, ”WangTao”);7. 软件产品所拥有的所有或部分地再用于新的应用的能力称为该软件的()。

A. 可保护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,往常把含有main()函数的文件称为()。

A. 主文件B. 实现文件C. 程序言件D. 头文件9. 在一个用链表实现的行列类中,假设每个结点包括的值域用elem表示,包括的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail 表示,若链队为空,则进行插入时一定把新结点的地点赋给 ( ) 。

【标准答案】国家开放大学2020年7月《1008面向对象程序设计》春季学期期末统一考试真题

【标准答案】国家开放大学2020年7月《1008面向对象程序设计》春季学期期末统一考试真题

类。()
18. 当利用一个方法进行文件访问操作可能生成一个 IO Exception 异常时,该方法可以在
方法头声明中抛出该异常,也可以采用 try … catch 块捕获并处理该异常。(
)
19. 在 Java 程序中,既允许创建单个线程,也允许创建多个线程。(
)
20. JDBC 隔离了 Java 与不同数据库之间的对话,使得 Java 程序无须考虑不同数据库管
public class XXK3 extends Rectangle { private int c; public XXK3(int aa, int bb, int cc) {super(aa,bb); c=cc; } public int volume() {return area()* c;} public int arrisLength() {return 2 * girth0+4 * c;} public static void main(String[] args) { XXK3 x=new XXK3(1,3,5); int yl=x. volume(); int y2 = x . arrisLength () ; System. out. println(yl+" , "十 y2);
)
15. 向量类 Vector 中的 size() 方法能够返回调用向量中当前保存的元素的个数。(
)
16 . List 是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素 的索引去
访问。(
)
17 . 输入流类 CinputStream) 和输出流类 (OutputStream) 是用来处理字符流的抽象基
}
结果为:

《面向对象程序设计》期末复习带答案

《面向对象程序设计》期末复习带答案

一、单项选择题1.退出Visual Basic的快捷键是()。

CA.Ctrl + Q B.Shift + Q C.Alt + Q D.Ctrl + Alt + Q2.以下四个VB的变量名中,不合法的是()。

CA.Print_Num1 B.Abc% C.Const D.X1_y2_z33设置ADO数据控件RecordSource属性为数据库中的单个表名,则CommandType属性需要设置为()。

B A.adCmdText B.adCmdTable C.adCmdStoredProc D.adCmdUnknown4设有如下过程:Sub ff( x,y,z )x = y + zEnd Sub以下所有参数的虚实结合都是传址方式的调用语句是()。

BA.Call ff ( 5,7,z )B. Call ff ( x,y,z )C. Call ff ( 3 + x,5 + y,z )D. Call ff ( x + y,x - y,z )5.菜单的热键指使用Alt键和菜单标题中的一个字符来打开菜单,建立热键的方法是在菜单标题的某个字符前加上一个()字符。

CA.% B.$ C.& D.#6.函数Int( 76 * RND() )的值是在()范围内的整数。

CA. [1,75]B. [1,76]C. [0,75]D. [0,76]7.以下能够触发文本框Change事件的操作是()。

DA. 文本框失去焦点B.文本框获得焦点C. 设置文本框的焦点D.改变文本框的内容8.设组合框Combo1 中有3个项目,则以下能删除最后一项的语句是()。

BA.Combo1.RemoveItem Text B.Combo1.RemoveItem 2C.Combo1.RemoveItem 3 D.Combo1.RemoveItemCombo1.Listcount9.要使菜单项Menu1在程序运行时失效,使用的语句是()。

DA.Menu1.Visible=True B.Menu1.Visible =False C.Menu1.Enabled=True D.Menu1.Enabled=False10.以下叙述中错误的是()。

国开电大《面向对象程序设计》2020 年春季学期期末统一考试真题及答案(试卷代号:1008)

国开电大《面向对象程序设计》2020 年春季学期期末统一考试真题及答案(试卷代号:1008)

21. y= 120
22. 15,36
23. s=48
24. 1, Wang
17
C. Set 、 List 、 Map 都继承千 Collection
D. SortedSet 继承于 Set
9. 下列哪个类不是异常类的父类?(
)
A. Error
B. Throwable
C. Exception
D. Object
10. 下面(
)既可以作为流的数据源,又可以作为流的目的地。
A. 键盘
)
14. 在 Java 语言中,声明包语句可以出现在一个 Java 程序文件的任何位置。(
)
15. 向量类 Vector 中的 size() 方法能够返回调用向量中当前保存的元素的个数。(
)
16 . List 是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素 的索引去
访问。(
)
17 . 输入流类 CinputStream) 和输出流类 (OutputStream) 是用来处理字符流的抽象基
结果为:
16
试卷代号: 1008
国家开放大学 2020 年春季学期期末统一考试
面向对象程序设计 试题答案及评分标准
(供参考)
一、单项选择题(在括号内填写正确的选项编号。每小题 3 分,共 30 分)
2020 年 7 月
l.B
2. C
3. D
4. C
5. D
6. A
7. A
8. C
ห้องสมุดไป่ตู้
9. A
10. B
B. 多态性
C. 继承性
D. 开放性
13
7. 具有(
)访问权限的成员能够被本类和其他任何类中的成员所访问。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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++显示输出屏幕上的光标从当前位置移动到____下一行____的开始位置。

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字符串中的小写字母均变为大写。

相关文档
最新文档