軟考初級程序員---題目(六)


21
採用模2除法進行校驗碼計算的是( )。

CRC碼
ASCⅡ碼
BCD碼
海明碼

正確答案:A
答案解析:
CRC表示循環冗餘檢驗碼。
模2除法與算術除法類似,但每一位除的結果不影響其它位,即不向上一位借位,所以實際上就是異或。
在循環冗餘校驗碼(CRC)的計算中有應用到模2除法。


22
以下關於海明碼的敘述中,正確的是( )。

校驗位隨機分佈在數據位中
所有數據位之後緊跟所有校驗位
所有校驗位之後緊跟所有數據位
每個數據位由確定位置關係的校驗位來校驗

正確答案:D
答案解析:
海明碼通過在傳輸碼列中加入冗餘位(也稱糾錯位)可以實現前向糾錯。
但這種方法比簡單重傳協議的成本要高。
漢明碼利用奇偶塊機制降低了前向糾錯的成本。
其位置關係存在一個規律,即2^P≥P+D+1,其中P代表漢明碼的個數,D代表數據位的個數


23
計算機加電自檢後,引導程序首先裝入的是( ),否則,計算機不能做任何事情。

Office系列軟件
應用軟件
操作系統
編譯程序

正確答案:C
答案解析:
操作系統是在硬件之上,所有其他軟件之下,是其他軟件的共同環境與平臺。
操作系統的主要部分是頻繁用到的,因此是常駐內存的(Reside)。
計算機加電以後,首先引導操作系統。
不引導操作系統,計算機不能做任何事。


24
在Windows系統中,擴展名( )表示該文件是批處理文件。

com
sys
html
bat

正確答案:D
答案解析:
bat是批處理文件。
com爲DOS可執行命令文件;
sys爲系統文件;
html爲網頁文件。


25
當一個雙處理器的計算機系統中同時存在3個併發進程時,同一時刻允許佔用處理器的進程數( )。

至少爲2個
最多爲2個
至少爲3個
最多爲3個

正確答案:B
答案解析:
一個雙處理器的計算機系統中儘管同時存在3個併發進程,但同一時刻允許佔用處理器的進程數最多爲2個


26
假設系統有n(n≥5)個併發進程共享資源R,且資源R的可用數爲2。若採用PV操作,則相應的信號量S的取值範圍應爲( )。

-1~n-1
-5~2
-(n-1)~1
-(n-2)~2

正確答案:D
答案解析:
初始值資源數爲2,n個併發進程申請資源,信號量最大爲2,最小爲2-n


27
在磁盤移臂調度算法中,( )算法在返程時不響應進程訪問磁盤的請求。

先來先服務
電梯調度
單向掃描
最短尋道時間優先

正確答案:C
答案解析:
在操作系統中常用的磁盤調度算法有:先來先服務、最短尋道時間優先、掃描算法、循環掃描算法等。
移臂調度算法又叫磁盤調度算法,根本目的在於有效利用磁盤,保證磁盤的快速訪問。
1)先來先服務算法:該算法實際上不考慮訪問者要求訪問的物理位置,而只是考慮訪問者提出訪問請求的先後次序。
有可能隨時改變移動臂的方向。
2)最短尋找時間優先調度算法:從等待的訪問者中挑選尋找時間最短的那個請求執行,而不管訪問者的先後次序。
這也有可能隨時改變移動臂的方向。
3)電梯調度算法:從移動臂當前位置沿移動方向選擇最近的那個柱面的訪問者來執行,若該方向上無請求訪問時,就改變臂的移動方向再選擇。


28
適合開發設備驅動程序的編程語言是( )。

C/C++
Visual Basic
Python
Java

正確答案:A
答案解析:
彙編:和機器語言一樣有高效性,功能強大;編程很麻煩,難發現哪出現錯誤。
在運行效率要求非常高時內嵌彙編。
C:執行效率很高,能對硬件進行操作的高級語言;
不支持OOP。
適用於編操作系統,驅動程序;
C++:執行效率也高,支OOP,功能強大;難學。
適用於編大型應用軟件和遊戲。
C#:簡單,可網絡編程;
執行效率比上面的慢。
適用於快速開發應用軟件。
Java:易移植;
執行效率慢。
適用於網絡編程,手機等的開發


29
編譯和解釋是實現高級程序設計語言的兩種方式,其區別主要在於( )。

