題目:
已知寄存器A存有帶符號整數且只作算術移位, HA和LA分別代表其最高位和最低位。寄存器B存有帶符號整數且只作邏輯移位, HB和LB分別代表其最高位和最低位。當寄存器A與B都有左移位發生時, 下述哪一個命題是正確的?
和LB均成為0
與LB均成為1
變為0, 但LB保持原值
保持原值, 但LB的.值改變
參考答案:A
本題評析:
算術移位時,符號位(最高位)保持不變;而邏輯移位時,空出的位簡單補0。所以當有左移位發生時,不管是算術左移還是邏輯左移,其最低位總是0;當然,我們還知道的是:算術左移的最高位(符號位)保持不變。所以本題答案為A。
題面:
下述哪一種情況稱為指令週期?
A.取指令時間
B.取操作數時間
C.取指令和執行指令的時間
D.存儲操作結果的時間
參考答案:C
本題評析:
指令週期包括讀取指令和執行指令兩個時期。取操作數時間和存儲操作結果的時間不屬於指令週期。
題目:
已知數據文件中存有200個四位數, 並已調用讀函數 readDat()把這些數存入數組a中,請考生編制一函數jsVal(),其功能是:從數組a的頭開始,依次取每20個數中的最大值組成一個數, 這樣可以獲得10個新數並存入數組b中,接着把數組b中的數按從小到大的順序重新存入數組b中。最後main()函數調用寫函 數writeDat()把結果b輸出到文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定義: a[200]、b[10]
請勿改動數據文件中的任何數據、主函數main()、讀函數readDat()和寫函數writeDat()的內容。