49.以下對(duì)C語言函數(shù)的有關(guān)描述中,正確的是(54)
(54) A. 在C語言中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳遞給形參,形參的值不能傳遞給實(shí)參
B. C函數(shù)既可以嵌套定義,又可以遞歸調(diào)用
C. 函數(shù)必須有返回值,否則不能定義成函數(shù)
D. C程序中,有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中
參考答案:(54) A。
解析:C語言規(guī)定,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳遞給函數(shù)的形參。函數(shù)調(diào)用時(shí),形參從實(shí)參表達(dá)式得到初值,報(bào)參也是函數(shù)的一種局部變量,其值可以改變,但形參的值不能傳回給對(duì)應(yīng)的實(shí)參。當(dāng)函數(shù)設(shè)置非指針類型的形參時(shí),實(shí)參可以是同類型的一般表達(dá)式;當(dāng)函數(shù)設(shè)置指針類型的形參時(shí),對(duì)應(yīng)的實(shí)參也必須是同類型的指針表達(dá)式。所以敘述A是正確的。C語言雖可以遞歸調(diào)用,但同時(shí)規(guī)定,在函數(shù)內(nèi)不能再定義函數(shù),所以敘述B是錯(cuò)誤的。通常C函數(shù)會(huì)有返回值,但也可以沒有返回值。有許多情況,函數(shù)的執(zhí)行是完成某種預(yù)定的工作,并沒有返回值,所以敘述C是不正確的。在C程序中,如函數(shù)未指定是靜態(tài)的,則就是外部的,能讓別的文件中的函數(shù)調(diào)用。但函數(shù)要調(diào)用別的文件中的函數(shù),在調(diào)用代碼之前,需對(duì)它作說明,所以敘述D也是不正確的。正確的解答只有A。
50. 某軟件產(chǎn)品在應(yīng)用初期運(yùn)行在Windows 2000環(huán)境中,F(xiàn)因某種原因,該軟件需要在Linux環(huán)境中運(yùn)行,而且必須完成相同的功能。為適應(yīng)該需求,軟件本身需要進(jìn)行修改,而所需修改的工作量取決于該軟件的 (55) 。
(55) A.可復(fù)用性
B.可維護(hù)性
C.可移植性
D.可擴(kuò)充性
參考答案:(55)C。
解析:軟件的可復(fù)用性指軟件或軟件的部件能被再次用于其他應(yīng)用中的程度。軟件復(fù)用性取決于其模塊獨(dú)立性、通用性和數(shù)據(jù)共享性等。
軟件的可維護(hù)性是指一個(gè)軟件模塊是否容易修改、更新和擴(kuò)展,即在不影響系統(tǒng)其他部分的情況下修改現(xiàn)有系統(tǒng)功能中問題或缺陷的能力。
軟件的可移植性指將軟件系統(tǒng)從一個(gè)計(jì)算機(jī)系統(tǒng)或操作系統(tǒng)移植到另一種計(jì)算機(jī)系統(tǒng)或操作系統(tǒng)中運(yùn)行時(shí)所需工作量的大小。可移植性取決于系統(tǒng)中硬件設(shè)備的特征、軟件系統(tǒng)的特點(diǎn)和開發(fā)環(huán)境,以及系統(tǒng)分析與設(shè)計(jì)中關(guān)于通用性、軟件獨(dú)立性和可擴(kuò)充性等方面的考慮。
軟件的可擴(kuò)充性指軟件的體系結(jié)構(gòu)、數(shù)據(jù)設(shè)計(jì)和過程設(shè)計(jì)的可擴(kuò)充程度。可擴(kuò)充性影響著軟件的靈活性和可移植性。
由以上分析可知,該軟件產(chǎn)品從Windows 2000環(huán)境中遷移到Linux環(huán)境中運(yùn)行,為完成相同的功能,軟件本身需要進(jìn)行修改,而所需修改的工作量取決于該軟件產(chǎn)品的可移植性。
51. 進(jìn)程的五態(tài)模型包括運(yùn)行狀態(tài)、活躍就緒狀態(tài)、靜止就緒狀態(tài)、活躍阻塞狀態(tài)和靜止阻塞狀態(tài)。針對(duì)圖5的進(jìn)程五態(tài)模型,為了確保進(jìn)程調(diào)度的正常工作,(a)、(b)和(c)的狀態(tài)分別為 (56) 。
圖6 進(jìn)程的五態(tài)模型圖
(56) A.靜止就緒、靜止阻塞和活躍阻塞
B.靜止就緒、活躍阻塞和靜止阻塞
C.活躍阻塞、靜止就緒和靜止阻塞
D.活躍阻塞、靜止阻塞和靜止就緒
參考答案:(56)D。
解析:在多道程序系統(tǒng)中,進(jìn)程在處理器上交替運(yùn)行,在運(yùn)行、就緒和阻塞3種基本狀態(tài)之間不斷地發(fā)生變化。由于進(jìn)程的不斷創(chuàng)建,系統(tǒng)資源(特別是主存資源)已不能滿足進(jìn)程運(yùn)行的要求。此時(shí)就必須將某些進(jìn)程掛起,對(duì)換到磁盤鏡像區(qū),暫時(shí)不參與進(jìn)程調(diào)度,以平衡系統(tǒng)負(fù)載的目的。如果系統(tǒng)出現(xiàn)故障,或者是用戶調(diào)試程序,也可能需要將進(jìn)程掛起檢查問題。
在圖6具有掛起狀態(tài)的進(jìn)程狀態(tài)及其轉(zhuǎn)換圖中,活躍就緒是指進(jìn)程在主存并且可被調(diào)度的狀態(tài)。(1)空缺處各選項(xiàng)中,靜止就緒是指進(jìn)程被對(duì)換到輔存時(shí)的就緒狀態(tài),是不能被直接調(diào)度的狀態(tài),只有當(dāng)主存中沒有活躍就緒態(tài)進(jìn)程,或者是掛起態(tài)進(jìn)程具有更高的優(yōu)先級(jí),系統(tǒng)將把掛起就緒態(tài)進(jìn)程調(diào)回主存并轉(zhuǎn)換為活躍就緒。因此,圖6的(c)空缺處應(yīng)填入“靜止就緒”這一狀態(tài)。
活躍阻塞是指進(jìn)程在主存中。一旦等待的事件產(chǎn)生,便進(jìn)入活躍就緒狀態(tài)。因此,圖6的(a)空缺處應(yīng)填入“活躍阻塞”。
靜止阻塞是指進(jìn)程對(duì)換到輔存時(shí)的阻塞狀態(tài)。一旦等待的事件產(chǎn)生,便進(jìn)入靜止就緒狀態(tài)。故圖6的(b)空缺處應(yīng)填入“靜止阻塞”。
由以上分析可知,(56)空缺處的正確答案是選項(xiàng)D。
另外,對(duì)于一張完整的進(jìn)程五態(tài)模型圖,則需在圖3-4模型圖中增加一條從“運(yùn)行”態(tài)到“活躍阻塞”態(tài)的邊,其狀態(tài)轉(zhuǎn)換原因是“等待”事件(如I/O請(qǐng)求)發(fā)生,以及增加一條從“運(yùn)行”態(tài)到“靜止就緒”態(tài)的邊,其狀態(tài)轉(zhuǎn)換原因是“掛起”。
相關(guān)推薦:計(jì)算機(jī)軟考軟件設(shè)計(jì)師考試重點(diǎn)難點(diǎn):死鎖北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |