|
西南大学培训与继续教育学院课程考试试题卷
4 f+ B& x; L* i* E/ r% ~2 f v5 P! j1 r w5 f& A
学期:2020年春季
+ L+ \# ?# S0 n1 F `: \; o课程名称【编号】:面向对象程序设计【0837】 A卷
9 y# U/ H0 w% B% f3 C- i' j) U:大作业 满分:100 分% F8 f4 @( d7 G1 F% }7 O8 c& P5 m
________________________________________+ ]' z1 u& r- z. z4 Q, j( R; b3 y" W# B7 E
: T5 H, ]3 f, N4 Z
一、更多资料下载:谋学网(www.mouxue.com)(共10小题,3分/题,共30分)) {8 u$ F3 u0 j) y" G, ^, |
1. 以下关于Java语言的叙述错误的是:( )
: B6 R; F0 u t0 j5 A0 Y8 Z- p# V8 VA. Java 是最纯粹的面向对象语言,对面向对象方法学的支持也最全面; l1 M' c6 Z2 ]) h
B. Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行7 r; f$ v# _2 e/ K% y0 e2 X5 H
C. Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行
$ M1 ]& E7 P0 L2 T+ r) h4 [& B- b; fD. Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量
% @, ]$ i/ e) R- U2. 下列字符序列中不能作为Java语言标识符的是:( )
) k2 E$ E* ]8 @" \, E' kA. abc_123
" Y# M/ h* r( s3 ]" \# h( lB. 圆周率PI
+ [) w( V" v- h1 d3 k9 P) v. B$ gC. false
6 X, T' O9 O; s$ I, N2 iD. _123abc
% @6 g; f" p8 O I9 S8 L" x3. 下列不属于Java语言关键字的是:( )
0 F- w ~+ p) Z# f3 y3 J# ?A. repeat* y7 ~/ v- A6 s. C* e7 p5 F
B. try* \, f" P2 ]8 R. F/ G0 D4 h( d
C. break
$ q# ?0 U* P) [) }D. new$ D% C3 `4 L4 M
4. 设有定义 int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:( )
: @7 d: i5 Q. f4 {$ c4 i5 [A. i = d;7 w2 ], \; Y- |$ ^* f N
B. i = (int)d + j;
5 o- q0 S: S2 X( a. R# [: cC. j = (int)i - d;; }! B/ W( b& P6 s, a' F6 s
D. i + j = (int)d;
, b5 v! ~7 t! K4 Y9 `5. 下列关于构造方法的说法中,不正确的是:( )
8 \* ^$ m+ k2 d: w' |9 N0 Q; `& XA. 构造方法用于创建类的实例
" t6 y$ a( t! E7 \0 zB. 构造方法不可以重载$ g$ J P" ~1 p
C. 构造方法不具有返回值类型: m+ }! k! M/ c2 Z* W! l
D. 构造方法名必须和类名相同
& I1 \: K8 b- K- `6 {' `2 e6. 执行下列语句后,变量x的值是:( )" ]! ?" f- `& |
int x=7, y=10;& X1 J" |* k5 c
switch( x/y ) { $ y, V* ]: H% J6 T g- g: X
case 0: x++;7 K5 N$ t, d1 Y# F; T, i" N
case 7: x*=y;
! w+ i6 p. {: m1 Kcase 14:x+=y; break;
( |; }5 Q9 Y0 L; _$ D* ?* L# \3 kdefault: x%=y;( l. a$ Q# p( s1 n1 s
}
" |( J% j4 x7 E7 F8 m F$ ^9 EA. 85 @- z( o) o1 B7 g- Q6 B. R
B. 70
) D0 t5 s5 r% p* hC. 80* [! p' ~4 c; z0 [6 t5 D
D. 903 Y) V2 W5 w) I/ z
7. 下列语句序列给出了k,myArr和myMethod()的声明。当调用方法myMethod(myArr,k)之后,存储在k和myArr里的值分别是:( )
$ w1 |) X0 n9 B* @7 ^. p2 ?+ }int k = 7;
& e- t& \7 w5 Q! K1 HString myArr[] = {“love”,“peace”,”and”};
8 _ s7 p5 y3 [' J2 d5 S: G) f+ cvoid myMethod(String a[], int m) {
9 [' {, F' \& s7 t7 P, f String temp = a[1];$ n. B G( _. C% z, Z
a[1] = a[2];
$ q7 s% Y2 U; n- `" K4 A! ] a[2] = temp;
$ Z+ T* F2 n, z/ V m = a[2].length();
+ |2 L0 W! P r2 k* v8 T}
4 F u2 H# N! O" x X3 C, qA. {“peace”,“love”,”and”},4. @% c- ^, @) c% b! K
B. {“peace”,“love”,”and”},7( P; j. }0 y$ v, F
C. {“love”,“and”,”peace”},51 j. A2 \5 B" N
D. {“love”,“and”,”peace”},70 D f: O0 |: }* }- f7 a# ?
8. 下列语句序列执行之后,b1,b2,b3,b4的值分别是:( )
3 E+ n9 {' n- nString s1 = “peace”;4 h+ \! L% r0 Y& z& r* b6 d( B
String s2 = new String(s1);
3 ]$ e' R9 ~' F& V9 e. IString s3 = s2;% S' E/ m4 K I. B5 ?
String s4 = new String(“PEACE”);& [9 T7 H: N2 `' s# b/ [; z- C
& L0 }8 {% {1 g
boolean b1 = (s1 == s2);4 c7 F( t" J8 u- \
boolean b2 = s1.equals(s2);
# L3 I z6 [# {% r& w+ o& Qboolean b3 = (s3 == s2);
$ E, r& l. G3 X! Mboolean b4 = s4.equals(s3);& J9 }4 s' A! [$ Z7 N3 K
$ w' s6 i. v! G* M+ n2 a5 t* QA. true,true,false,false8 F2 C9 G: D, s# [4 S8 L! _
B. false,true,true,true, @9 C3 K& z' m4 p$ O2 Q$ z0 d
C. false,true,true,false1 \) A O- N {( z. p4 f& N8 Q, Q c
D. false,true,false,false
- t; I- `" m& a8 e6 K9. Swing的三个顶层容器分别是:( )
! ^; S6 h( M; X4 b& e2 S) S& Q# ]A. JApplet,JPanel,JWindow
- E* g- T. E2 ]B. JDialog,JApplet,JFrame
: ~7 B- A+ Z" i/ ?5 u% XC. JApplet,JFrame, JMenu
1 B, \5 N% V0 s3 Q9 c4 eD. JFrame,JPanel,JTextArea
( @$ o+ v# t; x) P2 X* v0 t. j10. 下列关于Java小应用程序(Applet)的说法中,正确的是:( )* m* t! R! J8 e9 V+ F' q
A. java.applet.Applet类是所有Java小应用程序的基类 3 O% w _3 y6 c8 m
B. Java小应用程序不需要编译' @% v- E; {, X3 ^3 w! n3 ~
C. Java小应用程序也需要main()方法
! D( Q- e! D# H7 S5 c- |D. Java小应用程序必须实现ActionListener接口
1 n7 s- J2 Y! t. K* i+ p+ K
* ^5 w6 Z, Z; U; y2 ?9 P4 F0 o! Z* ~
二、程序分析题(共4小题,每小题各10分,共40分)! q- \, }. i+ f& M
1. 阅读下面的程序,写出程序运行的输出结果。
. a3 M9 m+ u9 L- H" a6 fpublic class Test1 {: k1 V$ _3 h) _# N
public int method(int n){
W" \: a+ s5 U$ Y int result = 1;
+ P. h5 L. o7 s0 a) J) e for(int i=1; i<=n; i++){: r0 h2 b+ Z# w7 R0 ?" `! V: ]! H
result *= n;
O7 G" x: h: d9 J3 \ }
, a6 L2 G' @* M9 i. x' U" G. @+ V return result;3 ` ~# ?/ n& s" O' }8 e% P
}
. V3 j# \& I4 ]. @% R) Y public static void main( String args[ ] ){
0 R* U% [6 M, E T0 | Test1 test = new Test1( );
" N; g! T1 g9 C1 o int sum = 0 ;
' o7 i8 z7 Q6 A+ M for ( int i = 1 ; i <= 3 ; i++ )" J: _8 N0 d% r! P
sum += test.method( i ) ;
7 e2 p+ a" s3 B! q- e7 w1 M System.out.println( "sum = " + sum );
8 \; p# S" E% n* P. }. }}
5 {! `6 \; f1 m}) ^1 W5 F3 w/ s" c
- d$ |! A9 @( m, t" N2. 阅读下面的程序,写出程序运行的输出结果。
8 V/ n: |" J4 J, r* A7 |+ T! ppublic class Test2 { Z4 ?/ f7 U6 E' n
public String method( String s ) {
0 A" {; _; s! A: v) e% {3 R' d# x StringBuffer result = new StringBuffer( );' Y- S) J8 y, j7 w: v+ h
for (int k = s.length( )-1; k >= 0; k--) {+ I. g+ C: Y: ~3 X
result.append( s.charAt(k) );
- ]8 L' w' Q; E5 H9 V) k } ( w& W" d# w0 k9 x2 R/ ]
return result.toString( );
! t8 B5 a7 e8 c& f. j8 e } 8 X* Y, d( T* c7 z- h& l: @9 I k( N0 ]
public static void main( String args[ ] ) {% e! m* M+ I; q, x. G
Test2 test = new Test2( );7 ~/ b0 t g6 G
String str = "peace";
& q, y: j8 k- Z* e$ s# D System.out.println( test.method(str) ); # U7 v# d. s) K' [; J% K8 o
}
- p. u0 j+ C9 v) I* @" d1 r5 O$ F}
9 O, D; _3 z2 F! I! h( @* z2 k6 k- x, f8 ?/ X# r" N: P* u
3. 阅读下面程序,并回答问题。
2 p' b! ]( W( U; d' x+ Mclass SuperTest {
8 |' i5 ^% j5 Ppublic int age ;% O' q. R5 s% p, K+ J; o
public SuperTest( String s ) {
6 q* M) \9 h* L% B, V System.out.println("Hi, I am " + s); $ v: c! T7 v/ k. u
age = 35;* q4 T( j8 p# f) J, v6 ^. U* s
} 7 [( q/ V; {! T% `- b
}' N$ e7 z/ B6 ?# l
- |9 ]3 ]% M, j" S' Y7 K% F( cpublic class Test3 extends SuperTest{ , g9 T; I6 e! e. C, y. Z& a$ p: r& W
public int age;; k% ^9 Z0 ~! y4 s$ _
public Test3 ( String s ) { + g3 F, ~0 G* N' b4 U- ~
super( s ); ! y% l3 l6 g8 @4 v0 |
System.out.println("Nice to meet you!");
5 w. v2 @5 [% @7 |$ `$ }( s age = 7;8 {$ f8 Z" c# T! R
}
8 x: r' e+ S0 X1 D2 @# f1 e6 \( h t. {( r
public void print() {9 d2 c u) ?3 D7 a- p6 n" J. r
System.out.println( "Age is " + age );" L. [0 E7 q5 D" }, a1 `+ r/ Z
System.out.println( "My age is " + this.age );
$ u5 v+ ~, {0 l o3 ` System.out.println( "My parent's age is " + super.age );
; m9 m% Y; S G* s' u8 v }6 O, ~$ b, a& M* U
5 _* K7 L; J( Apublic static void main( String args[ ] ){
! x% B d; \2 W6 } Test3 test = new Test3(“Olive”); 1 c+ W% R- b+ n
test.print();9 }+ S) _5 t) q
} 0 t: g3 _( X' } z1 Y
}3 m. v) r( e/ J0 x" o3 S
问题(1):类Test3和类SuperTest之间是什么关系?
7 v, C, X( E6 x Z" V- n问题(2):关键字super和this分别是什么含义?
! M3 A6 a; b% n$ L4 g. C4 C, H2 s问题(3):这段程序的输出是什么?
) P% e9 h- ^9 r0 J! b. R: A6 @
+ P/ o1 f1 h6 f% M- V# U! _4. 阅读下面程序,并回答问题。! G2 B/ G9 U$ \+ `
import java.io.* ;
3 p2 \ ? U% z3 y! h: b0 R; j( j. a- }9 ]
public class Test4{- ~+ o2 d" r% H# \% F; P: m
public static void main( String args[ ]){
/ n) x" J" [* S9 N* V try {
% j, |0 Q/ {. z& n! X DataOutputStream dout = new DataOutputStream(8 g: b; ?5 S" g
new FileOutputStream(“out.txt”)); b& a, h) b0 I
for(int i=0; i<10; i++)6 c+ j2 m8 R4 B( B- @
dout.writeInt( ‘0’ + i);
9 `* G, \, D) _0 n+ V dout.close( );0 P/ M# A8 O* {5 Z
8 E4 Y" {% l+ G" p3 t DataInputStream din = new DataInputStream(
3 l" T; M" ~, P# ~$ onew FileInputStream(“out.txt”));) `- b0 e! h4 d2 X0 k
for(int i=0; i<10; i++)
0 ^/ ~# u* \5 i& i( M. @ System.out.print( din.readInt( )-‘0’ + ”, ” );6 r' z# P( O. P2 B2 B, p( m
din.close( );) o" B, S- b/ r. B! k+ X: i
} catch ( IOException e ){
* r3 D/ ]& m7 E( s0 J System.err.println( “发生异常:” + e );
" k* T( f) \. p4 i) q F" B e.printStackTrace( );0 Y3 s5 l, j" d) C% s2 H
}7 V5 A6 J+ H; R W8 A
}
3 E1 [' a/ K) r0 `% l0 H" m- c7 H; G6 x}1 M. y/ y9 U' i% e
" Z0 f: W9 R, \0 P3 x& k; }& ?: k. M问题(1):try块中包含的哪些语句或表达式可能抛出异常?
" k% z, _ [% c" U1 C) Y问题(2):流DataOutputStream和DataInputStream常被用于何种操作?
8 u9 u! O9 e: C S* s6 r* Q0 l问题 (3):假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt的内容是什么?程序在控制台窗口输出什么?/ H8 s# U+ ]' E0 q
' E1 N; B; K: v8 x4 `7 U) @0 I! |
2 B" E9 m3 l! z' H7 Q8 q三、程序设计题(共1小题,共30分), p* C" g$ U( j" V# i/ o2 I
编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。
+ r& \2 j5 f2 {, c; o; D
7 ]0 p% l m4 p, U. W, L! @4 [' T' _, {2 {
3 t$ e" p7 c$ J/ f) [- ?9 Q1 l
6 v" B; v- i U) c1 ~! I6 ~ |
|