是否進行語法分析
是否生成中間代碼文件
是否進行語義分析
是否生成目標程序文件.

正確答案:D
答案解析:
在實現程序語言的編譯和解釋兩種方式中,編譯方式下會生成用戶源程序的目標代碼,而解釋方式下則不產生目標代碼。
目標代碼經鏈接後產生可執行代碼,可執行代碼可獨立加載運行,與源程序和編譯程序都不再相關。
而在解釋方式下,在解釋器的控制下執行源程序或其中間代碼,因此相對而言,用戶程序執行的速度更慢。


30
若程序中定義了三個函數f1、f2和f3,並且函數f1執行時會調用f2、函數f2執行時會調用f3,那麼正常情況下,( )。

f3執行結束後返回f2繼續執行,f2結束後返回f1繼續執行
f3執行結束後返回f1繼續執行,f1結束後返回f2繼續執行
f2執行結束後返回f3繼續執行,f3結束後返回f1繼續執行
f2執行結束後返回f1繼續執行,f1結束後返回f3繼續執行

正確答案:A
答案解析:
當程序語言允許嵌套調用函數時,應遵循先入後出的規則。
即函數fl調用f2、f2調用f3,應先從f3返回f2,然後從f2返回f1。


32
表示"以字符a開頭且僅由字符 a、b 構成的所有字符串"的正規式爲( )。

ab
(alb)a
a(alb)

(ab)*

正確答案:C
答案解析:


33
在單入口單出口的do…while循環結構( )。

循環體的執行次數等於循環條件的判斷次數
循環體的執行次數多於循環條件的判斷次數
循環體的執行次數少於循環條件的判斷次數
循環體的執行次數與循環條件的判斷次數無關

正確答案:A
答案解析:
do„„while爲先執行後判斷,執行次數和判斷次數相等


34
將源程序中多處使用的同一個常數定義爲常量並命名,( )。

提高了編譯效率
縮短了源程序長度
提高了源程序的可維護性
提高了程序的運行效率

正確答案:C
答案解析:
編寫源程序時,將程序中多處引用的常數定義爲一個符號常量可以簡化對此常數的修改操作(只需改一次),並提高程序的可讀性,以便於理解和維護。


35
遞歸函數執行時,需要( )來提供支持。


隊列
有向圖
二叉樹

正確答案:A
答案解析:
在遞歸調用中,需要在前期存儲某些數據,並在後面又以存儲的逆序恢復這些數據,以提供之後使用的需求,因此,需要用到棧來實現遞歸。
簡單的說,就是在前行階段,對於每一層遞歸,函數的局部變量、參數值以及返回地址都被壓入棧中。
在退回階段,位於棧頂的局部變量、參數值和返回地址被彈出,用於返回調用層次中執行代碼的其餘部分,也就是恢復了調用的狀態


37
對於初始爲空的棧S,入棧序列爲a、b、c、d,且每個元素進棧、出棧各1次。若出棧的第一元素爲d,則合法的出棧序列爲( )。

d c b a
d a b c
d c a b
d b c a

正確答案:A
答案解析:


38
對關鍵碼序列(9,12,15,20,24,29,56,69,87)進行二分查找(折半查找),若要查找關鍵碼15;則需依次與( )進行比較。

87、29、15
9、12、15
24、12、15
24、20、15

正確答案:C
答案解析:
二分法查找(折半查找)的基本思想是:(設R[low,„,high]是當前的查找區)
(1)確定該區間的中點位置:mid=[(low+high)/2];
(2)將待查的k值與R[mid].key比較,若相等,則查找成功並返回此位置,否則需確定新的查找區間,繼續二分查找,具體方法如下。
若R[mid].key>k,則由表的有序性可知R[mid,„,n].key均大於k,因此若表中存在關鍵字等於k的結點,則該結點必定是在位置mid左邊的子表R[low,„,mid–1]
中。
因此,新的查找區間是左子表R[low,„,high],其中high=mid–1。
若R[mid].key<k,則要查找的k必在mid的右子表R[mid+1,„,high]中,即新的查找區間是右子表R[low,„,high],其中low=mid+1。
若R[mid].key=k,則查找成功,算法結束。
(3)下一次查找是針對新的查找區間進行,重複步驟(1)和(2)。
(4)在查找過程中,low逐步增加,而high逐步減少。如果high<low,則查找失敗,算法結束


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章