《2023年电大面向对象程序设计期末复习题新版.docx》由会员分享,可在线阅读,更多相关《2023年电大面向对象程序设计期末复习题新版.docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、单选题,在括号内填写对的的选项编号每小题2分,共20分).对象是构成现实世界的一个独立单位,它具有自己的静态特性和()特性。A.颜色B.动态c.状态D重量.使用JDK编译Java程序时使用的命令是()0A. ja v a B. j a v ac C. applelviewe r D ja v a d o c.包含主方法的类被称为主类,主方法的存储控制属性应定义为()。A. f i nal B. ab s t ra c t C. short Do stat i c.在类的定义中,若需要把一个属性或方法定义为类成员,而不是实例成员,则使用的修饰符为(工A. c onst B. f inal C
2、. stat i c D p u blic.JaV3语言中规定的转义字符,以()字符作前缀。A. B.I C./D.把对象的属性和服务组合成一个独立的整体,尽也许隐蔽其内部的细节,这称为对象的0。A.封装性B.多态性C.继承性D.开放性.具有。访问权限的成员可以被本类和其他任何类中的成员所访问。A. public B. protectd C. p r ivate D.缺省.在类定义首部的语法格式中,()不能作为其中的修饰符。A. publi c B. protectd C. exte n ds D. ab s tr a c t.下面的关键字()与异常解决无关。A. thr o wB. t hr
3、 o ws C . im p o r t D. f i na 1 iy.下面()既可以作为流的数据源,乂可以作为流的目的地。A.键盘B.磁盘文献c.显示器D.扫描仪二、是非判断题,在每小题后面括号内打上对号、/表达叙述对的,打上叉号X表达叙述错误1 1. Java既支持类的单继承,又支持类的多重继承。()1 2.在一个派生类中,可以定义与上层父类中的成员具有相同名称的成员。()13 .派生类可以直接访问从父类中继承下来的所有成员。().在Java语言中,可以把实现了一个接口的类对象,赋给这个接口的引用对象。()14 .在一个抽象类中,不允许包含任何成员变量和构造方法。().接口中的成员方法都默
4、认具有pu b lie和a b s tract的修饰属性。()pub 1 ic: void SetA( i nt a a , i n t nn) : /用数组 a a 初始化数据成员 a,。用nn初始化数据成员n“nt M a x A (); 从数组a中前n个元素中查找最大值void SortA (); 采用选择排序的方法对数组a中前n个元素进行从小到大排序void InsertA ();采用插入排序的方法对数组a中前n个元素进行从小到大排序v o id Pri n tA ();依次输出数组a中的前n个元素);该类中Max A ()函数的实现如下,请在标号位置补充适当的内容。i nt (1)i
5、n t x=a0:for (int i=l; ix) ( 2 );。_;)(1)(2)(3)四、理解问答题,写出程序运营结果或程序(或函数)所能实现的功能。1 . #incl u dev o id m a in O(i nt i, s= 0 ;。for(i=2;i = 3 0 ;i+=2) s+=i*i;cout s = *s e ndl;函数功能:2. rtincludedou b 1 e f 1 (int n ) 。d ouble s ign=l,s=l;ofor (int i=2: i =n; i+)gs+= s ign/ (i*i);。sig n *=- 1 ;ret u rn s ;
6、void mainO(i nt a ;oc i na;co u tf 1 (a) e ndl;)函数功能:3. #includec 1 ass A i n t a, b ;p ublic:A() a=b = 0 ;b=bb ;A ( i n t aa, in t b b) a=aa; i nt Sum () retur n a +b;i nt * Mu lt() int * p =new i n t (a * b);return p;);v oid ma i n () A x (4, 5), * p ;p=new A(2, 3); c o u t x . Sum () z z *(x. Mul
7、t () Sum () , A M u It () ) e n d 1; 运营结果:4 . #inc 1 u d e void m a i n() 。int a 1 0 = 76, 83, 5 4, 6 2,4 0,75,90, 92,77,84);。in t b 4 = 60, 70, 90, 1 0 1 :oi nt c4 = 0 ;fo r (i n t i=0; i = b j) j+;。c j+;0 。fo r ( i =0; i4; i+) c o utci ? z ;cout e n dl;)运营结果:五、编程题根据下面类中拷贝构造函数的原型写出它的类外定义。c lass Arr
8、ay in t *a;指向动态分派的整型数组空间int n;/记录数组长度public:A r r ay (int a a , i nt n n ); 构造函数,运用aa数组长度nn初始化n, 运用aa数组初始化a所指向的数组空间Array (/rray& a a ) ;/ / 拷贝构造函数参考答案一、单选题一、单选题1. A 2. C 3. B 4. C5. D 6. D 7. A 8. D 9. C10. B1 1. A1 2. A13. D 14. A 15. B 1 6. B17. B 18. B 19. A20. D二、填空题3 . doub 1 e * pv=& v ;4 .类名5
9、. 16. ABO )7. 101 98.类型 9. 411. 1 212. 4213 .第一个、 修改14 .个数(或数目)类型15 . c har *16. *p 17. in t (*) 618 . x 19. f a f 20. del e te p三、程序填充题,根据题旨在横线上填写合适的内容。1. (1) i = s4. (1) AA: : Max A ()( 2 ) x = a i(3) v(3)return x四、理解问答题,写出程序运营结果或程序(或函数)所能实现的功能。1 .计算并输出22+4,+6%-+3。2的值。2 .计算并输出1 +X7人的值,其中a的值由键盘输入。
10、i=2.9 2 0564. 2 1 5 2五、编程题1、 Arr a y : :A r ray (Array & a a) n=a a . n;a= n e w i n t n;for (int i =0: in: i+) ai =aa. ai;一、单项选择题(每小题2分,共20分).设X和丫均为boot量,则x 丫为假的条件是(A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假 2 .假定一个二维数组的定义语句为“int a 3 4J _ (3,4, 2, 8,6; ”,则元素a 1 2的值为(A. 2 B.4 C. 6D. 83.假定P是具有int、类型的指针变量,则给P赋值的对
11、的语句为(A. p = n e wi n t i nt 关关B.p= r ew in t C. p=n e w D. p =new in t 1 0 4 .软件产品在需求发生变化、运营环境发生变化或发现软件产品自身的错误或局限性时进行相应的软件更新的难易限度叫做 软件的(A.可维护性B.可复用性C.兼容性 D.对的性5 .若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字()放在函数原型或函数头的前面。A. in B. Inlin e C. inline D. I nLine r.在个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的
12、后一个位置为(A. 1 e n g th+ 1 B. first -len g t hC (first-f-len g thI) 0 o MS D. ( f i rstf-1 e n g th) 0 oM S.假定一个类的构造函数为A(inia a,in tb b) a= a a ; b =aa* b b;,则执行 Ax (4,); ”语句后,x . a和x . b的值分别为()。人.4和5 13. 5 和 4 C. 4 和 20D. 2 0和 5.假定AB为一个类,则执行AB * p = ncwAB(l,2);”语句时共调用该类构造函数的次数为(A. 0 C. 2 B. 1 D. 3.个类的
13、成员函数也可以成为另个类的友元函数,这时的友元声明()类域的限A .需加上B .不需加上C.可加可不加D.取消.队列具有()的操作特性。A.先进先出1 3.先进后出C.进出无序D.仅进不出二、填空题(每小题2分,共20分)1 .多行注释的开始标记符为。2 .假定x=5,y=6,则表达式x- + *-丫的值为。3,假 定x是一个逻辑量,则xa乙irue的值与x的值。4 .含随机函数的表达式ran d()% 20的值在0至的整数区间内。5 .程序的编译是以为单位进行的。6 .一个数组的事实上是指向该数组的第一个元素的指针,并且在任何时候都不允许修改它。7 .指 针变量pv和pc定义为“ v o i
14、 d -pv = Hello, w or d ! ;c h a r p c;f要将pv值赋给p c,则对的的赋值语句是p c =()Pv o8一个类的函数通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。是该类的数据成员。9.假定用户为类AB定义了一个构造函数“ A B (int a a) ;a(aa), ,WiJ 1 0 .在多 文献结构 的程序 中,通常把含有ma i n涵数的文献 称为该程序 的三、程序填充题。根据题旨在横线上填写合适的内容。(每小题6分,1 .采用辗转相除法求出两个整数的最大公约数。# inc 1 u dcv o i d mai n ()I lit 8, h
15、cou t 4- )请输人两个正整数:,;cin; a; bwh i 1 e( a Z2 0 babwh i ie(b)int rr= a %b;,,分别修改a和b的值cout+ a+ endl,/输出最大公约数.用插入排序方法对t a bl e指针数组中si z e个指针所指向的字符串进行按升序排序的算法。v oi d sor t (char*t a ble仁),int si z e ) fbr(inti = 1 : i=0; j)if (strcmp(p, tab 1 e j )1A ()(a=NULL;A( c har, aa) / /定义无参构造函数,使a为空指针achar strle
16、n(aa)+ I s trcpy(a,aa);刀用as所指字符串初始化a所指向的动态存储空间定义析构函数,删除a所指向的动态存储空间.类Goo ds的定义c las spnvate:ch arN ame 2 0; 商品名称i nt W eigh t;商品重量3 ta t ic i n u ota 1 Wei g h i;同类商品总重量public:G o ods c har s tr, i ntw ) 构造函数s tr cp y CN a m e , str);We i g h t= w;t ota 1 Weigh i+We i gh t一Go o ds ( ) t otalWe i ght一
17、=W e ight;char二GeiN()返回商品名称i n t GetW )ret u rn weight; )s t a (i c i n( Gc t Tot a 1 W e ig h t ()/定义静态成员函数返回总重量四、理解问答题,分别写出前2小题的程序运营结果和指出后2小题的程序或函数功能。(每小题6分,共24分)1 .# i n cludeconst intT= 6vo i d m a in()int i ,j,k=O:for(i=l; i V=T;i十=2) for (j=2 j=r;; +=2)k +十; coot+ k=+ k+ e n d 1运营结果:2 . # inc
18、1 u d e ClaS S CEprivatei n t a, bintgetma x()rcturn (ab? a : 1 );p u b li cint cv o id Se t V a 1 ue( i nt xl, i nt x 2,int x3) a=xl;h= x 2 ; c = x 3i nt GetMa x ();i n t CE:(=etMax () i nt d=gc t max()63re t u r n ( d c ? d: c)void mai n ()i nt x = 5, y =12, z = 8 ;C E e x ;ex. S e t Vai u e(x, y
19、, z );coutG e x. GctM a x ) Gcndl运营结果:3 .井 i n cl ud evoid main()i nt t, p= I;in t N ;cou t + “输入一个正整数:;cinN; for( i 气l;iv=N;i十+)A*= i ;cout+ N!=+ p+ endl 程序功能:4 . int f (char、S )Ini 1=)while s d-1-) i+ 十 r et u rn 函数功能:五、编程题(每小题6分,共12分).编写一个函数,分别求出由指针a所指向的字符串中包含的每种十进制数字出现的次 数,把记录结果保存在数组b的相应元素中,该函数的
20、原型声明如下: vo i d fun (charx a,l T i t b );1 .根据下面类中Comp a rel 3ig函数成员的原型和注释写出它的类外定义。 c lass A A t n t * a;rn tn ; in tM S ; p u bli c:v o id I nitAA(i nt a s J, intnn, i ntm s)if ( n n , m s) co u t C Err o r ! 中的n值大则返回一 1单项选择题(每小题2分,共2 0分)C 2.C 3. ) 3 4.A5. 136 . D 7 .C8. B 9. A I 0. A二、填空题(每小题2分,共20
21、分)./*2.3 53.相同 4.195.文献 6.数组名7.Char *8.析构 9_ a 1 0.主文献三、程序填充题.根据题旨在横线上填写合适的内容。(每小题6分,共24分)评分标准:每空3分1. a 二 b h= r 2. a b 1 e. |J p 3. new -A() d clcte a;4. r eturn Name r e t ur n totalW eight四、理解问答题,分别写出前2小题的程序运营结果和指出后2小题的程序或函数功能。1. k=9 2. 123.计算并输出N阶乘的值,其中 N值由键盘输入。4. 求出 并返回字符指针参数s所指向的字符串长度。五、编程题(每小
22、题6分,共12分)评分标 准:按编程完整限度酌情给分。1 .v o i d fun(char*a, intb ) m tf o r (i=0; i =0 &.j h . n) k= b . n ; else k=n;fbr(inti =0;i b.a i )r eturn 1 ;els e i f(a 仁i|b. a! i )re t u rn- Ii f(k=n& k =b. n ) ret u r n 0;else if( k n) return 1;e 1 se r et u r n * 1 :17 .在Java语言中,一个类不能被定义在另一个类之中,类与类之间没有包含关系。().在Ja
23、va语言中,声明包语句可以出现在一个Java程序文献的任何位置。()18 .向量类Vector中的size。方法可以返回调用向量中当前保存的元素的个数。(). Fil e W r i t er类的构造函数的参数不是一个文本文献名。()19 .输入流类(I npu(Sircam)和输出流类(O u tpu t Si r e am)是用来解决字符流的抽象基类。(). Data 1 n p utS t ream类的文献流可以从二进制文献中读出基本类型的数据。()2 3.在图形用户界面中,原子组件是不能同用户进行交互的组件。()24.在Java程序中,既允许创建单个线程,也允许创建多个线程。()2 5
24、.假如布派生类的构造方法的定义中没有明确调用父类的构造方法,则系统在执行派生类的构造方法时将隐含调用父类的 元参构造方法。()三、填空题,在横线上填写对的的内容(每空1分,共15分)26 .Java语言中的逻辑类型的关键字为,它的两种取值分别为关键宇tru e和false。27 .用于修饰类的成员具有公有访问属性的关键字为2 8.假定整数变量x的值为10,则执行y =2 * x+赋值后,y的值为 。29.类中的方法不需要给定返回值类型。3 0.当类中的成员定义采用static关键宇修饰时,则称该成员为类的(静态/实例)成员。31.类中的成员方法也可以使用关键字进行修饰,表达该方法不能被子类所重
25、新定义。3 2.在方法调用的参数传递中,若为(按值/引用)传递,方法体中对形参内容的修改不影响实参的值。3 3 .定义一个终结类时需要在类首部的关键字cl a ss前使用修饰符 。34 .假定一个字符串对象x的值为a b c,则x. cone a t (def勺的值为。35 .假定要访问一维数组X中的第k个元素,则相应的元素(下标变量)表达为。36 .基本数据类型boolean相应的包装类为。37 .在Java语言中,程序运营时发生的运营错误又分为致命性的严重错误和非致命性的一般错误两种,异常属于错误。3 8 .Java语言中的Sy s tem.。u t表达标准(输入/输出)流。3 9.对于原
26、子组件,根据功能的不同,可以被分为类。40.每个线程具有四种基本状态:就绪状态、死亡状态和阻塞状态。四、写出卜.列每个程序编译和运营后的输出结果4 1. p u b 1 i c cla s s XX K ( p ub 1 i c s ta t ic vo i d main(Str i n g args) 1 nt x , y= 0;f or(x = l: x 1 O; x +十)ifCx%2=0) y+ = x 祷 x;S ys t e m. out. println( M y= +y);42. p u b 1 ic class X X K 2 (p r i vate final int a:
27、public XXK 2 (int a) t h i s . a= a ;)publ i c int f I (int x) 1 f( x %2= = 1 ) rc t u rn a+x:e Ise r eturn a-x;p u b lie s t a t ic void ma i n(S t ri n g a r g s) XXK2 x=newXXK2(3):i nt y= x. fl (1();Sys t em. out. p r i n tl n ( y = +y );43. class R e ctangic private int a , b;p u blic Re c t a n
28、g I eC i n t aa , int bb) (a= a a; b=bb: pub 1 ic int a r eaO return a 势 b;)p u blic int g i r t hO ret u r n 2 券(a 十 b);)pu b lie c 1 ass XXK3 extends R e c(a n g 1 e (privateI n t c;public XX K3 (int aa , int b b , i n t cc) su p er(a a ,bb) ; c= c c;pub 1 ic int v o i umcO re t urn a r eaO 赞 c;p
29、ublic i n t a rri s Le n gthO ret u rn 2 替 girthO+ 4 祷 c ;pu b 1 i c s tatic v oid main (S t ri 吨口 a r g s )XXK3x=new XXK3 (1,3 , 5);i nt yl =x. v okimeO;i n t y2 =x. arris L eng t h () ;Sy s tem.Olit. prin t ln(yl y 2);public clas s X X K4 p ublic sta t i c voi d m a i n(Slri n g args) int DTa= 凹,5
30、,剖,3, 6, 9 ),4 , 5, 6;int 8=0;orCi n t i=O; i a. 1 e ng t h; i 十十)or(in t j=O; j ai . 1 en g t h;j+十)自+=a I i 1 J J;System. out. p r inti r k5 = iJ s)cl a ss ABC inta , b;pub 1 ic ABCCint a , i nt b) t hi s . a =的 t h i s.b=b; public int comp a reToC ABC x ) r e turn a 祷 b-x.a祷x.b; p u bl i c cla s
31、s XXK5 p u bl i c stat i c void ma i nC S (r i ngJ args) (intJJd=3,肘,饨,6,5,6,2, 9 ,饵,7)1;ABC n a r znewABC5j;i n t i, k = 0;fo r (i=0; id.le n gth; i+)ariJ= new ABCCdiJ 0 J , di T1J)* fbrC i = l;i a r.le n g th; i+)if(a r i. com pa r eToCa r k .O) k=i;S ystem. o u t . p r i n tlnCk= + k );一、单选题,在括号内
32、填写对的的选项编号.B2. B3.D 4.C 5.D6. A 7. A 8.B 9.C iO.B2 0. X(错)xk - 1 J二、是非判断题,在每小题后面括号内打上对号J表达叙述对的,打上叉号X表达叙述错误.X(错 )12. .J(对)1 3. X (错)14. J(对)15. X(错)16. . J(对)17. X(错)18.X(错)1 9 . .J(对)2LX(错)22. . J(对)23. X(错)24.、J(对)25. . J(对)三、填空题,在横线上填写对的的内容26. boolean 27. public 28. 2029.构造 30.静态 31. fi n a 1 32.按值
33、 33. f i n al 34. ab c def 35.3 6 . Boolean37.一般3 8 .输出39. 340.运营状态四、写出下列每个程序编译和运营后的输出结果4 1 . y =12 04 2. y= 74 3. 1 5, 3644. s=484 5. k=2一、单项选题.设x和y均为bool量,则x & y为真的条件是()。A.它们均为真B.其中一个为真 C.它们均为假D. 其中一个为假.在下面循环语句中循环体执行的次数为()o1 n t i=0, s= 0 ;w h i le(sG e t V a iu e (). C+ +的继承性允许派生类继承基类的()。A.部分特性,并
34、允许增长新的特性或重定义基类的特性B.部分特性,但不允许增长新的特性或重定义基类的特性C.所有特性,并允许增长新的特性或重定义基类的特性D.所有特性,但不允许增长新的特性或重定义基类的特性.假定AB为一个类,则执行“AB x;”语句时将自动调用该类的(A. 带参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数11.定义P并使P指向动态空间中的包含3 0个整数的数组所使用的定义语句为(11.定义P并使P指向动态空间中的包含3 0个整数的数组所使用的定义语句为()oA. i n t *p= n ew int 30;B. i n t *p= n ew int 30;C. int * p= n
35、 e w i n t (30);D. int * p =new 30;D.*p=ne w int30;12.假定有s t ruct B00K(cha r ti t 1 e 40: float pr i c e; BOOK *b o ok = n e w BOOK;,则对的的语句为()。A. strcpy (bo ok- t itle, a ng T a o”);B. stre p y ( b o o k . t i tie, “Wang Tao”);C. s trep y (*boo k . t i tie, “Wang T a o); D. s t rc p y (*b o o k ) -t
36、 i tie, 5,Wang Tao);13.假定有定义“int b 10 ; int *pb;”,则不对的的赋值语句为()。A. pb=b;B. pb=&bO;C. p b =new i nt;D.pb=b5;14.A.dele t e p;B. d c 1 etc *p;C. delete &p; D. d e lete p;假定指针变量P定义为“int *p=new int( 1 00),要释放p所指向的动态内存,应使用语句(晨15.软件产品在需求发生变化、运营环境发生变化或发现软件产品自身的错误或局限性时进行相应的软件更新的难易限度叫做软件的()oA.可维护性 B.可复用性 C.兼容性
37、D.对的性16.若需要把一个类外定义的成员函数指明为内联函数,16.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字()放在函数原型或函数头的前面。A. i nB. ini i neC. i n LineD. InLine r17.在关键字public后面定义的成员为类的()成员。A.私有B.公用C.保护D.任何1 8 .假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为(A.A.B. x. a ()C. x -aD. x-a ()19 .假定AA为一个类,in ta()为该类的个成员函数,若该成员函数在类定义体外定义,则函数头为
38、()oA. i n t AA:a ()B. int AA:a()C. AA: :a()D. AA: i nt a()20 .在多文献结构的程序中,通常把类的定义单独存放于()中。A.主文献B.实现文献C. 库文献D.头文献二、填空题1 .假定x=5, y=6,则执行表达式y+=x-计算后,x和y的值分别为 和。2 .执行char*p=ncw c h a r (,a,)操作后,p所指向的数据对象的值为。3 .变量v定义为“doub 1 e v=23. 4; ”,要使指针p v指向v,则定义pv的语句为。4 .若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上和
39、两个冒号分隔符。5 .假定用户只为类AB定义了一个构造函数AB(int aa , int b b =0) a=aa; b=bb;,则定义该类的对象时,其实参 表中至少带有个实参。6 .假定用户没有给一个名为AB的类定义析构函数,则系统为其定义的析构函数为 o. 一个二维字符数组a10 20可以存储 个字符串,每个字符串的长度至多为。7 .重载一个函数的条件是:该函数必须在参数的个数或参数相应的上与其它同名函数不相同。9. 一个指针类型的对象占用内存的个字节的存储空间。10.假定一个数据对象为int*类型,则指向该对象的指针类型为。1 1.假定P所指对象的值为25, P+1所指对象的值为42,则
40、*+p的值为。1 2.假定p所指对象的值为2 5, p+ 1所指对象的值为4 2,则执行*(p+)或*p+运算后,P所指对象的值为 o13 . 一个数组的数组名事实上是指向该数组元素的指针,并且在任何时候都不允许它。14 .重载一个函数的条件是:该函数必须在参数的 或参数相应的上与其它同名函数不相同。1 5.指针变量p v和p c定义为“ v oi d * p v =,Hc 1 1 o , wo r d!”; char *pc; ,要将P v值赋给p c ,则对的的 赋值语句是pc=P Vo1 6.若P指向x,则与x的表达是等价的。17 .假定p为指向二维数组int d 46的指针,则p的类型为。18 .若y是x的引用,则对y的操作就是对 的操作。1 9 .执行char * p=new cha r。a,)操作后,p所指向的数据对象的值为。20.执行 操作将释放由p所指向的动态分派的数据空间。三、程序填充题,根据题旨在横线上填写合适的内容。2、已知一维数组类ARRAY的定义如下,ARRAY与普通一维数组区别是:其重载的运算符要对下标是否越界进行检查。 clas s ARRAYint *v;指向存放数组数据的空间01nt s;/数组大小p ub 1 ic:ARRAY ( i nt a , int n):ARRAY () de 1 e te v;int