可做奧鵬院校所有作業(yè),畢業(yè)論文,咨詢請?zhí)砑観Q:3230981406 微信:aopopenfd777
東 北 大 學 繼 續(xù) 教 育 學 院
軟件設計模式 試 卷(作業(yè)考核 線上2) A 卷
學習中心: 院校學號: 姓名
(共 5 頁)
總分 題號 一 二 三 四 五 六 七 八 九 十
得分
一、單選題(共40分,20小題,每小題2分。)
1. 以下標識符中,正確的是:
A._nName B.sizeof C.16A D.xl0#
2. 在c#程序中,入口函數(shù)的正確聲明為:
A. static int main(){…..}
B. static void Main(){……}
C.static void main(){……}
D.void Main(){……}
3. 在C#中,引用命名空間system 的正確語句是:
A. using System;
B. #import<System>;
C. uses System;
D. #include<System>;
4. 在C#中,表示一個字符串的變量應使用以下哪條語句定義?
A. CString str;
B. string str;
C. Dim str as string
D. char * str;
5. 結構化程序設計的3種結構是:
A. 順序結構、if結構、for結構
B. if結構、if…else結構、else if結構
C. while結構、do…while結構、foreach結構
D. 順序結構、分支結構、循環(huán)結構
6. 能正確表示邏輯關系“a>=10 或a<=0”的C#語言表達式是
A. a>=10 or a<=0
B. a>=10|a<=0
C. a>=10&&a<=0
D. a>=10||a<=0
7. 分析下列程序:
public class class4
{
private string _sData = "";
public string sData{set{_sData = value;}}
}
在Main 函數(shù)中,在成功創(chuàng)建該類的對象obj 后,下列哪些語句是合法的?
A. obj.sData = "It is funny!";
B. Console.WriteLine(obj.sData);
C. obj._sData = 100;
D. obj.set(obj.sData);
8. 在類的外部可以被訪問的成員是:
A、public成員 B、private成員 C、protected成員 D、protected internal成員
9. 在定義類時,如果希望類的某個方法能夠在派生類中進一步進行改進,以處理不同的派生類的需要,則應將該方法聲明成_________。
A. sealed 方法
B. public 方法
C. visual 方法
D. override 方法
10. 關于結構類型,下列說法哪些是正確的?
A. 結構是值類型
B. 結構中不允許定義帶參數(shù)的實例構造函數(shù);
C. 結構中不允許定義析構函數(shù)
D. 結構中可以定義成員方法,但是方法內不能使用this 指針
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. C#中執(zhí)行下列語句后整型變量X和Y的值是多少?
Int x = 100;
Int y = ++x;
A. x = 100 y = 100
B. x = 101 y = 100
C. x = 100 y = 101
D. x =101 y = 101
13. 在編寫c#程序時,若需要對一個數(shù)組中的所有元素進行處理,則使用___循環(huán)體最好?
A. while循環(huán)
B. for each 循環(huán)
C. do循環(huán)
D. for 循環(huán)
14. 下面是幾條動態(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. 下面有關析構函數(shù)的說法中,不正確的是:
A. 析構函數(shù)中不可以包含return語句
B. 一個類中只能有一個析構函數(shù)
C. 析構函數(shù)在對象被撤銷時,被自動調用
D. 用戶可以定義有參析構函數(shù)
16. 下列說法哪個正確?
A. 不需要定義類,就能創(chuàng)建對象
B. 屬性可以定義為抽象的
C. 對象中必須有屬性和方法
D. 常量不能作為類成員
17. 下面有關靜態(tài)方法的描述中,正確的是:
A. 靜態(tài)方法屬于類,不屬于實例
B. 靜態(tài)方法可以直接用類名調用
C. 靜態(tài)方法中,可以訪問非靜態(tài)的局部變量
D. 靜態(tài)方法中,可以訪問靜態(tài)的變量
18. 以下描述錯誤的是:
A. 在C++中支持抽象類,但在C#中不支持抽象類。
B. C++中可在頭文件中聲明類的成員,而在CPP文件中定義類的成員;在C#中沒有頭文件并且在同一處聲明和定義類的成員。
C. 在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員。
D. 在C#中要在派生類中重新定義基類的虛函數(shù)必須在前面加Override。
19. 下列關于構造函數(shù)的描述正確的是:
A. 構造函數(shù)可以聲明返回類型。
B. 構造函數(shù)不可以用private修飾
C. 構造函數(shù)必須與類名相同
D. 構造函數(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}”)
二:判斷題(共20分,20小題,每小題1分。正確√表示,錯誤×表示)
1. 軟件危機與軟件本身的特點有關。( )
2. 結構化程序設計的3種基本結構是順序、循環(huán)和選擇。( )
3. 面向數(shù)據(jù)流的設計以面向對象分析階段的數(shù)據(jù)流圖為基礎。( )
4. 軟件測試方法主要白盒測試和黑盒測試兩種。( )
5. 螺旋模型包括制定計劃、概要設計,詳細設計和工程實施四個主要部分。( )
6. 變換型數(shù)據(jù)流圖的一般步驟是分析數(shù)據(jù)、變換數(shù)據(jù)、打印結果。( )
7. 對象通過封裝實現(xiàn)信息隱藏,封裝的目的就是阻止非法訪問。( )
8. 在面向對象方法中,對象是對類的抽象,特殊類是對一般類的抽象。( )
9. 面向過程方法的缺點是過程和數(shù)據(jù)結合的過于緊密。( )
10. 高耦合是優(yōu)秀設計的重要標準,有助于使得系統(tǒng)中各部分之間聯(lián)系緊密。( )
11. 消息可以用順序圖和協(xié)作圖這兩種圖來表示。( )
12. 狀態(tài)圖、順序圖、協(xié)作圖和部署圖屬于動態(tài)建模機制。( )
13. 順序圖描述系統(tǒng)中對象間通過消息進行的交互,強調消息在時間軸上的先后順序。( )
14. 提倡設計模式的根本原因是增強代碼復用,增加可維護性。( )
15. 里氏代換原則的本質是在同一個繼承體系中的對象應該有共同的行為特征。( )
16. 工廠方法是抽象工廠模式的擴展。( )
17. 提倡設計模式的根本原因是增強代碼復用,增加可維護性。( )
18. 抽象類不可以被實例化。( )
19. 當創(chuàng)建派生類對象時,先執(zhí)行基類的構造函數(shù),后執(zhí)行派生類的構造函數(shù)。( )
20. 虛函數(shù)是可由子類繼承并重寫的函數(shù)。( )
三:簡答題(共25分,5小題,每題5分。)
1. 軟件危機的主要表現(xiàn)有哪些?
2. 試簡述瀑布模型。
3. 簡述建立動態(tài)模型時,構造事件跟蹤圖的方法。
4. 設計模式的基本要素有哪些?
5. 什么是創(chuàng)建型設計模式,它的目的是什么?
四:綜合題(共15分)
1. 試舉一個例子并設計類適配器模式的UML結構圖。(7分)
2. 定義一個抽象的運動員(Player)基類,具有抽象方法Train方法。然后以該類為基類,派生出BasketballPlayer、FootballPlayer等類。(8分)

