公共部分(50分)
1:從資源管理(分配)的角度出發(fā),I/O設(shè)備可分為______ _、 _______和_ _ _____三種類型。獨享,共享,虛擬 (順序可交換) (6分)
2:文件的物理組織有順序、 _______和索引。鏈接(2分)
3:進(jìn)程從運行狀態(tài)進(jìn)入就緒狀態(tài)的原因可能是___ D ____。(4分)
A.被選中占有處理機
B.等待某一事件
C.等待的事件已發(fā)生
D.時間片用完
4:作業(yè)調(diào)度程序從處于___ D ____狀態(tài)的隊列中選擇適當(dāng)?shù)淖鳂I(yè)投入運行。(4分)
A.運行 B.提交 C.完成 D.后備
5:按照瀑布模型的階段劃分,軟件測試可以分為單元測試,集成測試,系統(tǒng)測試。請問以下哪項測試不屬于系統(tǒng)測試的內(nèi)容( B )(4分)
1. 壓力測試
2. 接口測試
3. 功能測試
4. 安全測試
5. 性能測試
6:測試用例的設(shè)計是測試的重要階段。系統(tǒng)測試用例設(shè)計應(yīng)該從什么時候開始(A)(4分)
1. 需求完成
2. 詳細(xì)設(shè)計完成
3. 編碼完成
4. 系統(tǒng)集成完畢,提交系統(tǒng)測試
7:在UML方法中,使用多種類型的圖形來幫助進(jìn)行設(shè)計,請問以下哪些圖形不是UML的圖形類型( B )(4分)
1. 類圖
2. 實體關(guān)系圖
3. 序列圖
4. 活動圖
8:解釋文件系統(tǒng)為什么會存在數(shù)據(jù)冗余?這種數(shù)據(jù)冗余會導(dǎo)致哪兩類典型的問題?
(10分)
由于文件系統(tǒng)難于實現(xiàn)數(shù)據(jù)共享,因此,相同的數(shù)據(jù)可能會在多個文件中重復(fù)出現(xiàn),即產(chǎn)生數(shù)據(jù)冗余。(6分)
數(shù)據(jù)冗余會導(dǎo)致數(shù)據(jù)(或更新)異常(2分)和數(shù)據(jù)不一致性(2分)
9:簡述中斷裝置的主要職能。(12分)
中斷裝置的職能主要有三點:
1)檢查是否有中斷事件發(fā)生。(4分)
2)若有中斷發(fā)生,保護(hù)好被中斷進(jìn)程的斷點及現(xiàn)場信息,以便進(jìn)程在適當(dāng)時候能恢復(fù)駝行。(4分)
3)啟動操作系統(tǒng)的中斷處理程序。(4分)
C++部分(50分)
1. 使用操作符setw對數(shù)據(jù)進(jìn)行格式輸出時,需要包含( )文件。C(4分)
A iostream.h B fstream.h C iomanip.h D stdlib.h
1. 數(shù)組定義為”int a[4][5];”, 引用”*(a+1)+2″表示( )。B(4分)
A、a[1][0]+2 B、 a數(shù)組第1行第2列元素的地址
C、a[0][1]+2 D、 a數(shù)組第1行第2列元素的值
1. 以下結(jié)構(gòu)類型可用來構(gòu)造鏈表的是( )。B(4分)
A struct aa{ int a;int * b;}; B struct bb{ int a;bb * b;};
C struct cc{ int * a;cc b;}; D struct dd{ int * a;aa b;};
1. 設(shè)int f(int);和int g(int);是函數(shù)f和g的原形,以下將f作為語句調(diào)用的是( )。B(4分)
A g(f(3)) B f(g(3)) C g(f(3)+2) D p= f(g(3)+1)
5. 若類A和類B沒有繼承關(guān)系,對于函數(shù)void func(A&) ,請至少用兩種不同方法說明如何才能傳遞一個非常量的B類對象給func函數(shù)。(8分)
可在A類中定義一個構(gòu)造函數(shù):A(const B&); (4分)
或在B類中定義一個自動轉(zhuǎn)換函數(shù): operator A( ) const; (4分)
6. 請問以下程序?qū)⑤敵鍪裁唇Y(jié)果?(14分)
char *RetMemory(void)
{
char p[] = “hello world”;
return p;
}
void Test(void)
{
char *str = NULL;
str = RetMemory ();
printf(str);
}
可能是亂碼。
因為GetMemory返回的是指向“棧內(nèi)存”的指針,該指針的地址不是 NULL,但其原現(xiàn)的內(nèi)容已經(jīng)被清除,新內(nèi)容不可知。
7. static 有什么用途?(請說明三種)(12分)
(1)使得變量或?qū)ο蟮拇鎯π问阶兂伸o態(tài)存儲;(4分)
(2)它會把變量的可見范圍限制在編譯單元中,使它成為一個內(nèi)部連接;(4分)
(3)類中的static成員。(4分)
公共部分(40分)
1:操作系統(tǒng)的主要組成部分?(8分,每點2分)
進(jìn)程和線程的管理,存儲管理,設(shè)備管理,文件管理
2:Internet采用哪種網(wǎng)絡(luò)協(xié)議?該協(xié)議的主要層次結(jié)構(gòu)?(10分)
Internet采用TCP/IP協(xié)議(2分)
物理層,(2分)數(shù)據(jù)鏈路層,(2分)網(wǎng)絡(luò)層(IP) (2分),應(yīng)用層(2分)
3:解釋文件系統(tǒng)為什么會存在數(shù)據(jù)冗余?這種數(shù)據(jù)冗余會導(dǎo)致哪兩類典型的問題?(8分)
由于文件系統(tǒng)難于實現(xiàn)數(shù)據(jù)共享,因此,相同的數(shù)據(jù)可能會在多個文件中重復(fù)出現(xiàn),即產(chǎn)生數(shù)據(jù)冗余。(4分)
數(shù)據(jù)冗余會導(dǎo)致數(shù)據(jù)(或更新)異常(2分)和數(shù)據(jù)不一致性(2分)
4:簡述中斷裝置的主要職能。(6分)
中斷裝置的職能主要有三點:
1)檢查是否有中斷事件發(fā)生。(2分)
2)若有中斷發(fā)生,保護(hù)好被中斷進(jìn)程的斷點及現(xiàn)場信息,以便進(jìn)程在適當(dāng)時候能恢復(fù)運行。(2分)
3)啟動操作系統(tǒng)的中斷處理程序。(2分)
5:什么是虛擬設(shè)備?為什么在操作系統(tǒng)中引入虛擬設(shè)備?(8分)
虛擬設(shè)備是通過虛擬技術(shù)將一臺獨占設(shè)備變換為若干臺邏輯設(shè)備,供若干個用戶進(jìn)程同時使用,通常把這種經(jīng)過虛擬技術(shù)處理后的設(shè)備稱為虛擬設(shè)備。(4分)
在操作系統(tǒng)設(shè)備管理中,引入虛擬設(shè)備是為了克服獨占設(shè)備速度較慢、降低設(shè)備資源利用率的缺點,從而提高設(shè)備的利用率。(4分)
C++部分(60分)
1. 定義一個類模板與定義一個類函數(shù)模板的格式相同,必須以關(guān)鍵字_________開始。template(3分)
1. 16位計算機中整型占__________個字節(jié)存儲空間。2(3分)
3. 下列各種函數(shù)中,( )不是類的成員函數(shù)。C(4分)
A 構(gòu)造函數(shù) B 析構(gòu)函數(shù) C 友元函數(shù) D 拷貝構(gòu)造函數(shù)
4.假定DD為一個類,則執(zhí)行“DD a[10],*P”語句時,系統(tǒng)自動調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( )B(4分)
A、11 B、10 C、1 D、0
5.循環(huán)while(int i=0) i–;執(zhí)行次數(shù)是( )。A(4分)
A 0 B 1 C 5 D 無限
6.若類A和類B沒有繼承關(guān)系,對于函數(shù)void func(A&) ,請至少用兩種不同方法說明如何才能傳遞一個非常量的B類對象給func函數(shù)。(10分)
可在A類中定義一個構(gòu)造函數(shù):A(const B&); (5分)
或在B類中定義一個自動轉(zhuǎn)換函數(shù): operator A( ) const; (5分)
!7.static全局變量與普通的全局變量有什么區(qū)別?static局部變量和普通局部變量有什么區(qū)別?static函數(shù)與普通函數(shù)有什么區(qū)別?(20分)
static全局變量與普通全局變量的區(qū)別:前者在主函數(shù)之前就要被初始化,(2分)后者無要求。(2分)
static局部變量和普通局部變量的區(qū)別:static全句變量是所有函數(shù)共享的變量,在一個函數(shù)使用完它后它的值會保持到下一個函數(shù)來改變它(2分)。后者,本函數(shù)所聲明的局部變量在本函數(shù)運行完之后會被銷毀。(2分)
static函數(shù)與普通函數(shù)的區(qū)別:static的可以用類來訪問(就是不用初始化一個類就直接使用這個類的這個static方法);(2分)非static的只能通過對象來訪問(2分)。static的定義里不能用到類內(nèi)部非static變量值。(3分)static在循環(huán)中定義并賦值時,定義過程只進(jìn)行一次,而不是每個循環(huán)1次。(3分)
8.寫出此函數(shù)的功能(12分)
struct StrNode {
char name[15]; // 字符串域
StrNode * next; // 指針域
};
void QB(StrNode * & f ,int n) {
if (n==0) { f=NULL; return; }
f=new StrNode;
cin>>f->name;
StrNode * p=f;
while (–n) {
p=p->next=new StrNode;
cin>>p->name;
}
p->next=NULL;
}
建立一個具有n個結(jié)點的鏈表,每個結(jié)點的字符串值由鍵盤輸入,鏈表的表頭指針由引用變量f帶回。
公共部分(50分)
1:分時操作系統(tǒng)通常采用___ B ____策略為用戶服務(wù)。(4分)
A.可靠性和靈活性
B.時間片輪轉(zhuǎn)
C.短作業(yè)優(yōu)先
D.時間片加權(quán)分配
2:進(jìn)程從運行狀態(tài)進(jìn)入就緒狀態(tài)的原因可能是___ D ____。(4分)
A.被選中占有處理機
B.等待某一事件
C.等待的事件已發(fā)生
D.時間片用完
3:不能激活觸發(fā)器執(zhí)行的操作是:( D )(4分)
A.DELETE B.UPDATE C.INSERT D.SELECT
4:簡述中斷裝置的主要職能。(6分)
中斷裝置的職能主要有三點:
1)檢查是否有中斷事件發(fā)生。(2分)
2)若有中斷發(fā)生,保護(hù)好被中斷進(jìn)程的斷點及現(xiàn)場信息,以便進(jìn)程在適當(dāng)時候能恢復(fù)運行。(2分)
3)啟動操作系統(tǒng)的中斷處理程序。(2分)
5:面向連接和非連接的服務(wù)的特點是什么(8分)
面向連接的服務(wù),通信雙方在進(jìn)行通信之前,要事先在雙方之間建立起一個完整的可以彼此溝通的通道,在通信過程中,整個連接的情況一直可以被實時地監(jiān)控和管理。(4分)
而非連接的服務(wù),不需要預(yù)先建立起一個聯(lián)絡(luò)兩個通信節(jié)點的連接,需要通信的時候,發(fā)送節(jié)點就可以往“網(wǎng)絡(luò)”上送出信息,讓信息自主地在網(wǎng)絡(luò)上去傳,一般在傳輸?shù)倪^程中不再加以監(jiān)控。(4分)
6:請給出預(yù)防死鎖的若干方法(6分)