|
东北大学# p, t' q3 a. u
11春学期《软件设计模式》在线作业二
0 x% s8 l9 Z! R9 N单选题
' y. m: ~% H( G5 `' j1.已知a、b、c的值分别是4、5、6,执行下面的程序段后,判断变量n的值为:
1 B- b( Q# _" w3 dint a,b,c,n;( _3 d& e) ~2 J; l! `, b* F
if (c < b)
]5 |5 A% m4 u9 U& K- { n = a + b + c;
# M' g/ H( W% W! I% _: O else if (a + b < c)
; Q# C/ p3 [* e) ]$ { n = c - a - b;# ? v' @* v2 E5 @9 @! h w3 O
else
2 a0 i+ y+ a- u1 O; O& g+ K) d& U n = a + b;
# I8 w$ U* I+ b( J- NA. 3; d4 D1 c8 B( r d. g
B. -3
1 E/ d& |+ U) } n: J+ L( P! y' vC. 9
! b+ M" \. g( |$ S& U+ OD. 15+ s4 E% h2 X3 {
资料:C
& w, |" _7 g8 S0 A$ H/ l2.在C#中,表示一个字符串的变量应使用以下哪条语句定义?0 Q/ ?8 n+ r- ]! I! S+ F* B/ V/ n
A.
( ~2 E* o( @- n7 d$ NCString str;
E7 e; e# T$ e5 ?B.
1 Y, p/ i5 v! Z/ n9 W& E) @string str;
: U1 D I3 [1 N1 ~/ ?3 M2 eC.
: G# x$ o- E. z5 ]5 CDim str as string;! C% M. Q! o% Q* \5 I, z
D.
" N; w1 M% a7 [) S4 s+ x: xchar * str;! l6 N2 m# j, O7 n. u
资料:B' l/ K5 i' I7 q, |' _: U0 a
3.接口Animal 定义如下:
' @3 o# N8 r% ]4 l3 dpublic interface Animal
2 h, u' b( p7 x) e2 e! F' A{ % u0 j: U2 Z/ p1 i" Y
void Move();
& R( }3 O, Z8 s% Q' l}- V4 r1 {' Y" I' _) p
则下列抽象类的定义中,哪些是不合法的?
. T9 ^/ e6 C- o2 }7 [A.
) }3 e' g$ \ F1 ^" aabstract class Cat: Animal
@3 Q2 J' r5 Z0 V p; U* h3 o6 C{, y- z. `2 D1 `. x7 Z) q
abstract public void Move(); + J5 z7 W( }7 \" a3 c0 K) U! P% Q
}
2 i2 K0 r3 m( Z4 z: Z7 a/ T' ?5 G8 ZB. , F1 |/ E6 ]8 K! T' K3 J. g# y, r* R1 ]
abstract class Cat: Animal . M; B+ h# b% W r% y8 X) d; `
{ ! I/ L5 S f2 l/ M5 V' d
virtual public void Move(){Console.Write(Console.Write("Move!");)}
, j9 x5 Y1 J d$ j+ `}
5 a1 F# }7 n8 ~2 D6 FC. $ z$ w" x3 @; N1 \
abstract class Cat: Animal
* Y7 C! k5 j2 j* ?9 h$ ^3 e" M{ 2 q+ o3 k K d8 u
public void Move(){Console.Write(Console.Write("Move!");)}; 7 n2 X9 x1 C4 J! Y% k6 l$ ?- q
} ! k L& D4 C" O; e6 S; V$ X
D.
^8 M6 e( A+ f5 F- i9 y0 w* {abstract class Cat: Animal y' e1 N' [7 X) m, y2 ~; y, M
{7 D( C/ F) R) m' r* K1 p3 C, T
public void Eat(){Console.Write(Console.Write("Eat!");)};
# l' u% B) c# m5 |* N( |9 c3 o: t}# _" ~0 _: S$ o$ |2 ]/ N8 O
资料:D
' {, y; ?: W2 [5 t4.C#中,新建一字符串变量str,并将字符串"Tom"s Living Room"保存到串中,则应该使用下列哪条语句
) {" T6 I# E/ s2 EA.
1 M) ^3 \+ e. ] string str = "Tom\"s Living Room";
$ Q" R" Y4 |+ s% O& HB. % J& u. F+ ^( m
string str = "Tom"s Living Room";
, }' D/ b* z" H* _4 b: gC. 4 `6 p. I3 k: E. e
string str("Tom"s Living Room"); 4 G! X' A, Q+ E* I( h- l+ c9 V
D.
5 n; C4 K6 P- w) x4 f4 P string str("Tom"s Living Room");$ X- L1 n' ^5 S
资料:A
- J; k5 l. _$ g/ K2 D/ g5.以下描述错误的是( )4 _1 h' N- N! _+ W
A. " M% c# N l2 u7 Q6 q- w; ]
在C++中支持抽象类,但在C#中不支持抽象类。
; J; T3 i2 j, U+ x6 R2 B3 MB. ( q! W5 s* z4 U1 Q8 ?( j
C++中可在头文件中声明类的成员,而在CPP文件中定义类的成员;在C#中没有头文件并且在同一处声明和定义类的成员。; a! L2 d' U/ _0 y4 i- N& G$ l
C. * U: K( p2 W8 h4 `" O* K( D4 w8 v
在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
8 ~8 D% e9 c2 Y$ u- R* A' n8 dD.
& f- Z7 V# l: y4 w. A! K2 E) V在C#中要在派生类中重新定义基类的虚函数必须在前面加Override" J7 P( Q) R4 Y& U
资料:
0 ?' k5 \: }9 Z! P% A6.下面有关析构函数的说法中,不正确的是:
# b" d. Y4 S4 ]0 E, QA. ! i ~5 D) u" I" f* W3 l
析构函数中不可以包含return语句0 a$ Q' j- I6 s' `( `( Q* a1 b
B. , D# _* ^# H; m% D
一个类中只能有一个析构函数
9 C4 _% z! \4 a, {- F/ b7 Z5 P; P! }C. : H+ i2 c$ V* H$ ?$ G8 F5 ~
析构函数在对象被撤销时,被自动调用
6 z' j7 h" F" i5 K2 pD. 1 {( ]' l; K) |" |# j' L q
用户可以定义有参析构函数
" L: N7 K- M4 y- k1 g4 ?6 H资料:
4 Y- ~0 f( w2 N+ L/ \! i7.分析下列程序:) _- G9 ~1 g9 O+ l) h9 i) q- ]$ D$ ?
public class class4
0 U+ T0 s3 E& m" F{
6 v9 [8 m) R6 s6 w- Bprivate string _sData = "";# L" f8 l+ D, d) y) S# g, Q8 B
public string sData{set{_sData = value;}} # \% ?% `$ X& Y5 D7 c1 N$ f
}6 g1 O5 e. p: g& X* p# v
在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?
' T& b+ s8 z' M4 O c' v3 t( aA.
! O* `: T' v3 K obj.sData = "It is funny!"; & r# [1 _) ^% p$ B$ E9 t
B.
/ |+ k9 w; N. h/ z5 z% a k/ N8 jConsole.WriteLine(obj.sData); : X- A4 J( y d7 l4 T8 d
C. " ?5 y, R% q7 X/ A
obj._sData = 100; 4 P! ` I* T) S0 O% v
D. 5 ~- _7 F+ k9 ^! H h
obj.set(obj.sData);; O( d; l) U- N0 O' l8 f' l4 ^+ a
资料:
Y- _6 Q0 w/ ^7 Z* A8 C; k7 w8.在C#中,下列哪些语句可以创建一个具有3 个初始值为""的元素的字符串数组?
, O( J# Y) d) C" {/ o) f$ r* HA. 9 P2 y( P. h# l# Z4 a
string[3] StrList = {"","",""};
) s5 S1 n* a5 n$ RB.
! @/ F! b+ s& ^7 P: T6 rstring[3] StrList = {"","",""}; 5 K1 {2 s/ b- U1 y2 a
C.
' i: U4 A# X1 f# j: Vstring[] StrList = {"","",""};* O- B; e7 Q3 Q9 I/ U3 y" E% F
D. $ O8 {; A A6 U% q& w
string[] StrList = new string[3];
3 N7 M0 F+ z5 V! V4 ^3 Y" i6 T1 S资料:
2 F7 H: h+ N& T! W6 I9 W9.在类的定义中,类的_______描述了该类的对象的行为特征。7 s, c; E" H; C. [1 W3 u% g
A. 类名
! Q: a$ [1 L: y6 R0 N* P! @5 xB. 方法
+ ~( |. M% U; L( XC.
+ E" P7 p# y+ g, y所属的名字空间 - S) z# w& b' m9 y; T5 S
D. 私有域* l4 O6 M3 p; F/ `
资料:
( K+ s% d# j8 B; K" W7 j10.在C#语言中,下面的运算符中,优先级最高的是____。
" N: {1 ` Y3 y" U3 SA. 5 b6 }% {$ N! {$ }5 V* J
%+ B3 i$ D! g( i$ |" ^
B.
' |0 Q! D* i! h) H5 k* Z1 Z++ ( |2 z+ i7 J! e% d
C. . G% L! h% w/ q6 s
/=
; f9 U1 f6 u# a2 d0 }3 gD.
* W; G P! Y/ T$ o0 I3 K>>
3 C( o- g* q* h, c6 E资料:
; x" \6 C* p$ V( \判断题
4 K8 N3 x7 m3 J" P' l7 P# Q; X; {1.用例图、类图、对象图、状态图和顺序图属于静态建模机制。" J; h3 a! _' Z s( x
A. 错误& U* l( f* N5 P, y7 x3 b! B: e
B. 正确# m7 H7 w4 D& A) {
资料:( Q' |8 `7 U& V/ Y. M
2.面向对象(Object-Oriented,OO)将数据和对数据的操作作为一个相互依赖,不可分割的整体,采用了数据抽象和信息隐蔽技术。8 H* f x8 S$ j5 z8 l$ I% `7 ?
A. 错误
J% V8 l+ n* m, \2 W7 r+ O+ [B. 正确, L# {; L+ O& R6 r/ N
资料:
7 A0 |4 N/ U& @: X5 L3.C#中每个char类型的变量占用1个字节的内存。
$ \4 T: ]8 }) Z3 [! QA. 错误5 m# K" F: s1 G0 O" g
B. 正确
7 y# l1 z# \( J) `/ I, A- C( }资料:
$ ]' H$ B+ W- O/ d2 W5 i7 W3 y4.在面对对象的开发中,对象就是现实世界中事物的抽象。
+ F4 j4 T% V* D% P3 x: b# |5 wA. 错误$ G' r; T# c1 ^
B. 正确
% ~7 f% p6 e% l; h' L资料:
, Z% k7 i/ x/ A% V5.关键字sealed可以阻止一个类被继承。6 Y# R$ g8 C; s/ w+ P6 v5 v& ]# F
A. 错误
" @3 |% z# I7 R1 Y* xB. 正确
2 _- [9 U3 J- z7 I资料:
4 Z# ?5 g/ d/ p6.提倡设计模式的根本原因是增强代码复用,增加可维护性。1 ?& ?4 M6 j* f0 b
A. 错误# [" E+ |2 y: n" ~
B. 正确 p( Y* I! _ O3 Z1 W2 K0 X
资料:% R. z4 p- Q( W' h4 [. l+ c
7.顺序和协作图虽然都是用来描述交互的,但顺序图强调的是空间,而协作图强调的是时间。
% _9 J1 f; @9 C+ FA. 错误) x3 i5 G6 I$ C$ M+ a/ I
B. 正确5 ]6 \$ S* D( o: \
资料:
$ _8 ?3 L) M) _- p* b& P) B! m4 n, e8.重载是进行基类中函数的重写。- U: @% d* Q8 d. S
A. 错误
8 |4 s4 X, Y" n/ oB. 正确
4 R ?* I# b5 u( Z9 d. W+ s资料:+ V5 j6 A, ~, n$ j3 d4 i1 e
9.在C# 2005编程环境中,int32型变量可以直接隐式的转换成char型变量。
! Y( Z. {& q2 e5 Q3 g# i, oA. 错误
9 ^, {$ d5 p- EB. 正确. z: t/ F+ u) a) P
资料:& w: ]* i8 P3 {1 e2 W( n7 T
10.面向对象设计中的"开-闭"原则指的是软件对000应该是开放的,对扩展应该是关闭的。
\9 A- }0 G- y5 y# V. ZA. 错误
% L+ y& @+ i* ?/ j- f( lB. 正确
! s, c) Q4 ^6 @) G9 n资料:
% x, a& |1 w. L2 m4 a久爱奥鹏网:www.92open.com |
|