|
一、单选题(共 10 道试题,共 50 分。)V 1. # d3 P9 L3 n) t' k7 W
MyClass为一个自定义的类,则下列语句创建了多少个类MyClass的对象?
3 ^9 d: |6 F0 \7 b8 C: \7 d' l U6 n# E
MyClass[ , ] myArray = new MyClass[2][3];
/ X+ R" i* ]5 F# R% [ b" t5 `4 _
. j, j' N% S6 [A. 05 h; }" _5 q7 G# }* @" X" r4 V
B. 2
( W: r" w$ l1 h+ V& q& Z$ QC. 3/ w8 |" {) H8 |. o3 Y
D. 6
; B/ N: p8 V: @* o! V3 M 满分:5 分
# o) z5 {0 a% W% a' ~0 c: Z7 f! a2.
4 `& i6 V( q8 t6 K- f5 y! a, S下面关于析构函数的说法中,不正确的是( )2 B3 _$ G# F; ^* n
! Q( v6 |3 \0 MA.
" Y. W. S, J% t Q( D2 A析构函数中不可以包含return语句
( R4 q. f8 b8 R# J) G6 H# Z; s; d `! R1 K2 a; p, U
B. 8 N& }9 D1 F' j5 m% b% B7 q6 F
一个类中只能有一个析构函数
( f9 G; V0 e. F9 @$ z! _( y9 a! E5 A# v* t
% N- L6 _3 `. |3 {0 fC.
3 X' M& [9 X' d; D" O析构函数在对象被撤销时,被自动调用, \% }. K' N4 Y
, n8 }. o H! P8 h8 z. yD.
! b2 @+ @' n" S9 O2 G用户可以定义有参数的析构函数
- o! X4 Z" P6 X. o( c9 ?* K; I% {; |( ?$ R
满分:5 分
' i. v+ A/ {& B: m! y3.
' x- B6 j1 T! u4 q 已知结构Resource 的定义如下:* p' e/ \ g7 t \: H( R) \
* u8 @1 z I1 v; C4 l
struct Resource{
$ w/ K1 S3 U+ G8 ?" V7 m6 X/ F) i; A- b/ v/ T8 q
public int Data = 0; F3 r6 }0 A) b3 `2 {( ?" t
; u" F7 L) @7 O R+ C1 c/ J1 j}7 m& n5 R' W9 E8 [# \& V
0 O( l5 X. w+ T0 F
则下列语句的运行结果为________。 2 h* k8 P1 p# z& N1 A) U
+ e) U, f Q6 q7 L9 M2 }* AResource[] list= new Resource[20]; . A4 c, J/ y2 ^. P# I6 O K6 Y6 B
2 [9 K' {- N' J7 j: T7 [
for(int i = 0;i<20;i++){
; V; a# K% U4 o, B9 F) F2 F( ], E$ s
System.Console.WriteLine(“data={0}”,list[i].Data); ! m w5 t+ w8 m* q/ [+ B# s
7 v) N$ h! m+ S K. r7 t; Z
}
8 S! U8 `/ ?. e0 T8 T
( q5 K _# _8 V9 d+ _A.
( X7 ~ [7 Q& X) f0 b- ~0 f打印20 行,每行输出都是 data=0/ _. i# y1 a7 W) u9 m- Y% e
: w, a; M$ D7 J r; W6 ]) o
B. 9 e% V5 {) s% v; b
打印20 行,每行输出都是 data=null) r5 q8 r9 j+ Z: [5 A/ @7 o
7 E' y$ W2 m( b$ M# A3 w6 K" T4 w* S
C.
' e/ W" R0 n! I8 Y* V9 L- R s打印20行.第1行输出data=0,第2行输出data=2,.,第20行输出data=19& }/ f6 f V/ O7 n h- l$ [
7 _' y# ]7 p5 ]8 M4 XD.
9 m9 ^9 z# S+ p5 L) }5 f6 ~, l4 |出现运行时异常) E A. _! z; }# F7 R/ {2 w" q
8 \$ x0 V2 o- W2 H7 V
满分:5 分7 t: t; ^* c* ^
4.
0 A& b& W' e# M8 U. u) P接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。: r' N: X" p$ j% z: O" u& r" P' d& O
. R( s, \! ]2 R% O! H, w' C4 t( s
A. * P T9 _7 @: i
方法、属性、索引器和事件8 l) j/ A) U) F8 x
' h8 c2 c- c# R3 V; m
B. : ~: l% }+ U4 ?# q6 c* l
方法、属性信息、属性
: k7 Z( n$ X( R1 Y
^9 p2 r6 ?* z& a' H! TC.
4 v" S, m7 n- W0 N9 W索引器和字段1 D/ [8 V5 }& d* u1 {
, `$ R5 p5 ^! V% P# \- V4 w) l' }
D.
) f0 M5 ^* f5 h# k5 O: ?7 P事件和字段) E) o" t K4 l! g/ p
& E+ e) t2 v- y4 Q* @
满分:5 分
9 M% N( ~* o8 L8 @5. 1 {8 |, O- _" ]/ i
C#语言中,下列能够作为变量名的是____。
( l+ L( ~+ [- |- A) o7 K& @$ `7 w7 Y+ W: q9 T6 F! e
A. ' f% j; ^1 A E% n
if
/ s7 J/ u: F0 d& R3 T) U Z f/ I
" f9 d$ z& s6 ~3 n, r; a OB.
( G" F8 s5 x2 ~/ v9 Y. Y3ab
# S+ H6 X m- k. Q
; Z" t3 F8 G$ w c$ D2 NC. 4 a9 o# J/ L9 T5 j0 ^
a_3b& ? Z7 s( ~- n6 w
3 |4 Q) k7 y x! U/ {
D.
* ?1 x$ X0 ^- n. Aa-bc
5 y4 p: A% U! d' J9 l8 g3 r! M( {, v5 w
满分:5 分
5 d% D$ h& X' n6.
' |% W2 }# f. {! OC#程序的书写,下列不正确的说法是___。 L+ L( D8 Y/ O3 ?$ l9 X! {
& l) S+ V9 ~% t, a. d" `/ l
A. % t8 t! m5 q+ q
区分大小写
) H/ Y0 z- p0 p, U* f/ n5 r! B% g5 S3 d) F) T4 N& `5 [( v
B.
. Q/ W) r2 {1 | U' y! h一行可以写多条语句" z. j( Z5 C1 \5 `
. K3 r1 Z/ X2 A8 O' o, J
C. # r5 f. S( A, e8 x: e0 K, o
一条语句可写成多行
1 C; g$ f, r; v" L m# r
% l6 T2 U$ G& {. t# W* B- rD. 9 j8 }/ Q k# V# Y
一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法
; k# H) Q+ D, L$ U8 ]9 v8 p. Z' Z6 E* {2 H0 @8 r
满分:5 分* L6 S F: E3 c% I5 V- o
7. $ S A/ H2 o' @: g+ `. [2 f
下面有关静态方法的描述中,正确的是:
/ S; |' k/ y& X8 p, g- z* @0 U2 m$ b8 K, S) c" g
A. 9 W9 G' i' c( Z8 ?; o1 V
静态方法属于类,不属于实例
- v- f7 n: i4 i9 y7 \ ^, o* q0 u2 I0 z( \; u0 f9 G, `& F5 z3 C; L
B.
1 n3 c4 p( y# E静态方法可以直接用类名调用
. J1 T8 i0 U7 w. h
4 }1 z9 m, k. J/ tC. . r' |: d2 M- j+ E2 I, \
静态方法中,可以访问非静态的局部变量4 Y) I" x' r8 G% S$ o
& F3 K/ |0 v! w+ R+ N! ^
D.
8 L7 h& E$ e( |9 n4 V静态方法中,可以访问静态的变量
\5 Q8 k1 q- _5 _* v4 D
, D, J# o8 b6 V' a! Z; ~0 o 满分:5 分5 l- A' k8 @* E. g7 M3 S; w
8.
. a$ W8 i: w% t: B0 I在C#中设计类时,应如何保证在释放对象的所有引用之时,释放对象使用的文件、网络等资源?
* e, C7 q/ y- n+ X( ~
& S1 A: u$ V8 n' {A.
! M8 h# I% a6 s为类重载new运算符& f* H4 i: I# p- n! G5 h' L
* m" F+ P# U! ~/ z: c- aB.
# p: O: B+ [6 w0 g6 \( h为类添加delete运算符
# O6 u, i0 d8 p2 u) Q" `
' N. N7 m# h' G4 _% u xC. " u! I, d7 G& I6 g
为类添加析构函数,在析构函数中释放资源
4 i8 R1 g8 m$ z7 W
, g/ R! ]( N S6 @D. ( J% g; ~6 r4 W- O( Q/ ~9 `
为类实现IDisposable接口,并实现Dispose方法,在该方法中释放资源: n+ a8 c3 F2 S
$ n6 _, R9 d1 P1 N" R3 c 满分:5 分; p% h* s$ V2 E
9. 7 t# F; F% t# O" f; `
如有定义:/ ~0 y' N1 n+ e2 `# f
% q) E9 D8 Q& h# d% Dclass class1/ ]& J1 Q$ z; O; x& \ X
$ P! \" d- B4 R7 {$ O. x6 n
{ 2 G4 n: u0 X, B3 y) f
$ e: a! H7 @8 j, ] Public virtual void test(){}" E5 M. E8 N0 r, `0 w
4 v" e7 B" _; q7 L$ ]& t7 Z}8 x* y2 \) t9 I' a- z; R
( ^* l3 b3 q0 |
Class class2: class1
6 \ d. T* p! k s8 K z" Q" ?. }+ C. [1 [/ Z. s9 L
{
8 Y' }% T6 ^8 V9 u
( g u9 _& t d; z Public overrice void test()8 S8 v |4 M$ a; S: D, X
( T6 o1 H8 V" k+ p- k
{
3 I: P( p! C* x
1 P' v$ H9 x% s& r' @2 f0 U Console.Write(“class2”);4 X5 q3 M) g& I# j' H; r3 C& X! K' o
; \6 |' ^( J H6 q3 b) t: D8 f
}
% r( }! h6 Z! f+ T' F) w: f! O/ h9 K6 V# s" S8 ?/ n, [
}
5 ^; ~4 j. u' r
* t: w" C5 {' ~3 N1 sClass class3: class2
8 ~# F. k/ d( Y& S0 f
9 h6 i3 d. L& O' ~0 X{8 d/ I0 \ t6 R0 c1 Z9 _
: b0 P1 ^- Y3 A9 {# g: N
Public override void test()
, y* @) s* N. w% X& }) Z/ v8 c1 q; O# d* s" v2 n/ h
{
. a$ _9 }, ^- P+ D
9 h0 z6 Z! ]) ^2 c8 }0 h3 R Console.Write(“class3”);
/ m! q" }6 B) Z
) q) ]. m& ?- U j( f. M+ W- i}
: g2 J( j K! ?) ^" M C) p4 r! h
$ U& }2 e8 Z% _& \7 p}+ m% {9 _9 s; Q9 W
3 z6 j U0 C# Y
则下列语句的输出是什么?
$ o* ]# b. U3 `* a& x
g1 o0 s) U' B7 g9 jClass2 x = new class3(); x.test();. r' p& t" ^' {* F
2 v- i, c& U: c& i0 b
Z6 J- }8 @1 O. O) q# ^# ?
从抽象类派生类的规则
6 K# V+ |6 T) H8 P0 RA. 9 l3 P+ Q, G- b9 R. `7 x$ M/ e' r
class3 class2. u3 G! }& \' k- f1 m
; s" j2 n) m! [. r% fB.
( O3 c; E9 B- S$ Zclass39 S6 s% P( A6 n$ X0 Q& M
2 h$ r; J1 a8 }! g5 M0 q
C. 6 B I% a5 L- `% q2 C
class2 class3
v" n2 H! l3 L5 Y5 {" v) ]1 {: ]3 i7 {# L: r5 R2 y% H
D. ' L) ]) `5 X, B0 q7 g7 W- J
class2
! i- ]% k6 ~2 H, ]! n) x( T& i8 X) ?' d# q4 t5 z: y* W; d
满分:5 分+ v: }2 ~( o3 \* g& g
10.
. A9 M, Q( [- w' V/ s4 I3 X2 w) P在类的外部可以被访问的成员是:4 O! @$ q4 r( P% ]
6 ~- V. t P2 j3 {
A.
- ~ p! r+ |: A# p4 I8 D+ P1 H: Fpublic成员
+ f. a2 d% d' s6 O" ], ?
" u& W' X6 a1 X( zB.
( D& B3 z! F8 d+ n( P$ Kprivate成员 $ l- k: ?, r' [, Z+ K
, A+ p5 U4 S3 e" G8 hC. 1 ~6 \; S# z- k
protected成员% g$ Y# f% W+ K. f# q+ Q9 l2 R
! L& P4 L) r/ N Z9 P& Y0 |1 U
D.
' l, D( D- T; S) f6 hprotected internal成员
' J* w3 r! R( T4 D2 z" F
8 ?# }2 t1 f/ m# R4 l [- ? 满分:5 分
- ]) P1 k! v& s* Y$ f# {6 z1 H! j+ k
二、判断题(共 10 道试题,共 50 分。)V 1. B1 }: r! g8 @' p% y, W
在检查状态图的完整性和一致性时,只要是没有前驱或后继的状态,则表明发现了一个错误。2 p4 N9 x0 _% }' m$ b
" I8 d# g# W2 [- @# t6 \A. 错误* p% x5 c# u& b" H5 u/ k- b; v
B. 正确
$ K8 z9 ~ h! d2 u 满分:5 分- C; w8 }6 w' ~( d! I; A2 C
2.
% A; e+ n4 ^) m$ q抽象类不可以被实例化。
6 @1 |8 y% q! P m) N# @4 n
0 R2 w. A7 ~+ K. TA. 错误3 k' c# v) `5 G4 c% A0 O
B. 正确
3 G% J. O3 C7 y" ]& ? 满分:5 分
9 n+ y8 q1 A3 l) n: z3.
; i% t# u$ L: @& p软件危机是开发软件的开发工具功能不强造成的。 8 `4 v6 c* k1 V
2 A3 ^! g [# W) D5 e8 o, X
A. 错误* o: x3 M6 U) T0 D5 x( a
B. 正确( Y* G9 ~2 U( h- l' t( H# q# ?2 O
满分:5 分
2 B- o8 d8 s( E! g9 U' ~4. / |9 @" j) n* D7 g3 f: v7 L2 X
在面向对象方法中,由于对象中的数据以及对数据的操作是封装的,所以对某一类对象的修改一般只涉及该类,通常不会对整个系统造成很大影响。
' B' C% C* l: @2 T |
7 Z4 Q% d" o% R# Z7 gA. 错误6 c7 ?: ]; Q! C& |* e. ~
B. 正确; n4 l4 ?( r* Y3 H8 L+ x
满分:5 分* X" @5 @$ M0 o' A( m; N* V
5.
) r$ @! Q P' e* B6 D&&是位运算符,表示按位与运算,&是逻辑运算符,表示逻辑与运算。; y6 [8 b; w0 q) F, R
\$ | P% o8 K* a3 ]
A. 错误
$ c; i9 W5 _/ D3 W0 rB. 正确7 J0 }7 o$ [# a, Y# u
满分:5 分
; i0 m2 f0 ] E, i$ w6.
J- d: q# Q# r0 o" {0 U3 {实例属性和静态属性都是被允许访问的吗?
: T3 U1 ~9 Q0 h/ q2 l8 P" y0 _5 E( \9 T( _" J, `' i
A. 错误
( m- B* T8 O% l1 n7 q5 m% _% NB. 正确; Q; O( q5 S' B1 D5 K
满分:5 分
6 P- Z$ t; h2 h; G- X3 |' O; z. \7.
3 E, O2 S5 j0 J% @# q1 b( U) Y$ O1 v在面向对象设计中,抽象应该依赖于细节,细节不应该依赖于抽象。& M0 N& ^; F; O& A/ O, l6 Y9 u
! o5 z u! L0 u6 \
A. 错误2 A7 _0 w+ ~8 e& l( X$ Z4 h) ^
B. 正确
) X8 s3 K* s( h1 l7 o- o) p' W2 | 满分:5 分
" |% P4 @/ _ [ A6 K0 E- m8. 4 C. o7 O! r1 w+ g3 V3 m% Y
当创建派生类对象时,先执行基类的构造函数,后执行派生类的构造函数。
9 m8 O% B, t; _$ j+ Q% K/ ]0 ~ I7 n# O( i6 h/ n, c4 @& b
A. 错误
3 |; Y% k5 q; l, c9 U& W6 PB. 正确! _, ?) S: Y k+ o* u
满分:5 分
x/ p; d) B1 G5 I9.
% B: m$ ]6 D+ Z& t8 g面向对象(Object-Oriented,OO)将数据和对数据的操作作为一个相互依赖,不可分割的整体,采用了数据抽象和信息隐蔽技术。3 s) D- \! S. r8 V( O' W
; i0 F4 u' o* z( w# s5 Q* SA. 错误
" u; W. I! s+ R' NB. 正确
- W; N* p9 r: A" s8 g+ j+ p, E4 g' [7 I 满分:5 分
$ z/ T3 E4 Z/ q i7 O10. * I3 Y/ ~& ]' P& { S
类和对象的区别就是,类是对象的实例,而对象则是类的抽象。- N$ p1 Z9 F& u% k" r" P
6 `- R; i1 `$ x* YA. 错误& O: n; a6 H7 e
B. 正确* ^/ G' _5 P5 r3 s; H2 a) S
满分:5 分
% {: j. O) S2 _( W; @" ]% A- {- |# E# q& p- k+ }$ J! o$ v7 J5 h& k1 B8 g
|
|