|
西南大学培训与继续教育学院课程考试试题卷
+ N s' y+ F2 F+ a ]7 ~+ E s9 b
$ ~3 Z7 \' m0 \2 z; \) J. V; D学期:2020年春季. j8 g `+ c. m0 B
课程名称【编号】:面向对象程序设计【0837】 A卷
/ \( o# o6 D1 O/ d9 s( Z: E:大作业 满分:100 分
5 L2 l+ P+ `4 s9 Z3 d________________________________________
* c) d& d- t' M) P+ W$ }2 ~, [* _1 J, R% F0 j
一、更多资料下载:谋学网(www.mouxue.com)(共10小题,3分/题,共30分)5 x2 r! N+ f/ C2 g2 j: _+ j; E
1. 以下关于Java语言的叙述错误的是:( )
. M& H) y- B- e& F' `# j: @; l3 ]A. Java 是最纯粹的面向对象语言,对面向对象方法学的支持也最全面
1 ^' m* j# ~8 V) h2 @; g$ }" `$ R" aB. Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行
9 T& }/ e, p. f7 i j: _( tC. Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行
3 V5 l# z; B3 j7 N* W+ t$ RD. Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量
; C+ b+ T. j F3 Q% ~' x2. 下列字符序列中不能作为Java语言标识符的是:( )& L; @) C$ [' c" c% g
A. abc_123* ], h/ y d8 T- R+ j/ O, K
B. 圆周率PI4 t7 a/ l& z- b* r7 F$ v/ N
C. false
$ f1 ~1 g' ^/ R7 S1 ^D. _123abc
( v# {9 \5 _1 e$ c3. 下列不属于Java语言关键字的是:( )
+ v* ]3 Z. {) T" CA. repeat' ` R0 S6 D% A& W/ f
B. try' T1 g% Y! J$ E, |8 ~
C. break" y* ]# b2 _9 V0 Z, P
D. new
4 N& x0 O Y, @" H. ~) c# S4. 设有定义 int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:( ), ?& Z* m- E) D9 _' P0 U
A. i = d;
" j! ]/ j$ b" y, ~9 LB. i = (int)d + j;
( s, y" B4 h; m Z5 f, `: L* @$ m+ ?C. j = (int)i - d;
, d* Z; r5 M9 N& b% Q: zD. i + j = (int)d;$ v! d N9 M4 q( N- H
5. 下列关于构造方法的说法中,不正确的是:( )
' d( U3 `# }, r) uA. 构造方法用于创建类的实例 + u) K- n: o( D. O7 t
B. 构造方法不可以重载) s; @+ c X1 Z, @2 }4 m
C. 构造方法不具有返回值类型0 k/ z7 v8 z2 b; q6 U
D. 构造方法名必须和类名相同( e! C5 A+ D! G8 N [% s5 P/ `! k2 Z
6. 执行下列语句后,变量x的值是:( )
5 @8 s! A% f8 h( |- c int x=7, y=10;: ]& a7 L5 [# X
switch( x/y ) {
) y+ ?# A, D7 W* ccase 0: x++;
/ X$ ~6 W$ G# j( D7 }; Icase 7: x*=y;
: \8 \! |0 l, R) rcase 14:x+=y; break;
5 G# z4 x$ i2 o% P' _/ idefault: x%=y;3 t, Q. Q, |5 n+ h, G, ~! S
}; |' `1 `& k! d- f. E; |9 B7 Q5 J' l
A. 80 X* m# d) f% r( G& U
B. 700 o/ _% M' C w4 f) F& _
C. 80
6 U; C' K4 h: I; nD. 90
" |$ p( f; y4 Q4 a1 N; o) j7. 下列语句序列给出了k,myArr和myMethod()的声明。当调用方法myMethod(myArr,k)之后,存储在k和myArr里的值分别是:( )- W4 K4 f' C/ a# T# n4 V
int k = 7;
" G" [! n5 M ^% S0 d( fString myArr[] = {“love”,“peace”,”and”};1 D1 R3 ` X- z, {
void myMethod(String a[], int m) {3 {9 N8 K' f5 O* }+ [& e% j
String temp = a[1];& Y9 j' s5 _: H* M, f
a[1] = a[2];
- A9 n$ s! l+ x$ c* ~ a[2] = temp;+ T' m4 t+ d- ^
m = a[2].length();
3 O0 d! ~% ^6 N6 b$ L. d}, f8 d5 } f5 D2 y! H+ l8 r
A. {“peace”,“love”,”and”},4
5 e9 }+ ]9 s" b/ ^B. {“peace”,“love”,”and”},78 S2 G5 Z" g/ x# }% u( K% E/ C7 |
C. {“love”,“and”,”peace”},56 l2 B2 F. }' R& J% Y" t
D. {“love”,“and”,”peace”},7
, i! ?% T8 c: W0 r+ ?8. 下列语句序列执行之后,b1,b2,b3,b4的值分别是:( )
9 A l3 |$ Q5 T8 e4 b2 L: bString s1 = “peace”;) ~$ c# P/ y; ~
String s2 = new String(s1);2 U* K; w$ R5 d1 G& s/ K& D2 m
String s3 = s2; W/ S$ H5 X: O* c) Y+ g, g
String s4 = new String(“PEACE”);% J( Z5 ~( L) {- c5 d
$ S5 z# f h. n! o$ `& D
boolean b1 = (s1 == s2);/ q" U- F" i% u
boolean b2 = s1.equals(s2);
' j9 U9 B2 Z' M# v- ?0 @$ N2 Tboolean b3 = (s3 == s2);! ]8 A! K( u3 w! ^
boolean b4 = s4.equals(s3);3 g! o. [# d5 i2 }$ U8 U
) D; C1 w- m5 C2 cA. true,true,false,false
5 t% q% `$ n, w7 d4 [& LB. false,true,true,true6 ?1 h. Y2 A, j; U3 c2 Z
C. false,true,true,false
% O) {' I [% {D. false,true,false,false+ E/ y/ g7 t( Z
9. Swing的三个顶层容器分别是:( )
4 w6 ?/ W+ R# W0 \5 x* A* D& qA. JApplet,JPanel,JWindow/ W7 o% `& V) `% j, s4 h3 o
B. JDialog,JApplet,JFrame8 v. Z f; f9 j1 r- y" ^
C. JApplet,JFrame, JMenu6 l( b; E7 n9 j3 l1 [9 r
D. JFrame,JPanel,JTextArea
/ ]8 B6 J' ]+ F, o10. 下列关于Java小应用程序(Applet)的说法中,正确的是:( )) S3 |0 e b/ [. u+ J0 u
A. java.applet.Applet类是所有Java小应用程序的基类
# _* _4 w" K* ?# w: B# aB. Java小应用程序不需要编译# i3 N h% a' _( @/ }
C. Java小应用程序也需要main()方法
7 F9 T" S- L# cD. Java小应用程序必须实现ActionListener接口5 _+ j! R+ a) z( D& ^
% C5 S' o* J' T7 [1 a4 c. K& h% V, j) E$ {
二、程序分析题(共4小题,每小题各10分,共40分): C* m+ S' y' g$ A y+ E' s# z# l
1. 阅读下面的程序,写出程序运行的输出结果。
$ P: a7 k% y- t. L- qpublic class Test1 {) M2 d/ U( J2 `) k+ r" N
public int method(int n){' a: \# J4 J' I" J2 H, ~
int result = 1;
p9 V& A$ _7 k for(int i=1; i<=n; i++){
4 f6 Z! M. [& W* z" Y% V result *= n;
; M9 T( U- a. m. f/ T }
" Z) A: I" z& c g$ E: k O return result;% \; w$ t# K0 }2 x; l' L" \
}
# {: {4 N; {4 F% Z; N public static void main( String args[ ] ){
) c9 j. a8 ^. [ Test1 test = new Test1( );
1 c* k( a. J% x int sum = 0 ;; E4 L5 I7 C* b/ d/ X
for ( int i = 1 ; i <= 3 ; i++ )
/ N: a7 j1 X+ ]8 ] sum += test.method( i ) ;
! w0 B) e* O" o: T) g* _1 R+ e System.out.println( "sum = " + sum );0 r, s% V6 c( T5 {! R
}! M, M- ^2 _% {9 P- J2 M, i
}
. c' i3 z' @, b) y/ ?0 B/ N 4 l/ {/ J9 L9 Z# e
2. 阅读下面的程序,写出程序运行的输出结果。0 ]! U) X# M8 h: S# H
public class Test2 {
1 H# r* t, |- g public String method( String s ) {4 t8 X$ `& B0 d
StringBuffer result = new StringBuffer( );! P- q8 k( F& J
for (int k = s.length( )-1; k >= 0; k--) {5 _& n$ Q6 k, }( e6 ~- _
result.append( s.charAt(k) );+ u V1 T1 d+ M! Q `
} 7 S. I& K; B; T6 O$ _
return result.toString( );
( ?* I* A" ~ k7 x2 A, `: l6 B }
& K* Y1 r4 Y! d: _& K, c1 r1 D public static void main( String args[ ] ) {
+ ^7 A% \- x$ x8 r4 g1 n Test2 test = new Test2( );/ P( b& U4 ?, N" ^$ A
String str = "peace";
; a) ?; H, t, K9 T, U System.out.println( test.method(str) );
# d/ h' n( c% N# {9 U' i- t. d" l }+ [# \8 R: U9 ~! T( v! {
}7 {( m1 D1 r1 `1 p) P1 m. F* P6 k
9 v. Z% S* K' a0 e# n% P7 W3. 阅读下面程序,并回答问题。
' z" E( p. o* k& t, l% e/ Pclass SuperTest {
. I, J$ d- Z! K- v& g( ]# apublic int age ;
4 R5 e; R# @' R+ _% npublic SuperTest( String s ) { ; } ?$ M, {1 `' }
System.out.println("Hi, I am " + s); ' g3 n0 p& i$ ?: Y
age = 35;
* {# u. u: E+ G% W }
7 H" D9 d9 L+ \& N6 i- [$ [) Y& \}
" n7 F$ X# ?7 t) J! w8 j2 ]3 {6 |( w8 S; b R
public class Test3 extends SuperTest{ 2 }- @3 x' R7 {0 f2 z- w
public int age;, M& [1 w/ v# E7 a
public Test3 ( String s ) { 5 k% H0 n+ F9 P" q/ h/ c
super( s ); * p! J5 I' D- [
System.out.println("Nice to meet you!"); " c* f# H! p. w$ p; f$ E
age = 7;# d6 [8 @! e. h& m1 F
} * ?/ i! Z" C4 G" r! g7 s6 H
8 y" Z2 G4 N; X- z) _ public void print() {$ F& F: V# o5 R" c) _, a
System.out.println( "Age is " + age );' [% G& y, v/ F0 ~6 A
System.out.println( "My age is " + this.age );( B3 N0 m' G# E
System.out.println( "My parent's age is " + super.age );
% }9 I* x8 K: ]$ X& p% y a* L6 e }
& z; X3 U$ Y, N0 B( H* o& d& x7 {/ P, d8 W8 d9 y
public static void main( String args[ ] ){
1 V' `: W5 f( I% T% r Test3 test = new Test3(“Olive”);
4 _5 o. y( I0 u' v7 vtest.print();1 `) M; [, C) A0 W- l2 |
}
/ G U1 ^% m( R; Z}
! ]* _6 D6 M2 z' ?/ w. x问题(1):类Test3和类SuperTest之间是什么关系?
* K7 N/ h) R: b3 C1 \问题(2):关键字super和this分别是什么含义?
5 r0 _$ }8 t$ w' m: H1 G问题(3):这段程序的输出是什么?
% v/ K' T2 \$ N+ p+ @. b& f8 [3 X; T9 C: F+ j3 {& W/ D* T1 x
4. 阅读下面程序,并回答问题。7 m' c2 Z/ g5 I- v' S
import java.io.* ;
3 u( a; K2 n3 M# D# s9 ~1 S
8 P; T: j4 s$ w+ ~5 ]( Xpublic class Test4{1 N1 Y% e0 C4 v4 j: {
public static void main( String args[ ]){
- q. b! z2 m% ]: H: L" Y; J' J0 L try {. k! ]8 a }8 R
DataOutputStream dout = new DataOutputStream(
" x% a6 W' P( a* t! S! Ynew FileOutputStream(“out.txt”));
1 c# A7 q8 I. @ for(int i=0; i<10; i++)
2 k! c& U- |' \" R% ? dout.writeInt( ‘0’ + i);' r4 _9 O/ T; u) E6 r, c' G
dout.close( );
9 K0 I$ Q0 P( ?# I: i7 _3 K
2 {2 G5 O* W. Z- s7 t; W9 T4 k DataInputStream din = new DataInputStream(( `3 G0 ^2 {/ _5 s* b# e
new FileInputStream(“out.txt”));2 N5 A' x& X8 r6 { }) h
for(int i=0; i<10; i++)# ]- ~8 t8 l' E$ o% }& v9 Q
System.out.print( din.readInt( )-‘0’ + ”, ” );7 v( ^ r% ^: |4 ^
din.close( );
' m" J- ]- f1 ?) a1 _! y } catch ( IOException e ){! r, m$ P7 Q, y8 }% M: O$ K: A
System.err.println( “发生异常:” + e );1 q& j. N& T. P, S$ y8 n5 @
e.printStackTrace( );7 V3 T/ p2 t) z+ q/ d
}
% G! T2 Y7 T [ }/ u" I1 S. b7 Y7 k* A9 I
}* @, s4 O* S7 J, ~( T5 `: D, `
* o6 C( d4 s: v7 |, g ^4 h6 P
问题(1):try块中包含的哪些语句或表达式可能抛出异常?- s+ P" |: V* l6 Z
问题(2):流DataOutputStream和DataInputStream常被用于何种操作?# y0 x1 J0 d8 |& t K) k7 m
问题 (3):假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt的内容是什么?程序在控制台窗口输出什么?) v1 H9 Z+ W% T8 u2 }, U+ Q E
7 M; F2 n( R e; u0 E+ A9 h0 J" ^# }- z: q
三、程序设计题(共1小题,共30分)7 P9 ?* b; H6 Y+ U! a% v
编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。/ |7 ?2 i5 j1 t. k* a6 G
6 F, N1 L4 l8 J& t1 n7 i; G: {, q1 ?
# k8 A6 m( p) m3 D; s, ^/ `' u& ~8 L
|
|