|
西南大学培训与继续教育学院课程考试试题卷
; B I3 M5 c7 v* R8 v7 j3 T6 p% H6 l5 \. `3 L3 u% m. P
学期:2020年春季
1 f {+ x: @' F, g/ G2 F' h课程名称【编号】:面向对象程序设计【0837】 A卷
9 I& Z0 _$ N2 _" K:大作业 满分:100 分
( x2 B' z* h( l! A' _# T7 k( F________________________________________+ v! B1 g( q5 h4 U! j% e7 J
6 h8 M+ n c4 f- D; J
一、更多资料下载:谋学网(www.mouxue.com)(共10小题,3分/题,共30分)
" L& v( w3 K% ^1 m0 j4 a1. 以下关于Java语言的叙述错误的是:( )- _- x7 x3 S" j) o" j9 m6 @
A. Java 是最纯粹的面向对象语言,对面向对象方法学的支持也最全面
9 s# p9 k4 C: j3 k( iB. Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行
4 P3 e7 e, b' H, p* J; l1 `" ZC. Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行7 F% p9 f$ }" p$ R3 `1 \ k" N
D. Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量
2 c8 _5 \7 \# ]: e. U! @2. 下列字符序列中不能作为Java语言标识符的是:( ), Y. C: `6 ~& ^" ?: Z7 j0 P# K& j
A. abc_123
' B0 w6 T4 k- S, H& b r! N3 zB. 圆周率PI) X7 \; D7 J# h/ g2 Y6 p! _
C. false
' k/ @- K$ ^- F! P5 ~ u* t% jD. _123abc/ H% H# O$ k7 M' Y0 ~1 b: \
3. 下列不属于Java语言关键字的是:( )
* F) |( ?6 t* q6 h/ B M/ FA. repeat
0 ~/ s, C, `) L) ~8 `B. try$ P0 Q% ?+ {5 R4 `) Y2 j+ G
C. break% h6 z B0 |1 K* y
D. new
, _8 {1 _8 q1 C4. 设有定义 int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:( )
1 t( M4 Z1 K: AA. i = d;6 ]& y2 F$ o! E+ \. S$ f
B. i = (int)d + j;
$ {# Z& @2 y! [. G( o' eC. j = (int)i - d;4 d- l3 E& y- J! T
D. i + j = (int)d;
/ u+ }2 X8 b& v6 \6 d- B5. 下列关于构造方法的说法中,不正确的是:( )
6 K C8 M$ C$ Y! k ?, rA. 构造方法用于创建类的实例 ; A% a% m+ m, I0 b+ Z* W! x
B. 构造方法不可以重载) d, [- V% W5 E. e
C. 构造方法不具有返回值类型
" M, y+ t1 R) VD. 构造方法名必须和类名相同
0 J8 g2 t# C- V6. 执行下列语句后,变量x的值是:( )
- p# _. _) {3 q* e0 {, U int x=7, y=10;
. o- o$ K5 _+ P F switch( x/y ) { ) d- h. H) f! `8 u7 a
case 0: x++;
% E6 }8 j/ C/ |case 7: x*=y;" I2 \1 @6 n2 I/ x; N2 d
case 14:x+=y; break;
) z9 X, Z3 F. M; O. ?. s: Pdefault: x%=y;
1 P9 P. w$ S9 D4 [; }+ U6 i$ K' X }
; b3 F/ G( i' i5 J+ G! jA. 8
, J1 O1 k8 r1 t: h* G" qB. 70
9 ?8 e( a# d- @6 Z9 U0 K# X6 l2 q% kC. 80
6 R# `2 K G5 ZD. 908 P' s+ @- _8 w" k* g/ w
7. 下列语句序列给出了k,myArr和myMethod()的声明。当调用方法myMethod(myArr,k)之后,存储在k和myArr里的值分别是:( )/ s/ x+ P! P: }( K& M p
int k = 7;
8 o; D5 ~8 @$ v: |String myArr[] = {“love”,“peace”,”and”};, Y; A5 U& k8 `. z0 K+ ]
void myMethod(String a[], int m) {
$ u5 g' C3 W: g0 f- S% h String temp = a[1];6 t, k3 y( p. t4 a" z
a[1] = a[2];
; E% A3 Y& ]1 ]$ z2 r a[2] = temp;# J9 ~' U2 o8 p2 i
m = a[2].length();, f. s; P. M: u
}6 a3 j) ?5 s ~' B K& G! D# A1 O
A. {“peace”,“love”,”and”},4
2 x8 @% [0 C5 Y9 E1 XB. {“peace”,“love”,”and”},7% g8 I# x! Z2 ?$ D
C. {“love”,“and”,”peace”},5/ n! W- B+ l& i8 ~3 U! Q
D. {“love”,“and”,”peace”},7/ ~% @* F {+ r/ ~7 s8 N' K
8. 下列语句序列执行之后,b1,b2,b3,b4的值分别是:( )! D7 u9 T5 w% k a9 K* m% p
String s1 = “peace”;
& A# N! u0 B, L8 `0 @String s2 = new String(s1);
~. S$ z. _8 Z( S2 T8 pString s3 = s2;
, ?! u+ n3 |& n/ `1 d8 G, Y8 L. xString s4 = new String(“PEACE”);3 f9 J2 ]4 ?' D. V- o: V
0 J9 v: P( E* v5 J" l% B/ Vboolean b1 = (s1 == s2);
/ W3 b$ P, |& p. j1 F U hboolean b2 = s1.equals(s2);
" Q% w& _8 l4 T& g! Mboolean b3 = (s3 == s2);9 {* o) C. F. R, k3 ^5 h3 Q+ i" _
boolean b4 = s4.equals(s3);. u' `5 Z a2 U+ D' N
7 v$ q a8 X- \& U) l+ JA. true,true,false,false
+ \( S6 _" I1 l+ a% y. N; N8 `B. false,true,true,true' |3 Q) W! D5 K
C. false,true,true,false9 y. f1 O6 }2 ~1 v6 R- E, k
D. false,true,false,false
1 ^6 F1 w) l4 V9. Swing的三个顶层容器分别是:( )
% ^! z$ }0 F5 Z, D$ y$ XA. JApplet,JPanel,JWindow
2 H4 l) P4 l/ \& i3 c! I7 K" ^B. JDialog,JApplet,JFrame: u6 _0 }6 e# ]- D" U
C. JApplet,JFrame, JMenu7 L! f6 Y7 `; a; E! n
D. JFrame,JPanel,JTextArea
, v) u% }! V/ i5 s2 [10. 下列关于Java小应用程序(Applet)的说法中,正确的是:( )2 Y; q# n% r. T
A. java.applet.Applet类是所有Java小应用程序的基类 7 S: R* r) {# E1 l, {
B. Java小应用程序不需要编译% X Z) g& A! T! c
C. Java小应用程序也需要main()方法 - [, C8 b- V+ J$ [" k* V$ h
D. Java小应用程序必须实现ActionListener接口- }5 F; n8 x( z" s) ]5 z( `7 I
& }- B% L7 ?) ^+ R1 V: x
& a) z+ M: J) A- k1 @ \二、程序分析题(共4小题,每小题各10分,共40分)& j( u& ~ D' G
1. 阅读下面的程序,写出程序运行的输出结果。
% n6 e8 f5 z, r2 R" jpublic class Test1 {) o, L+ M! L: f& i0 D- U3 g! F7 y
public int method(int n){
, i; ^, \6 j; _& r3 X int result = 1;
8 G4 n4 J+ T% _2 e for(int i=1; i<=n; i++){' a; Y) ]! k2 T1 r# L$ d/ R
result *= n;$ K! t% O l5 O8 u. K- F2 `
}7 m" C0 z5 _; ]2 ?
return result;/ N) U% P7 t0 p! \2 N; w( x
}3 E: y' B- I5 R2 e
public static void main( String args[ ] ){1 n) G( j1 p5 }8 j* @# I! n
Test1 test = new Test1( );
7 Q/ p6 H6 j8 I% N2 \, K Y0 D int sum = 0 ;$ q/ x% u$ O/ ^! x" c; p% u6 a- M
for ( int i = 1 ; i <= 3 ; i++ )
) D% B/ X4 ^/ `" } sum += test.method( i ) ;! C2 O( J8 A, X2 F- O A
System.out.println( "sum = " + sum );9 K( G7 s! M' c5 s
}1 Q; I$ \3 Z6 U% d6 s$ W
}: F8 d) }* P) H K9 F' B
3 n' n* o7 K# s3 U! v
2. 阅读下面的程序,写出程序运行的输出结果。% c9 D' F1 c9 p- a \% Q |
public class Test2 {
, X) ?# ^; o# d: |* E public String method( String s ) {
! \3 Z/ b: f* i# M$ c StringBuffer result = new StringBuffer( );! h, c; D7 {: N" s# Y) d
for (int k = s.length( )-1; k >= 0; k--) {& K" T$ E* O7 O
result.append( s.charAt(k) );
( F. U0 x) W: I; k4 P! A; `* Y" J2 q } $ R& S# f7 K, a' r" n3 ^) _. W
return result.toString( );
A& }, ^( w2 M/ h, h1 \0 L/ t# b }
& h y ~# k; D public static void main( String args[ ] ) {
7 C7 B2 z) T4 C7 \4 R/ Z Test2 test = new Test2( );$ Q9 j/ X. g% C0 k2 L5 z. ?
String str = "peace";
% l/ x f3 ]& [* a8 e System.out.println( test.method(str) ); / Y% ^9 _: R8 U" R4 I' Z
}
$ Z' R+ c) f# C4 X4 `}2 d( J; A+ O u A6 Y
+ \. }7 y$ q6 g# P3. 阅读下面程序,并回答问题。' m- x* I$ \8 z8 O
class SuperTest {
: _6 J4 v8 O7 A# C6 ?4 |public int age ;- W# M0 O9 V, g- l
public SuperTest( String s ) {
; Z$ u: V$ e) F: F- | System.out.println("Hi, I am " + s); 2 G7 C2 i3 `) J4 [6 u- |1 f$ u
age = 35;! S6 f6 P' u% x& X* u3 s
}
, I) \5 z6 I% c8 P}# \1 F; {& Q: |& x7 ~
. e# T' q4 a& Z% K( e; d) N
public class Test3 extends SuperTest{
) ?& K e, @7 k6 A3 s# V. {public int age;
, F5 e. d# y7 W3 a" Kpublic Test3 ( String s ) { 5 T, [0 }' r( m7 O
super( s );
6 N3 t4 w: Z1 t System.out.println("Nice to meet you!"); + B4 B; K( n5 k# X' D- \" C6 U# t4 X
age = 7;
: c9 w% R$ {, N( w& z+ E} 2 m2 g3 d% I5 v$ q8 ?3 Z
" ]' H; q* { K
public void print() {
2 R3 a% a V* q System.out.println( "Age is " + age );0 g* R9 q1 p, ~! l/ I
System.out.println( "My age is " + this.age );- m: o( L/ f' D e" ?* ~
System.out.println( "My parent's age is " + super.age ); 2 N6 {; r- A9 t9 Q; w& Z, g* C
}
6 x! w) e, Y8 A, \3 S; X
! g2 A+ u, ~3 p( \. t0 L9 B Wpublic static void main( String args[ ] ){ " R5 n. W& E1 {- v5 P @# J8 C4 }
Test3 test = new Test3(“Olive”); 9 [& M0 }2 m q0 P7 h- V
test.print();- ~+ k/ Y% S. p& L* b0 m. a+ H
} 9 G( f: f$ R) L7 E' H2 t# C
}4 x7 n) \2 E' @% `1 F! ~
问题(1):类Test3和类SuperTest之间是什么关系?! a% u) Z3 z2 F( x( {
问题(2):关键字super和this分别是什么含义?3 H' l& X K4 _6 N
问题(3):这段程序的输出是什么?; A4 P' h6 [: h
, I' z! o* R( a4 X: c- `
4. 阅读下面程序,并回答问题。
! f2 `# e/ ?) d- J" A" h& ]import java.io.* ;
2 a% Y0 r4 R9 z! r- Y; U; H# Y8 G8 H# {
public class Test4{
- q& n/ S/ W" Z, {5 Z public static void main( String args[ ]){
; g: }: ]) R8 J: H9 ]5 J try {9 \, C/ z/ u* U( C. u1 g+ ^
DataOutputStream dout = new DataOutputStream(
1 G e" }$ K8 L" y4 d. v4 pnew FileOutputStream(“out.txt”));
/ W& k8 T: T0 K x I0 N* b+ Y for(int i=0; i<10; i++)
( [. c/ ?1 d B1 Y dout.writeInt( ‘0’ + i);7 i; G& n. v: M9 p) H) t& t& r
dout.close( );/ W5 V3 b, ] b
& K' G! V& `0 b( I( T DataInputStream din = new DataInputStream(
: {% ^0 q' o7 Y5 fnew FileInputStream(“out.txt”));$ Q% A% B9 w3 ]
for(int i=0; i<10; i++)
0 B3 {4 L% s8 t/ b# \ System.out.print( din.readInt( )-‘0’ + ”, ” );3 D8 v. {+ |+ Y$ U# q. |& @5 T
din.close( );
; Y( d$ s- ?$ S" S3 {) F } catch ( IOException e ){
) ]6 Z1 J; b+ e0 A1 b! [ System.err.println( “发生异常:” + e );
" C9 o' F. v9 M4 ~& ?9 M' p e.printStackTrace( );; m- Y( b5 Y6 Z
}
( c4 {# U; E6 p9 m4 ~. M }
c) k/ _' s* Q" C0 M}" H# o" y1 M# g7 }5 n
4 N$ G! A F" ~% }; z# r问题(1):try块中包含的哪些语句或表达式可能抛出异常?; |& |, l/ g/ n' G: f/ g! X
问题(2):流DataOutputStream和DataInputStream常被用于何种操作?% M6 W3 m9 x# c) F( L
问题 (3):假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt的内容是什么?程序在控制台窗口输出什么?" l: W! I2 B7 P/ Z/ F5 M6 B
9 p5 u; y1 a* I
* V( |+ a0 U8 s1 U2 d
三、程序设计题(共1小题,共30分), A6 s" k/ c$ {/ a% S% t; H9 p2 ]
编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。
8 r: U1 {: G/ i' P2 }2 L9 o
2 F5 J' w& T% f+ q0 h4 U
, |+ l) r8 h) l' L9 t: r* x6 v0 k% {1 M# l' L. P6 O& W/ t
+ Y; s& k3 C2 P/ j
|
|