|
东 北 大 学 继 续 教 育 学 院
}$ K# T1 _% h
. g; X7 T, @, L4 U! U" Q- Y8 Z Java语言程序设计 I 试 卷(作业考核 线上) B 卷
4 J& `( T" k0 y2 p学习中心: * u) G$ M* q/ n. h
院校学号: 姓 名: 0 ~9 `( I( E4 i! e$ x# r# w
) u q; ], c) N4 q3 Z6 h1 ]8 l8 x
(共 9 页)
; ^+ c; L. d9 N2 A总分 题号 一 二 三 四 五 六 七 八 九 十
" z9 R! Q( X: E6 Y+ B2 h 得分
9 L- @# V% d; B2 F' s
% t; w$ B4 D. A' n* {9 z2 ^一、选择题(请将所有正确资料写到答题卡中,每小题3分,共60分)
. h+ U1 ~5 T5 X f. B8 P' t" V6 e答
' A% K1 P1 R `/ W! w% _' R+ T1 z0 V题( I% J4 Q# a" M. j
卡 题号 1 2 3 4 5 6 7 8 9 10
! K5 a! t! A3 K! y 资料 7 q& Z$ E- `" z1 B1 y
题号 11 12 13 14 15 16 17 18 19 207 N: y; K0 R4 g! k
资料
( c# [6 [7 O# h# d" j# v1 K+ ` p: b! I6 E0 e. t, L
1 . 下面的代码段中,执行之后i 和j 的值是什么?
/ |! Y" n: {/ Aint i = 1;# L- e/ K# V* X: K
int j;
5 |4 K& F' N- O0 Rj = i++;
% r9 P3 ^. a6 c" l# l5 Y( c: G8 hA. 1, 1 {6 f+ Q6 U( D) K+ O
B. 1, 2
. |5 o- ]* s/ b2 n7 J( PC. 2, 1( t1 q& y7 m. y" h7 z ^ _
D. 2, 2
3 N6 \+ P* G) i% I 2 . 在Applet的关键方法中,下列哪个方法是关闭浏览器以释放Applet占用的所有资源?
+ m% {& r; B" `5 {7 ~9 B" [A. init()
C# s9 z$ G& | L1 e/ x* yB. start()
; Y5 x2 c. G! k0 G8 oC. paint()* ?2 l$ u. E. y; s
D. destroy()
4 @( V; y0 s% N. L n' V3 _7 A 3 . 能从循环语句的循环体中跳出的语句是( )。/ _: W2 Z. J1 b
A. for 语句7 k) c# |+ H8 y9 T7 _( L! o9 \
B. break 语句( j( t1 c! v2 c
C. while 语句
* F9 T2 w$ c4 c0 bD. continue语句. N- c$ t9 _- I* b* I, U: e
4 . 按照Java的标识符命名规范,下列表示一个类的标识符正确的是
: k- @1 h& p4 M/ e: p/ ?A. Helloworld
! _: _1 z$ e, s# E4 f tB. HelloWorld/ N# C: Q: V# ~% \6 h5 K+ K7 q
C. helloworld
* }+ K. r5 f7 J# |D. helloWorld
3 b3 ^# q; K) H( S) Y# ^( d 5 . 若有循环:+ A; _! T4 p7 J1 y4 ], q
int x=5,y=20;
7 L7 L+ B! r" E" Mdo{4 z8 O; |+ } N3 `$ b$ P$ M
y-=x; 1 l; c: Y& a. ?6 L8 T3 j1 Q
x++;
7 _) k- L8 w9 d: v }while(++x<--y);则循环体将被执行( )。
/ g) `. U5 Z E" E! m6 l+ W4 z0 cA. 0次* R* t7 N9 p p2 \1 l" q
B. 1次" o$ y- |# _# w* j7 c7 T
C. 2次
+ m+ I1 |, H% QD. 3次
" y1 c; D( p; Y R7 Z4 J 6 . 下列代码中,将引起一个编译错误的行是 . ]; o: T9 F2 I7 e! @
1)public class Test{ * X3 |" H3 z% v+ x2 b/ x# k
2) int m,n; 1 z$ z2 S' a2 q0 X# `+ y* o
3) public Test() {} & d2 W" b, n& w/ x7 B
4) public Test(int a) {m=a;} 1 }+ @, u( c; D" v3 ]
5) public static void main(String args[]){ 9 A; q+ }5 T& q5 L& c; @# i
6) Test t1,t2;
I! u; ?( N1 O) H7) int j,k; 6 |, m! e* @8 b& w9 y% m. w8 g3 f! n
8) j=0;k=0;
K% G; |8 U, K7 G/ A9) t1=new Test();
& U! T6 [% a) X( S10) t2=new Test(j,k); . v. w5 s( Q# y0 M1 h) }, Y
A. 第3行
- q/ K2 L" M9 ?/ Q& E! CB. 第5行
% z- k' D% E3 J C% i: GC. 第6行( r. z5 \$ z% C2 J9 b% T: K+ Z
D. 第10行
: ?9 p! g& u3 w2 J; x$ u 7 . 下面哪个是main()函数的合法参数?
6 Q3 G5 X8 D7 R( h: J. a; T# \A. char args[]8 R0 P. L1 |+ u2 F$ V
B. char args[][]8 g. X4 T$ \$ W/ E) n6 x
C. String args[]* J5 ]! v$ b$ v& R/ }' V
D. String args2 N6 D$ _( z6 J1 W6 M/ M* m
8 . 下列叙述中,正确的是3 j+ [* R, s* g6 V6 m
A. Java语言的标识符是区分大小写的
; m: U' J! h$ v& } A) y6 w7 R! WB. 源文件名与public类名可以不相同( o0 H$ l% A1 L. o
C. 源文件扩展名为.jar
% D% Y! l5 l2 } ~/ K* PD. 源文件中public类的数目不限
, |/ l5 R/ q' j" E 9 . 下列语句序列执行后,k的值是( )。) @$ R5 t. B9 E$ S, {
int j=8, k=15;" f* k$ J. J0 l' f% d
for( int i=2; i!=j; i++ )$ U2 S; ^+ Y4 E" c, V' B
{ j-=2; k++; }
+ C5 X9 R7 x$ nA. 15
, n( `3 d: h2 P7 Y) U8 ^5 X' CB. 16$ W% [; \" N, N# @
C. 17
. q8 S3 b% D& A5 m+ e e! MD. 18
C9 x* R! l+ q0 R/ t 10 . 当浏览器重新返回Applet所在页面时,将调用Applet类的方法是
$ @8 U4 B* w% q, ~A. start()
4 m2 f5 e" U F# \7 mB. init()
1 ?+ W9 j: i, LC. stop()
3 @- z& o4 k9 D: r- B2 S( mD. destroy()2 m4 [1 N: Y1 n
11 . 下面哪一个能够正确的隐藏方法 void hai(int a,int b)?
5 O. d4 S5 }% `& Y, q% K5 OA. public void hai(int a,int b)- S0 W5 W9 U0 g$ F/ j2 N8 H% v" b
B. public hai(int a)- z/ }2 M0 B1 ]+ i9 D5 u. V+ F8 E
C. int hai(int c, int d): K2 h$ k4 q2 c( R0 B" s' R
D. int hai(String s)! C8 d& g! t! S8 {4 G
12 . Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。% o0 A7 ^! \/ c6 o$ r# U+ K$ h* i7 G
A. 8# K2 j* N! d6 a
B. 16
9 K m3 @' S0 {$ C6 TC. 32
6 _8 |* f0 W% Z# T, tD. 648 |! r1 [2 V0 J9 T2 }1 i8 G
13 . 已知如下定义:
0 _( |+ \1 G/ Y9 QString s = "story";
5 j7 s. u% I. X" y3 |下面哪些表达式是合法的?6 R! \( @# m: U1 h8 j# z4 P
A. s += "books";3 d3 j/ ~ a$ @, h* L
B. char c = s[1];
: O. i/ Y4 z4 I3 e! H2 S! T( ]C. int len = s.length;
8 z$ P# F: Z9 K- k6 O8 U7 nD. String t = s.toLowerCase();# e3 G3 [( o7 R7 p
14 . 下面程序的输出结果是什么?
0 q. P$ j5 W" Pclass C1{: e/ s5 u* l1 d6 \2 M! j
static int j=0;
1 W; `% ]8 l5 f1 Y1 Epublic void method(int a){: Y6 ^4 ?8 C1 X9 k
j++;( S. k+ s6 j8 Q% Z5 |8 e/ W
}
) X. I; X) F9 a4 t a% o7 P" I}
1 D3 p% G3 \: Q) @4 o9 _- _% Oclass Test extends C1{
/ i. R8 {' b4 o6 S7 j8 C, a4 {1 {public int method(){, z: @7 Y. b0 M
return j++; y+ G3 Y E. t" w9 h& H
}8 h, {- g: h) T4 F5 d& ~
' b; V, {4 B5 s! a% e public void result(){
1 T5 M: |8 B X) o method(j);6 d2 s2 Z% L* U3 U
System.out.println(j+method());/ V1 V2 x; n$ z \' {0 p: T
}: _& G5 [9 \2 O) u8 P5 \ ~
public static void main(String
% Z! R2 j8 G* }& w7 ^A. 0
9 m0 @1 N1 B+ G+ F* P' O+ ?* EB. 1! _# D1 n: g; p: d0 q
C. 29 v& N0 _: Z. f9 _
D. 3& i9 H' J( ?( b$ m9 w+ C5 y
15 . 下列的哪个选项可以正确用以表示八进制值8?9 R, T5 s( i# P
A. 0x8
( r: e) X9 I6 S# ^6 F" [# I6 VB. 0x10
3 w* e) E) v. rC. 08
- B" `( O" P5 I+ I2 H4 F9 _D. 010# j/ i c! r# D% k6 l9 G
16 . 下列关于继承的哪项叙述是正确的?
9 d: n* ^+ H; tA. 在java中允许多重继承
b: n" {: r/ M: t! {2 gB. 在java中一个类只能实现一个接口0 L: I% p: @; A5 j7 p+ D! U
C. 在java中一个类不能同时继承一个类和实现一个接口
0 T& ^) E- N$ g+ c* t+ b" LD. java的单一继承使代码更可靠
* e- P ]! L0 S1 B8 U 17 . 以下字符常量中不合法的是( )。- b( h8 \8 @) A! I
A. '|'
% ~$ {, n" c- ~, K( Q& e/ BB. '\''
/ h+ ?+ E5 g2 N4 h- VC. "\n"
z; p; z) z+ L+ z R( l& U) w) U+ |D. '我'
3 R$ `1 D% o. L1 @ 18 . 下面哪一条语句可以创建一个可以存放50个字符串数据的数组?
! ?1 ]# y# Y- @- ^" xA. char a[][];
7 _: ?! [; s5 @$ Y; |% \, {9 sB. String a[];
( ]& x) l, S4 E4 I# WC. String a[50];6 L" {" [3 a/ C. M, b0 _
D. char a[];3 U a' v* k% h- A8 |: {* _9 b
19 . 已知有下列类的说明,则下列哪个语句是正确的?
2 Z- v' H7 D1 }public class Test
2 \- o7 P' k2 n0 Z' D{
. d# j$ T) u, N. \) C; }4 }2 y+ @private float f = 1.0f;
% P2 U% d( h+ U6 Qint m = 12;
9 f$ j, z; Y/ s3 [# ]6 V* {static int n=1; " J& }3 y1 d* L) g" ?
public static void main(String arg[]) ) o5 Y1 x2 M. x7 P& _% c
{
& W, e! E3 R! H3 [Test t = new Test();
; ^% o% E3 D: |* i0 h} 2 X8 ?: h6 l# K: O
}# v, f! H8 d) |3 O1 ^; u
A. t.f;/ J3 c/ I- n/ U" U4 m" B
B. this.n;
& ]5 B" d5 b5 b6 yC. Test.m;0 U+ s( _# K, g9 v
D. Test.f; k9 P2 N( U, c$ n" X
20 . 下面那种说法是不对的?$ N: W( R+ ~# i
A. 一个方法可以同时为protected和abstract类型
% q8 {8 b, e* f# D6 ^' YB. static变量也可以是final类型7 |* ~5 P5 {6 p2 |% y
C. static方法也可以是protected类型7 [8 n- n( w+ U& G ?1 I
D. static方法也可以是abstract类型
4 {" q6 ?6 I0 O; Z1 N; R3 A2 C二、读程序(每小题5分,共20分)
8 ~' l8 r$ A. b U- `1. 写出以下程序的运行结果。& j8 j7 e: Q `2 C
public class Sum
) i6 y6 H2 z9 @3 h5 @: \{ public static void main( String args[ ])
5 E0 T+ t7 e% C6 [- V. V { double sum = 0.0 ;; m7 a: t3 c5 p" d) t- N3 v; a7 m9 M
for ( int i = 1 ; i <= 100 ; i + + )0 Z% r" y! i+ h: b b) B; Y
sum += 1.0/(double) i ;; r" O% @1 r+ j: E+ T$ f
System.out.println( "sum="+sum );
; c, _' d& `1 [# S6 R3 x }
6 L9 w5 I6 E$ l8 c# r9 [7 N}
( ^& D4 H0 B O8 g" \; o1 @8 W( `& d" ?
* Y" \5 F q5 C& C$ ~8 g
d* @& P2 r6 Z' v- z4 G; e
2. 写出以下程序的运行结果5 d# G8 x4 I3 Y4 x9 }
import java.io.*;. K7 D0 c& c& X' i1 B! ?& ]* w
public class Class1
8 V* l* \( @& ^8 C2 U) S! D% N{8 l% l6 K$ S7 v% b: g2 g
public static void main(String args[ ]){
J' ?/ ?; Y" Q: [; _/ g8 I6 ?4 q7 i* t$ p int i , Max , Min ;
. E/ X( _ y* c* i int a[ ] = { 12,67,8,98,23,56,124,55,99,100 };
~7 K7 I9 V. V" v Max = Min = a[0];
$ U) C4 }; H' Y2 P0 p9 ` for ( i = 1 ; i < a.length; i ++ ) {
$ L7 t1 M8 Q* a: a$ E if ( a[i]<Min ) Min = a[i];+ P, ^) g' J; M
if ( a[i]>Max ) Max = a[i];
: h9 E1 @8 t& h2 y" F2 I$ \( J }) i4 b; b Y4 j6 Y6 z& k
System.out.println( Max+" "+Min );' {2 e. z3 H. X1 T/ Q1 m" |
System.out.println( );
k1 V9 \5 M, C3 r6 o }
1 V& D, f; D: @8 c$ L" \; `}" u$ h0 z6 k7 d3 m
8 ^' S: a: \6 ~4 ^. f9 f# U [- ?& T! }6 v+ g4 M
: H7 F& |: k9 l2 ]/ |4 z+ u& f# m# _2 `
3. 写出下列程序完成的功能
1 y- L" i4 i! {5 @import java.awt.*;4 I- K( {$ R; U9 q5 h/ Z4 R
public class abc. b( A4 F' }. Z8 n* D2 W+ b
{ public static void main(String args[])
# H, g$ y+ |" e! I! v { new FrameOut(); }
6 V; ^$ k( \) x+ T( J6 w. K }
: S8 ^. n; h: Z; Y class FrameOut extends Frame " ^+ F- C+ o- p
{ Button btn; & P) ]" a; N% M; ?' _9 p; j
FrameOut( )
: B0 s$ R, B. X* H! p { super("按钮");0 e! R' F" c' M- g: C, u
btn = new Button("按下我");
A% V9 r! G( V. [! D setLayout(new FlowLayout( ));* V+ a2 V# z- p) @3 K' Y. w/ d
add(btn);
! m" w! T: ~' t6 ` setSize(300,200);
+ Q5 x; D4 K" r } show( );
' @* M1 q) b. k3 d N1 y }
8 H6 k3 W9 `) M# l }$ Q% w4 D& P3 S+ k
% \3 l9 o% q' h5 {$ n( \6 z. l: T
4 E8 T Z* _ A/ {. E$ L3 i2 x) e/ J
4.写出以下程序的运行结果
# D4 [ w7 Y& t- {* E% Eimport java.awt.*;* @& v6 P; g& Z1 f
import java.applet.Applet;; T9 R# _! s+ f6 b% S3 `; {
public class Applet1 extends Applet9 t7 U, F" |- p2 ~, e1 B5 ]
{
5 s/ t2 h( D1 G: L# y public void paint( Graphics g )) T L& O+ K5 x: N% k
{$ ^2 s& s7 S1 O1 x+ E# R
g.drawLine( 30,5,100,45 );
" q* B8 P7 n) Z9 F! T$ Z! j# G g.drawRect( 30,50,50,20 );$ R/ _; P, u/ H7 N! u/ }
g.drawOval( 30,80,50,40 );* F3 R! E6 {" y9 r
g.drawString( "They are figures!" , 30,150 );
1 e, G. S( n6 N- R8 Y }
% }9 ]) Z# R5 J. ]: w- f}
& v0 e5 x5 E$ b4 u# x( D* i, k( f+ c; B' Z* }& ]1 ~' v6 T
6 p, ?$ V7 ^6 O: z! ~1 q, [" k' I' T% v2 E6 E# a
, g6 {6 [/ j9 E; G三、程序设计题(共20分)- O5 j1 K8 t' R: Q
建立一个表示复数的类:私有数据为两个浮点数分别表示实部和虚部,初始化方式有1)无参默认为0;2)两个浮点数分别表示实部和虚部;外部接口有:以a+bi的形式输出的复数;两个复数相加;复数加一浮点数;比较两个复数是否相等。
1 X2 B, w" Z# ^6 Z) A2 T4 `* I$ P: ]2 [
. @7 }/ G, K% i+ R/ p% w+ R- ^! [" w9 |4 Y3 d
+ L4 j, z) Q1 ~# }5 z
* d E8 m1 d7 ~! P2 [+ l
; I1 w+ [( M: q- b4 m1 O: o2 I- P. a# m: O* T1 i; _: Q, m2 C+ ] ]
4 V) I" p3 X7 R1 F
e( h P+ f, b$ K# k7 d: \$ G
3 O# L" @6 C( W [8 x' d$ \5 O- F8 E: A6 a; c, M
+ k6 l3 H% w, m) H$ ^" W; M8 c d' X4 j
* n, D5 m( e- T+ Q
) A( v9 i3 X8 V) m1 e | |, z) U+ f, R1 L) K8 I7 }
3 u+ d% E$ t* R4 _. m# F" ^4 X& Q% i- \
|
|