可做奧鵬院校所有作業(yè),畢業(yè)論文,咨詢請(qǐng)?zhí)砑観Q:3230981406 微信:aopopenfd777
東 北 大 學(xué) 繼 續(xù) 教 育 學(xué) 院
軟件設(shè)計(jì)模式 試 卷(作業(yè)考核 線上) B 卷
學(xué)習(xí)中心: 院校學(xué)號(hào): 姓名
(共 8 頁)
總分 題號(hào) 一 二 三 四 五 六 七 八 九 十
得分
一:單選題(共40分,20小題,更多答案下載:(www.)2分。請(qǐng)將答案填入下表)
題號(hào) 1 2 3 4 5 6 7 8 9 10
答案
題號(hào) 11 12 13 14 15 16 17 18 19 20
答案
1. 以下標(biāo)識(shí)符中,正確的是:
A、_total B 3abc C while D class
2. 在c#程序中,入口函數(shù)的正確聲明為:
A. static int main(){…..}
B. static void Main(){……}
C. static void main(){……}
D. void Main(){……}
3. C#中MyClass 為一自定義類,其中有以下方法定義public void Hello(){..}使用以下語句創(chuàng)建了該類的對(duì)象,并使變量obj 引用該對(duì)象:MyClass obj = new MyClass();那么,可如何訪問類MyClass 的Hello 方法?
A. obj.Hello();
B. obj::Hello();
C. MyClass.Hello();
D. MyClass::Hello();
4. 在C#中,表示一個(gè)字符串的變量應(yīng)使用以下哪條語句定義?
A. CString str;
B. string str;
C. Dim str as string
D. char * str;
5. 結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是:
A. 順序結(jié)構(gòu)、if結(jié)構(gòu)、for結(jié)構(gòu)
B. if結(jié)構(gòu)、if…else結(jié)構(gòu)、else if結(jié)構(gòu)
C. while結(jié)構(gòu)、do…while結(jié)構(gòu)、foreach結(jié)構(gòu)
D. 順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
6. 能正確表示邏輯關(guān)系“a>=10 或a<=0”的C#語言表達(dá)式是:
A. a>=10 or a<=0
B. a>=10|a<=0
C. a>=10&&a<=0
D. a>=10||a<=0
7. 分析下列C#語句,注意類MyClass 沒有訪問修飾符:
namespace ClassLibrary1
{
class MyClass
{
public class subclass
{
int i;
}
}
}
若必須為類MyClass 添加訪問修飾符,并使MyClass 的可訪問域保持不變,則應(yīng)選擇:
A. private
B. protected
C. internal
D. public
8. 在類的外部可以被訪問的成員是:
A. public成員 B. private成員 C. protected成員 D. protected internal成員
9. 在定義類時(shí),如果希望類的某個(gè)方法能夠在派生類中進(jìn)一步進(jìn)行改進(jìn),以處理不同的派生類的需要,則應(yīng)將該方法聲明成:
A. sealed 方法
B. public 方法
C. visual 方法
D. override 方法
10. C#中,回車字符對(duì)應(yīng)的轉(zhuǎn)義字符為:
A. \r
B. \f
C. \n
D. \a
11. 判斷下列類MyClass 的定義中哪些是合法的抽象類?
A. abstract class MyClass { public abstract int getCount(); }
B. abstract class MyClass { abstract int getCount(); }
C. private abstract class MyClass { abstract int getCount(); }
D. sealed abstract class MyClass { abstract int getCount(); }
12. 已知a、b、c的值分別是4、5、6,執(zhí)行下面的程序段后,判斷變量n的值為:
int a,b,c,n;
if (c < b)
n = a + b + c;
else if (a + b < c)
n = c - a - b;
else
n = a + b;
A. 3 B. -3 C. 9 D. 15
13. MyClass為一個(gè)自定義的類,則下列語句創(chuàng)建了多少個(gè)類MyClass的對(duì)象?
MyClass[ , ] myArray = new MyClass[2][3];
A. 0
B. 2
C. 3
D. 6
14. 下面是幾條動(dòng)態(tài)初始化二維數(shù)組的語句,指出其中正確的:
A. int arr5[][]=new int[4,5];
B. int[][] arr6 = new int[4, 5];
C. int arr7[,]=new int[4,5];
D. int[,] arr8=new int[4,5];
15. 下面有關(guān)析構(gòu)函數(shù)的說法中,不正確的是:
A. 析構(gòu)函數(shù)中不可以包含return語句
B. 一個(gè)類中只能有一個(gè)析構(gòu)函數(shù)
C. 析構(gòu)函數(shù)在對(duì)象被撤銷時(shí),被自動(dòng)調(diào)用
D. 用戶可以定義有參析構(gòu)函數(shù)
16. 下列說法哪個(gè)正確?
A. 不需要定義類,就能創(chuàng)建對(duì)象
B. 屬性可以定義為抽象的
C. 對(duì)象中必須有屬性和方法
D. 常量不能作為類成員
17. 下面有關(guān)靜態(tài)方法的描述中,正確的是:
A. 靜態(tài)方法屬于類,不屬于實(shí)例
B. 靜態(tài)方法可以直接用類名調(diào)用
C. 靜態(tài)方法中,可以訪問非靜態(tài)的局部變量
D. 靜態(tài)方法中,可以訪問靜態(tài)的變量
18. 以下描述錯(cuò)誤的是:
A. 在C++中支持抽象類,但在C#中不支持抽象類。
B. C++中可在頭文件中聲明類的成員,而在CPP文件中定義類的成員;在C#中沒有頭文件并且在同一處聲明和定義類的成員。
C. 在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員。
D. 在C#中要在派生類中重新定義基類的虛函數(shù)必須在前面加Override。
19. 下列關(guān)于構(gòu)造函數(shù)的描述正確的是:
A. 構(gòu)造函數(shù)可以聲明返回類型。
B. 構(gòu)造函數(shù)不可以用private修飾
C. 構(gòu)造函數(shù)必須與類名相同
D. 構(gòu)造函數(shù)不能帶參數(shù)
20. 變量x的值為25,要輸出x的值,下列正確的語句是:
A. System.Console.writeline(“x”)
B. System.Console.WriteLine(“x”)
C. System.Console.writeline(“x={0}”,x)
D. System.Console.writeline(“x={x}”)
二:答案來源:(www.)(共20分,20小題,更多答案下載:(www.)1分。請(qǐng)將答案√或×填入下表)
題號(hào) 1 2 3 4 5 6 7 8 9 10
答案
題號(hào) 11 12 13 14 15 16 17 18 19 20
答案
1. 軟件危機(jī)是開發(fā)軟件的開發(fā)工具功能不強(qiáng)造成的。( )
2. 結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是順序、循環(huán)和選擇。( )
3. 面向數(shù)據(jù)流的設(shè)計(jì)以面向?qū)ο蠓治鲭A段的數(shù)據(jù)流圖為基礎(chǔ)。( )
4. 軟件設(shè)計(jì)主要是要求功能強(qiáng)大,對(duì)于說明文檔的要求則可以適當(dāng)放松。( )
5. 軟件測(cè)試方法主要白盒測(cè)試和黑盒測(cè)試兩種。( )
6. 螺旋模型包括制定計(jì)劃、概要設(shè)計(jì),詳細(xì)設(shè)計(jì)和工程實(shí)施四個(gè)主要部分。( )
7. 面向?qū)ο蠓椒ㄊ菑乃惴槌霭l(fā)點(diǎn)來構(gòu)造系統(tǒng)。( )
8. 在面向?qū)ο蠓椒ㄖ?,封裝使得外界無法存取對(duì)象的內(nèi)部信息。( )
9. 面向過程方法的缺點(diǎn)是過程和數(shù)據(jù)結(jié)合的過于緊密。( )
10. 面向?qū)ο蟪绦蛟O(shè)計(jì)應(yīng)該遵循低內(nèi)聚、高耦合的原則。( )
11. 消息可以用順序圖和協(xié)作圖這兩種圖來表示。( )
12. 狀態(tài)圖、順序圖、協(xié)作圖和部署圖屬于動(dòng)態(tài)建模機(jī)制。( )
13. 順序圖描述系統(tǒng)中對(duì)象間通過消息進(jìn)行的交互,強(qiáng)調(diào)消息在時(shí)間軸上的先后順序。( )
14. 提倡設(shè)計(jì)模式的根本原因是增強(qiáng)代碼復(fù)用,增加可維護(hù)性。( )
15. 里氏代換原則的本質(zhì)是在同一個(gè)繼承體系中的對(duì)象應(yīng)該有共同的行為特征。( )
16. 工廠方法是抽象工廠模式的擴(kuò)展。( )
17. 提倡設(shè)計(jì)模式的根本原因是增強(qiáng)代碼復(fù)用,增加可維護(hù)性。( )
18. 具有抽象方法的類必須聲明為abstract. ( )
19. 當(dāng)創(chuàng)建派生類對(duì)象時(shí),先執(zhí)行基類的構(gòu)造函數(shù),后執(zhí)行派生類的構(gòu)造函數(shù)。( )
20. 虛函數(shù)是可由子類繼承并重寫的函數(shù)。( )
三:更多答案下載:(www.)(共25分,5小題,更多答案下載:(www.)5分。)
1. 試簡述瀑布模型。
2. 設(shè)計(jì)模式的基本要素有哪些?
3. 什么是創(chuàng)建型設(shè)計(jì)模式,它的目的是什么?
4. 結(jié)構(gòu)型模式的功能有哪些?
5. 構(gòu)造函數(shù)有哪些特殊性?
四:綜合題(共15分)
1. 試舉一個(gè)例子并設(shè)計(jì)抽象工廠模式的UML結(jié)構(gòu)圖(7分)
2. 定義一個(gè)抽象的運(yùn)動(dòng)員(Player)基類,具有抽象方法Train方法。然后以該類為基類,派生出BasketballPlayer、FootballPlayer等類。(8分)