計算機(jī)二級考試選擇題題庫完整_第1頁
計算機(jī)二級考試選擇題題庫完整_第2頁
計算機(jī)二級考試選擇題題庫完整_第3頁
計算機(jī)二級考試選擇題題庫完整_第4頁
計算機(jī)二級考試選擇題題庫完整_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、. .PAGE41 / NUMPAGES42河南中啟教育培訓(xùn)中心2017全國計算機(jī)二級考試2017年選擇題集錦解析中啟教育教研室計算機(jī)二級考試選擇題題庫(1)算法的有窮性是指 A、算法程序的運行時間是有限的 B、算法程序所處理的數(shù)據(jù)量是有限的 C、算法程序的長度是有限的 D、算法只能被有限的用戶使用答案:A解析:算法的有窮性,是指算法必須能在有限的時間做完,即算法必須能在執(zhí)行有限個步驟之后終止。(2)下列敘述中正確的是 A、算法就是程序 B、設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計 C、設(shè)計算法時只需要考慮結(jié)果的可靠性 D、以上三種說法都不對答案:D解析:所謂算法是指解題方案的準(zhǔn)確而完整的描述。是一

2、組嚴(yán)謹(jǐn)?shù)囟x運算順序的規(guī)則,并且每一個規(guī)則都是有效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。算法不等于程序,也不等于計算方法。設(shè)計算法時不僅要考慮對數(shù)據(jù)對象的運算和操作,還要考慮算法的控制結(jié)構(gòu)。(3)算法的空間復(fù)雜度是指 A、算法在執(zhí)行過程中所需要的計算機(jī)存儲空間 B、算法所處理的數(shù)據(jù)量 C、算法程序中的語句或指令條數(shù) D、算法在執(zhí)行過程中所需要的臨時工作單元數(shù)答案:A解析:算法的空間復(fù)雜度是指執(zhí)行這個算法所需要的存空間。這個存空間包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的存儲空間以與算法執(zhí)行過程中所需要的額外空間。(4)算法的時間復(fù)雜度是指 A、算法的執(zhí)行時間 B、算法所處理的數(shù)據(jù)量 C

3、、算法程序中的語句或指令條數(shù) D、算法在執(zhí)行過程中所需要的基本運算次數(shù)答案:D解析:算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量。算法的工作量可以用算法在執(zhí)行過程中所需基本運算的執(zhí)行次數(shù)來度量。(5)下列敘述中正確的是 A、算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān) B、算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量 C、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的 D、算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)答案:B解析:算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量。算法的工作量用算法所執(zhí)行的基本運算的次數(shù)來度量,而算法所執(zhí)行的基本運算次數(shù)是問題規(guī)模的函數(shù);算法的空間復(fù)雜度一般是指執(zhí)行這

4、個算法所需要的存空間。算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。數(shù)據(jù)的邏輯結(jié)構(gòu)就是數(shù)據(jù)元素之間的邏輯關(guān)系,它是從邏輯上描述數(shù)據(jù)元素之間的關(guān)系,是獨立于計算機(jī)的;數(shù)據(jù)的存儲結(jié)構(gòu)是研究數(shù)據(jù)元素和數(shù)據(jù)元素之間的關(guān)系如何在計算機(jī)中表示,它們并非一一對應(yīng)。算法的執(zhí)行效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)。(6)下列敘述中正確的是 A、一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大 B、一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小 C、一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小 D、算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系答案:D解析:算法的復(fù)雜度主要包括時間復(fù)雜度和空間復(fù)雜度。算法的時間復(fù)雜度是

5、指執(zhí)行算法所需要的計算工作量,算法的工作量用算法所執(zhí)行的基本運算次數(shù)來度量,而算法所執(zhí)行的基本運算次數(shù)是問題規(guī)模的函數(shù),即算法的工作量=f(n),其中n是問題的規(guī)模;算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的存空間。一個算法所占用的存儲空間包括算法程序所占用的空間、輸入的初始數(shù)據(jù)所占的存儲空間以與算法執(zhí)行過程中所需要的額外空間。根據(jù)各自的定義可知,算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。(7)數(shù)據(jù)的存儲結(jié)構(gòu)是指 A、存儲在外存中的數(shù)據(jù) B、數(shù)據(jù)所占的存儲空間量 C、數(shù)據(jù)在計算機(jī)中的順序存儲方式 D、數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示答案:D解析:在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系

6、,即為數(shù)據(jù)的存儲結(jié)構(gòu)。(8)下列描述中正確的是 A、一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu) B、數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu) C、一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)不影響數(shù)據(jù)處理的效率 D、一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率答案:D解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系;數(shù)據(jù)的存儲結(jié)構(gòu)是在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系。數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示,一種邏輯結(jié)構(gòu)可以表示成多種存儲結(jié)構(gòu);而采用不同的存儲結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。(9)下列描述中正確的是 A、數(shù)

7、據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的 B、由于計算機(jī)存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu) C、程序設(shè)計語言中的數(shù)據(jù)一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu) D、以上三種說法都不對答案:D解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。一般來說,一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序、索引等。(10)下列敘述中正確的是 A、有一個以上根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu) B、只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu) C、循環(huán)鏈表是非線

8、性結(jié)構(gòu) D、雙向鏈表是非線性結(jié)構(gòu)答案:B解析:在數(shù)據(jù)結(jié)構(gòu)中,樹這類的數(shù)據(jù)結(jié)構(gòu)只有一個根結(jié)點,但它不是線性結(jié)構(gòu)。(11)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是 A、循環(huán)隊列 B、帶鏈隊列 C、二叉樹 D、帶鏈棧答案:C解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。循環(huán)隊列、帶鏈隊列和帶鏈棧都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。(12)下列描述中正確的是 A、線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu) B、棧與隊列是非線性結(jié)構(gòu) C、雙向鏈表是非線性結(jié)構(gòu) D、只有根結(jié)點的二叉樹是線性結(jié)構(gòu)答案:A解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的基本

9、單位稱為存儲結(jié)點,每個存儲結(jié)點包括數(shù)據(jù)域和指針域兩個組成部分。各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點的指針域來指示的,指向線性表中第一結(jié)點的指針HEAD稱為頭指針,當(dāng)HEAD=NULL時稱為空表。棧、隊列和雙向鏈表是線性結(jié)構(gòu),樹是一種簡單的非線性結(jié)構(gòu)。在樹這種數(shù)據(jù)結(jié)構(gòu)中,所有數(shù)據(jù)元素的關(guān)系具有明顯的層次特征。二叉樹是非線性結(jié)構(gòu)。線性結(jié)構(gòu)和非線性結(jié)構(gòu)是從數(shù)據(jù)的邏輯結(jié)構(gòu)角度來講的,與該數(shù)據(jù)結(jié)構(gòu)中有多少個元素沒有關(guān)系,即使是空的二叉樹也是非線性結(jié)構(gòu)。(13)下面敘述中正確的是 A、線性表是線性結(jié)構(gòu) B、棧與隊列是非線性結(jié)構(gòu) C、線性鏈表是非線性結(jié)構(gòu) D、二叉樹是線性結(jié)構(gòu)答案:A解析:線性表是最簡單的、

10、最常用的一種線性結(jié)構(gòu)。所謂線性鏈表指的是采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表。棧和隊列其實是一種特殊的線性表。樹是一種簡單的非線性結(jié)構(gòu),二叉樹是樹的一種。(14)下列關(guān)于棧的敘述正確的是 A、棧按“先進(jìn)先出”組織數(shù)據(jù) B、棧按“先進(jìn)后出”組織數(shù)據(jù) C、只能在棧底插入數(shù)據(jù) D、不能刪除數(shù)據(jù)答案:B解析:棧是限定在一端進(jìn)行插入和刪除的線性表,允許進(jìn)行插入和刪除元素的一端稱為棧頂,另一端稱為棧底。棧是按照“先進(jìn)后出”的原則組織數(shù)據(jù)的。(15)支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是 A、棧 B、樹 C、隊列 D、二叉樹答案:A解析:棧是一種限定在一端進(jìn)行插入與刪除的線性表。在主函數(shù)調(diào)用子函數(shù)時,要首先保存主函數(shù)當(dāng)前的狀態(tài),然

11、后轉(zhuǎn)去執(zhí)行子函數(shù),把子函數(shù)的運行結(jié)果返回到主函數(shù)調(diào)用子函數(shù)時的位置,主函數(shù)再接著往下執(zhí)行,這種過程符合棧的特點。所以一般采用棧式存儲方式。(16)下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是 A、循環(huán)隊列 B、棧 C、隊列 D、二叉樹答案:B解析:棧按照“先進(jìn)后出”(FILO)或“后進(jìn)先出”(LIFO)組織數(shù)據(jù);隊列是“先進(jìn)先出”(FIFO)或“后進(jìn)后出”(LILO)的線性表。(17)下列關(guān)于棧敘述正確的是 A、棧頂元素能最先被刪除 B、棧頂元素最后才能被刪除 C、棧底元素永遠(yuǎn)不能被刪除 D、以上三種說法都不對答案:A解析:棧是先進(jìn)后出的線性表,棧頂?shù)脑刈钕缺粍h除,棧底的元素最后被刪

12、除。(18)下列關(guān)于棧的敘述中,正確的是 A、棧底元素一定是最后入棧的元素 B、棧頂元素一定是最先入棧的元素 C、棧操作遵循先進(jìn)后出的原則 D、以上三種說法都不對答案:C解析:棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,必須按“后進(jìn)先出”的規(guī)則操作元素。(19)下列敘述中正確的是 A、在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化 B、在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化 C、在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化 D、上述三種說法都不對答案:C解析:在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧跟隊列不同,元素只

13、能在棧頂壓入或彈出,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化,遵循后進(jìn)先出的規(guī)則。(20)一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是 A、12345ABCDE B、EDCBA54321 C、ABCDE12345 D、54321EDCBA答案:B解析:棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。所以出棧順序是EDCBA54321。(21)一個棧的初始狀態(tài)為空?,F(xiàn)將元素1,2,3,A,B,C依次入棧,然后再依次出棧,則元素出棧的順序是 A、1,2,3,A,B,C B、C,B,A,1,2,3 C、C,B,A,3,2

14、,1 D、1,2,3,C,B,A答案:C解析:棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。所以出棧順序是CBA321。(22)下列關(guān)于棧的描述中錯誤的是 A、棧是先進(jìn)后出的線性表 B、棧只能順序存儲 C、棧具有記憶作用 D、對棧的插入與刪除操作中,不需要改變棧底指針答案:B解析:棧是限定在一端進(jìn)行插入與刪除的線性表。棧頂(top):插入數(shù)據(jù)(即入棧)的一端;棧底(bottom):不能入棧也不能出棧的一端。棧存儲數(shù)據(jù)的原則:“先進(jìn)后出”或“后進(jìn)先出”。棧的特性是具有記憶作用。(23)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是 A、隊列 B、棧 C、雙向鏈表 D、二叉樹答案:B解析:棧是限定

15、在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,也是最先被刪除的元素;棧底元素總是最先被插入的元素,也是最后才能被刪除的元素。即棧是按照“后進(jìn)先出”(Last In First Out,簡稱LIFO)或“先進(jìn)后出”(First In Last Out,簡稱FILO)的原則組織數(shù)據(jù)的。因此,棧也稱為“后進(jìn)先出表”或“先進(jìn)后出”表。(24)下列對隊列的描述中正確的是 A、隊列屬于非線性表 B、隊列按“先進(jìn)后出”原則組織數(shù)據(jù) C、隊列在隊尾刪除數(shù)據(jù) D、隊列按“先進(jìn)先出”原則組織數(shù)據(jù)答案:D解析:隊列(queue)是

16、指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表。允許插入的一端稱為隊尾;允許刪除的一端稱為隊頭。在隊列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除;反之,最后插入的元素將最后才能被刪除。因此,隊列又稱“先進(jìn)先出”或“后進(jìn)后出”的線性表。(25)下列敘述中正確的是 A、棧是一種先進(jìn)先出的線性表 B、隊列是一種后進(jìn)先出的線性表 C、棧與隊列都是非線性結(jié)構(gòu) D、以上三種說法都不對答案:D解析:棧是先進(jìn)后出的線性表,隊列是先進(jìn)先出的線性表,二者均為線性結(jié)構(gòu)。(26)下列敘述中正確的是 A、棧是“先進(jìn)先出”的線性表 B、隊列是“先進(jìn)后出”的線性表 C、循環(huán)隊列是非線性結(jié)構(gòu) D、D)有序線性表既可以采

17、用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)答案:D解析:本題主要考查了棧、隊列、循環(huán)隊列的概念,棧是先進(jìn)后出的線性表,隊列是先進(jìn)先出的線性表。根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。有序線性表既可以采用順序存儲結(jié)構(gòu),又可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。(27)下列關(guān)于棧的描述中正確的是 A、在棧中只能插入元素而不能刪除元素 B、在棧中只能刪除元素而不能插入元素 C、棧是特殊的線性表,只能在一端插入或刪除元素 D、棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素答案:C解析:棧是限定在一端進(jìn)行插入與刪除的線性表,在棧中,允許插入與刪除的一端稱

18、為棧頂,不允許插入與刪除的另一端稱為棧底。(28)下列敘述中正確的是 A、循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構(gòu) B、在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況 C、在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況 D、循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定答案:D解析:循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定的,元素的動態(tài)變化也是通過隊頭指針和隊尾指針來反映的。(29)對于循環(huán)隊列,下列敘述中正確的是 A、隊頭指針是固定不變的 B、隊頭指針一定大于隊尾指針 C、隊頭指針一定小于隊尾指針 D、隊頭指針可以大于隊尾指針,也可以

19、小于隊尾指針答案:D解析:所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置。循環(huán)隊列的主要操作是:入隊運算和退隊運算。每進(jìn)行一次入隊運算,隊尾指針就進(jìn)一。每進(jìn)行一次退隊運算,隊頭指針就進(jìn)一。當(dāng)rear或front等于隊列的長度加1時,就把rear或front值置為1。所以在循環(huán)隊列中,隊頭指針可以大于隊尾指針,也可以小于隊尾指針。(30)下列敘述中正確的是 A、循環(huán)隊列是隊列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu) B、循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu) C、循環(huán)隊列是

20、非線性結(jié)構(gòu) D、循環(huán)隊列是一種邏輯結(jié)構(gòu)答案:B解析:本題主要考查循環(huán)隊列的概念,循環(huán)隊列作為隊列的一種也應(yīng)該是線性結(jié)構(gòu)。隊列是一種邏輯結(jié)構(gòu),而循環(huán)隊列是一種順序存儲結(jié)構(gòu)的隊列。(31)設(shè)循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=15,rear=15,則循環(huán)隊列中的元素個數(shù)為 A、15 B、16 C、20 D、0或35答案:D解析:循環(huán)隊列的隊頭指針和尾指針都等于15,此循環(huán)隊列中元素的個數(shù)有兩種情況,第一種情況是隊頭指針和尾指針都是第一次到達(dá)15,此時元素個數(shù)為0;第二種情況是隊頭指針第一次到達(dá)15,而尾指針第二次到達(dá)1

21、5,此時元素個數(shù)為35。(32)在一個容量為15的循環(huán)隊列中,若頭指針front=6,尾指針rear=9,則循環(huán)隊列中的元素個數(shù)為 A、2 B、3 C、4 D、5答案:B解析:循環(huán)隊列中,rear表示尾指針,front表示頭指針,當(dāng)有元素入隊時,rear=rear+1,而元素出隊的時候,front=front+1,當(dāng)rear值大于front值時,隊列中的元素個數(shù)為rear-front,當(dāng)rear的值小于front時,列隊中的元素個數(shù)為rear-front+m(m表示隊列的容量)。(33)下列敘述中正確的是 A、棧是一種先進(jìn)先出的線性表 B、隊列是一種后進(jìn)先出的線性表 C、棧與隊列都是非線性結(jié)構(gòu)

22、 D、棧與隊列都是線性結(jié)構(gòu)答案:D解析:棧是先進(jìn)后出,隊列是先進(jìn)先出。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。(34)下列敘述中正確的是 A、棧是“先進(jìn)先出”的線性表 B、隊列是“先進(jìn)后出”的線性表 C、循環(huán)隊列是非線性結(jié)構(gòu) D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)答案:D解析:棧是“先進(jìn)后出”,隊列“是先進(jìn)先出”。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表稱之為線性鏈表。(35)下列與隊列結(jié)構(gòu)有關(guān)聯(lián)的是 A、函數(shù)的遞歸調(diào)用 B、數(shù)組元素的引用 C、多重循環(huán)的執(zhí)行 D、先到先服務(wù)的作業(yè)調(diào)度答案:D解

23、析:隊列中最先插入的元素將最先被刪除,最后插入的元素將最后被刪除。(36)下列敘述中正確的是 A、循環(huán)隊列中的元素個數(shù)隨隊頭指針與隊尾指針的變化而動態(tài)變化 B、循環(huán)隊列中的元素個數(shù)隨隊頭指針的變化而動態(tài)變化 C、循環(huán)隊列中的元素個數(shù)隨隊尾指針的變化而動態(tài)變化 D、循環(huán)隊列中的元素個數(shù)不會變化答案:A解析:所謂循環(huán)結(jié)構(gòu)就是將隊列存儲空間的最后一個位置繞到第一個位置上,形成邏輯上的環(huán)狀空間,循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置,因此,隊列中的元素數(shù)等于從隊頭指針front指向的后一個位置與隊尾指針rear指向位置之間的元素數(shù)量

24、。(37)下列關(guān)于線性鏈表的敘述中,正確的是 A、各數(shù)據(jù)結(jié)點的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致 B、各數(shù)據(jù)結(jié)點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù) C、進(jìn)行插入與刪除時,不需要移動表中的元素 D、以上都不正確答案:C解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。在鏈?zhǔn)酱鎯Y(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。(38)下列敘述中正確的是 A、線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間一般要少于順序存儲結(jié)構(gòu) B、線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)的存儲空間都是連續(xù)的 C、線性

25、表鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間可以是連續(xù)的,也可以是不連續(xù)的 D、以上都不正確答案:C解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯?。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈?zhǔn)酱鎯Φ姆绞街校瑢⒋鎯臻g的每一個存儲結(jié)點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。(39)下列敘述中正確的是 A、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是一樣的 B、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu) C、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu) D、

26、以上都不正確答案:B解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯?。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈?zhǔn)酱鎯Φ姆绞街校瑢⒋鎯臻g的每一個存儲結(jié)點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。(40)下列敘述中正確的是 A、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是一樣的 B、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu) C、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu) D、上述三種說法都不對答案:B解析:線性表的存儲分為順序存儲和鏈

27、式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的,各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。所以每個元素只存儲其值就可以了,而在鏈?zhǔn)酱鎯Φ姆绞街?,將存儲空間的每一個存儲結(jié)點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。(41)下列對于線性鏈表的描述中正確的是 A、存儲空間不一定連續(xù),且各元素的存儲順序是任意的 B、存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面 C、存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面 D、存儲空間必須連續(xù),且各元素的存儲順序是任意的

28、答案:A解析:一般來說,在線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中,各數(shù)據(jù)結(jié)點的存儲序號是不連續(xù)的,并且各結(jié)點在存儲空間中的位置關(guān)系與邏輯關(guān)系也不一致。在線性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點的指針域來指示的,指向線性表中第一個結(jié)點的指針head稱為頭指針,當(dāng)head=NULL(或0)時稱為空表。(42)下列敘述中正確的是 A、順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的 B、順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu) C、順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表 D、鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間答案:A解析:順序存儲方式主要用于線性的數(shù)據(jù)結(jié)

29、構(gòu),它把邏輯上相鄰的數(shù)據(jù)元素存儲在物理上相鄰的存儲單元里,結(jié)點之間的關(guān)系由存儲單元的鄰接關(guān)系來體現(xiàn)。而鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的。(43)下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是 A、二叉鏈表 B、循環(huán)鏈表 C、雙向鏈表 D、帶鏈的棧答案:A解析:二叉鏈表作為樹的存儲結(jié)構(gòu)。鏈表中結(jié)點的兩個鏈域分別指向該結(jié)點的第一個孩子結(jié)點和下一個兄弟結(jié)點。(44)下列敘述中正確的是 A、有一個以上根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu) B、只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu) C、循環(huán)鏈表是非線性結(jié)構(gòu) D、雙向鏈表是非線性結(jié)構(gòu)答案:B解析:在數(shù)據(jù)結(jié)構(gòu)中,樹這類的的數(shù)據(jù)結(jié)構(gòu)只有一個根結(jié)點,但它不是線性

30、結(jié)構(gòu)。(45)某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:該系統(tǒng)總體結(jié)構(gòu)圖的深度是 A、7 B、6 C、3 D、2答案:C解析:這個系統(tǒng)總體結(jié)構(gòu)圖是一棵樹結(jié)構(gòu),在樹結(jié)構(gòu)中,根結(jié)點在第1層,同一層上所有子結(jié)點都在下一層,由系統(tǒng)總體結(jié)構(gòu)圖可知,這棵樹共3層。在樹結(jié)構(gòu)中,樹的最大層次稱為樹的深度。所以這棵樹的深度為3。(46)下列關(guān)于二叉樹的敘述中,正確的是 A、葉子結(jié)點總是比度為2的結(jié)點少一個 B、葉子結(jié)點總是比度為2的結(jié)點多一個 C、葉子結(jié)點數(shù)是度為2的結(jié)點數(shù)的兩倍 D、度為2的結(jié)點數(shù)是度為1的結(jié)點數(shù)的兩倍答案:B解析:由二叉樹的性質(zhì)可以知道在二叉樹中葉子結(jié)點總是比度為2的結(jié)點多一個。(47)某二叉樹中有n個度

31、為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)為 A、n+1 B、n-1 C、2n D、n/2答案:A解析:在任意一棵二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。所以該二叉樹的葉子結(jié)點數(shù)等于n+1。(48)某二叉樹有5個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)是 A、10 B、8 C、6 D、4答案:C解析:根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。(49)一棵二叉樹共有25個結(jié)點,其中5個是葉子結(jié)點,則度為1的結(jié)點數(shù)為 A、16 B、10 C、6 D、4答案:A解析:根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)

32、點多一個,故此度為1的結(jié)點個數(shù)=總結(jié)點數(shù)-葉子節(jié)點數(shù)-度為2的節(jié)點數(shù)=25-5-4=16。(50)一棵二叉樹中共有80個葉子結(jié)點與70個度為1的結(jié)點,則該二叉樹中的總結(jié)點數(shù)為 A、219 B、229 C、230 D、231答案:B解析:根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個,故總結(jié)點數(shù)=葉子節(jié)點數(shù)+度為2的節(jié)點數(shù)+度為1的節(jié)點數(shù)=80+79+70=229。(51)一棵二叉樹中共有70個葉子結(jié)點與80個度為的結(jié)點,則該二叉樹中的總結(jié)點數(shù)為 A、219 B、221 C、229 D、231答案:A解析:在二叉樹中,葉子結(jié)點個數(shù)為n0,則度為2的結(jié)點數(shù)n2

33、= n0-1。本題中葉子結(jié)點的個數(shù)為70,所以度為2的結(jié)點個數(shù)為69,因而總結(jié)點數(shù)=葉子結(jié)點數(shù)+度為1的結(jié)點數(shù)+度為2 的結(jié)點數(shù)=70+80+69=219。(52)某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有1個,則該二叉樹的深度為(假設(shè)根結(jié)點在第1層) A、3 B、4 C、6 D、7答案:D解析:根據(jù)二叉樹的性質(zhì),度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。題目中的二叉樹的葉子結(jié)點為1,因此度為2的結(jié)點的數(shù)目為0,故該二叉樹為7層,每層只有一個結(jié)點。(53)某二叉樹共有12個結(jié)點,其中葉子結(jié)點只有1個。則該二叉樹的深度為(根結(jié)點在第1層) A、3 B、6 C、8 D、12答案:D解析:根據(jù)

34、二叉樹的性質(zhì),度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。題目中的二叉樹的葉子結(jié)點為1,因此度為2的結(jié)點的數(shù)目為0,故該二叉樹為12層,每層只有一個結(jié)點。(54)設(shè)樹T的深度為4,其中度為1,2,3,4的結(jié)點個數(shù)分別為4,2,1,1。則T中的葉子結(jié)點數(shù)為 A、8 B、7 C、6 D、5答案:B解析:深度為m二叉樹其總結(jié)點數(shù)為2m-1=24-1=15??偨Y(jié)點數(shù)減去度為1,2,3,4的結(jié)點個數(shù)就是葉子結(jié)點數(shù)。15-4-2-1-1=7。(55)設(shè)一棵完全二叉樹共有700個結(jié)點,則此二叉樹中的葉子結(jié)點數(shù)為 A、85 B、120 C、250 D、350答案:D解析: 具有n個結(jié)點的完全二叉樹的深

35、度為long2n+1,計算出該完全二叉樹的深度為10。 設(shè)度為0的結(jié)點(即葉子結(jié)點)為n0,度為1的結(jié)點為n1,度為2的結(jié)點為n2,總結(jié)點數(shù)為n,深度為k。n=n1+n2+n0,由于n0=n2+1則n2=n0-1,故n=n1+n0-1+n0=n1+2n0-1。由于完全二叉樹中度為1的結(jié)點數(shù)只有兩種可能:0或1。 假設(shè)度為1的結(jié)點數(shù)為0即滿二叉樹,根據(jù)滿二叉樹的定義,其2m-1個結(jié)點,根據(jù)以上計算所得的深度10來計算,應(yīng)有210-1=1024-1=1023個結(jié)點,顯然與題目中700個結(jié)點不符。因此,度為1的結(jié)點數(shù)必然為1。故n=n1+2n0-1=1+2n0-1=2n0,則n0=n/2=700/2

36、=350。(56)在深度為7的滿二叉樹中,葉子結(jié)點的個數(shù)為 A、32 B、31 C、64 D、63答案:C解析:所謂滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結(jié)點都有兩個子結(jié)點。也就是在滿二叉樹中,每一層上的結(jié)點數(shù)都是最大結(jié)點數(shù),即在滿二叉樹的第k層上有2k-1個結(jié)點,且深度為m的滿二叉樹有2m-1個結(jié)點。對于深度為7的滿二叉樹,葉子結(jié)點所在的是第7層,一共有27-1=64個葉子結(jié)點。全部結(jié)點共27-1=127個。(57)對下列二叉樹進(jìn)行前序遍歷的結(jié)果是 A、DYBEAFCZX B、YDEBFZXCA C、ABDYECFXZ D、ABCDEFXYZ答案:C解析:二叉樹前序遍歷的

37、簡單描述:若二叉樹為空,則結(jié)束返回;否則:訪問根結(jié)點;前序遍歷左子樹;前序遍歷右子樹??梢姡靶虮闅v二叉樹的過程是一個遞歸的過程。根據(jù)題目中給出的二叉樹的結(jié)構(gòu)可知前序遍歷的結(jié)果是ABDYECFXZ。(58)對如下二叉樹進(jìn)行后序遍歷的結(jié)果為 A、ABCDEF B、DBEAFC C、ABDECF D、DEBFCA答案:D解析:所謂后序遍歷是指在訪問根據(jù)結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根點。因此,后序遍歷二叉樹的過程也是一個遞歸過程。其簡單描述為:若二叉樹為空,則結(jié)束返回;否則,

38、先后序遍歷左子樹,然后后序遍歷右子樹,最后訪問根結(jié)點。對于后序遍歷,第一個訪問的結(jié)點一定是最左下的結(jié)點,最后一個訪問的結(jié)點一定是根結(jié)點,所以選項D)為正確答案。(59)對長度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為 A、log2n B、n/2 C、n D、n+1答案:C解析:在進(jìn)行順序查找過程中,如果被查的元素是線性表中的最后一個元素,或者被查元素根本不在線性表中,則為了查找這個元素需要與線性表中的所有元素進(jìn)行比較,這是順序查找的最壞情況,需要比較的次數(shù)為n次。(60)在長度為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為 A、63 B、64 C、6 D、7答案:B

39、解析:順序查找又稱順序搜索。順序查找一般是指在線性表中查找指定的元素,其基本方法是:從線性表的第一元素開始,依次將線性表中的元素與被查找的元素進(jìn)行比較,若相等則表示找到(即查找成功),若線性表中所有元素都與被查元素進(jìn)行了比較但都不相等,則表示線性表中沒有要找的元素(即查找失敗)。如果線性表中的第一個元素就是要查找的元素,則只需要做一次比較就查找成功;但如果要查找的元素是線性表中的最后一個元素,或者要查找元素不在線性表中,則需要與線性表中所有元素進(jìn)行比較,這是順序查找的最壞情況,比較次數(shù)為線性表的長度。(61)下列敘述中正確的是 A、對長度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n B

40、、對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為(n/2) C、對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為(log2n) D、對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為(nlog2n)答案:A解析:本題主要考查的知識點為查找技術(shù)。順序查找的使用情況:線性表為無序表;表采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。二分法查找只適用于順序存儲的有序表,并不適用于線性鏈表。(62)在長度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是 A、O(n) B、O(n2) C、O(log2n) D、O(nlog2n)答案:C解析:對于長度為n的有序線性表,在最壞情況下,二分法

41、查找只需比較log2n次,而順序查找需要比較n次。(63)下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是 A、順序存儲的有序線性表 B、線性鏈表 C、二叉鏈表 D、有序線性鏈表答案:A解析:二分法查找只適應(yīng)于順序存儲的有序表。有序表是指線性表中的元素按值非遞減排序(即從小到大,但允許相鄰元素值相等)的表。(64)冒泡排序在最壞情況下的比較次數(shù)是 A、n(n+1)/2 B、nlog2n C、n(n-1)/2 D、n/2答案:C解析:對n個結(jié)點的線性表采用冒泡排序,在最壞情況下,冒泡排序需要經(jīng)過 n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。(65)對長度為10的線

42、性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為 A、9 B、10 C、45 D、90答案:C解析:線性表的長度為n,最壞情況下冒泡排序需要比較的次數(shù)為n(n-1)/2。(66)對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是 A、冒泡排序為n/2 B、冒泡排序為n C、快速排序為n D、快速排序為n(n-1)/2答案:D解析:假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。(67)對長度為n的

43、線性表作快速排序,在最壞情況下,比較次數(shù)為 A、n B、n-1 C、n(n-1) D、n(n-1)/2答案:D解析:假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。(68)對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n1)/2的排序方法是 A、快速排序 B、冒泡排序 C、直接插入排序 D、堆排序答案:D解析:各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡

44、單插入排序n(n-1)/2、希爾排序O(n1.5)、簡單選擇排序n(n-1)/2、堆排序O(nlog2n)。(69)下列排序方法中,最壞情況下比較次數(shù)最少的是 A、冒泡排序 B、簡單選擇排序 C、直接插入排序 D、堆排序答案:D解析:冒泡排序、簡單選擇排序和直接插入排序法在最壞的情況下比較次數(shù)為:n(n-1)/2。而堆排序法在最壞的情況下需要比較的次數(shù)為O(nlog2n)。其中堆排序的比較次數(shù)最少。(70)下列敘述中正確的是 A、程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān) B、程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu) C、程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量 D、以上都不正確答案:A解析:影響程序執(zhí)行

45、效率的因素有很多,如數(shù)據(jù)的存儲結(jié)構(gòu)、程序處理的數(shù)據(jù)量、程序的算法等。順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)在數(shù)據(jù)插入和刪除操作上的效率就存在差別。其中,鏈?zhǔn)酱鎯Y(jié)構(gòu)的效率要高一些。(71)下列描述中,不符合良好程序設(shè)計風(fēng)格要求的是 A、程序的效率第一,清晰第二 B、程序的可讀性好 C、程序中要有必要的注釋 D、輸入數(shù)據(jù)前要有提示信息答案:A解析:一般來講,程序設(shè)計風(fēng)格是指編寫程序時所表現(xiàn)出的特點、習(xí)慣和邏輯思路。程序設(shè)計風(fēng)格總體而言應(yīng)該強(qiáng)調(diào)簡單和清晰,程序必須是可以理解的。著名的“清晰第一,效率第二”的論點已成為當(dāng)今主導(dǎo)的程序設(shè)計風(fēng)格。(72)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括 A、順序結(jié)構(gòu) B、GOTO跳

46、轉(zhuǎn) C、選擇(分支)結(jié)構(gòu) D、重復(fù)(循環(huán))結(jié)構(gòu)答案:B解析:結(jié)構(gòu)化程序的基本結(jié)構(gòu)有:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),沒有GOTO跳轉(zhuǎn)結(jié)構(gòu)。(73)下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是 A、可封裝 B、自頂向下 C、模塊化 D、逐步求精答案:A解析:結(jié)構(gòu)化設(shè)計方法的主要原則可以概括為自頂向下、逐步求精、模塊化、限制使用goto語句。(74)結(jié)構(gòu)化程序設(shè)計的基本原則不包括 A、多元性 B、自頂向下 C、模塊化 D、逐步求精答案:A解析:結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。(75)下列選項中不屬于結(jié)構(gòu)化程序設(shè)計方法的是 A、自頂

47、向下 B、逐步求精 C、模塊化 D、可復(fù)用答案:D解析:結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化,限制使用goto語句。自頂向下是指程序設(shè)計時應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。逐步求精是指對復(fù)雜問題應(yīng)設(shè)計一些子目標(biāo)過渡,逐步細(xì)化。模塊化是把程序要解決的總目標(biāo)先分解成分目標(biāo),再進(jìn)一步分解成具體的小目標(biāo),把每個小目標(biāo)稱為一個模塊??蓮?fù)用性是指軟件元素不加修改成稍加修改便可在不同的軟件開發(fā)過程中重復(fù)使用的性質(zhì)。軟件可復(fù)用性是軟件工程追求的目標(biāo)之一,是提高軟件生產(chǎn)效率的最主要方法,不屬于結(jié)構(gòu)化程序設(shè)計方法。(76)結(jié)構(gòu)化程序設(shè)計中,下面對goto語句使

48、用描述正確的是 A、禁止使用goto語句 B、使用goto語句程序效率高 C、應(yīng)避免濫用goto語句 D、goto語句確實一無是處答案:C解析:濫用goto語句確實有害,應(yīng)盡量避免;完全避免使用goto語句并非是明智的方法,有些地方使用goto語句會使程序流程更清楚、效率更高;爭論的焦點不應(yīng)該放在是否取消goto語句,而應(yīng)該放在用在什么程序結(jié)構(gòu)上。(77)下列選項中不符合良好程序設(shè)計風(fēng)格的是 A、源程序要文檔化 B、數(shù)據(jù)說明的次序要規(guī)化 C、避免濫用goto語句 D、模塊設(shè)計要保證高耦合、高聚答案:D解析:一般來講,程序設(shè)計風(fēng)格是指編寫程序時所表現(xiàn)出的特點、習(xí)慣和邏輯思路。程序設(shè)計風(fēng)格總體而言

49、應(yīng)該強(qiáng)調(diào)簡單和清晰,程序必須是可以理解的??梢哉J(rèn)為,著名的“清晰第一、效率第二”的論點已成為當(dāng)今主導(dǎo)的程序設(shè)計風(fēng)格。良好的程序設(shè)計風(fēng)格主要應(yīng)注重和考慮下列幾個因素:源程序文檔化,包括下列三個方面:A)符號的命名應(yīng)具有一定的含義;B)正確的注釋能夠幫助讀者理解程序;C)視覺組織,可以在程序中利用空格、空行、縮進(jìn)等技巧使程序?qū)哟吻逦?shù)據(jù)說明的方法,包括下列三個方面:A)數(shù)據(jù)說明的次序規(guī)化;B)說明語句中變量安排有序化;C)使用注釋來說明復(fù)雜數(shù)據(jù)的結(jié)構(gòu)。語句的結(jié)構(gòu)應(yīng)該簡單直接,不應(yīng)該為提高效率而把語句復(fù)雜化。輸入和輸出方式和風(fēng)格應(yīng)盡可能方便用戶的使用。(78)面向?qū)ο蠓椒ㄖ校^承是指 A、一組對象

50、所具有的相似性質(zhì) B、一個對象具有另一個對象的性質(zhì) C、各對象之間的共同性質(zhì) D、類之間共享屬性和操作的機(jī)制答案:D解析:面向?qū)ο蠓椒ㄖ校^承是使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。廣義地說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。(79)下列選項中屬于面向?qū)ο笤O(shè)計方法主要特征的是 A、繼承 B、自頂向下 C、模塊化 D、逐步求精答案:A解析:面向?qū)ο笤O(shè)計方法的主要特征有封裝性、繼承性和多態(tài)性。而結(jié)構(gòu)化程序設(shè)計方法的主要原則有自頂向下,逐步求精,模塊化,限制使用goto語句。(80)在面向?qū)ο蠓椒ㄖ?,不屬于“對象”基本特點的是 A、一致性 B、分類性 C、多態(tài)性 D、標(biāo)

51、識唯一性答案:A解析:對象具有如下特征:標(biāo)識惟一性、分類性、多態(tài)性、封裝性、模塊獨立性。(81)定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是 A、-369 B、369 C、0.369 D、整數(shù)集合1,2,3,4,5答案:B解析:UInt表示的是無符號整數(shù)類,所以它的每個實例都是一個無符號整數(shù),所以排除選項A)和選項C),選項D)是整數(shù)集合,所以也排除。(82)下面對對象概念描述正確的是 A、對象間的通信靠消息傳遞 B、對象是名字和方法的封裝體 C、任何對象必須有繼承性 D、對象的多態(tài)性是指一個對象有多個操作答案:A解析:對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?。操作描述了對象?zhí)行的功

52、能,通過消息傳遞,還可以為其他對象使用。操作過程是被封裝在對象中,用戶看不到,稱之為對象的封裝性。對象的多態(tài)性是指同一個操作可以是不同對象的行為。不是所有的對象都必須有繼承性。(83)在面向?qū)ο蠓椒ㄖ?,實現(xiàn)信息隱蔽是依靠 A、對象的繼承 B、對象的多態(tài) C、對象的封裝 D、對象的分類答案:C解析:對象的封裝性是指從外部看只能看到對象的外部特征,即只需知道數(shù)據(jù)的取值圍和可以對該數(shù)據(jù)施加的操作,而不需要知道數(shù)據(jù)的具體結(jié)構(gòu)以與實現(xiàn)操作的算法。對象的部,即處理能力的實行和部狀態(tài),對外是不可見的。從外面不能直接使用對象的處理能力,也不能直接修改其部狀態(tài),對象的部狀態(tài)只能由其自身改變。(84)下列選項中不

53、屬于面向?qū)ο蟪绦蛟O(shè)計特征的是 A、繼承性 B、多態(tài)性 C、類比性 D、封裝性答案:C解析:面向?qū)ο蟪绦蛟O(shè)計的三個主要特征是:封裝性、繼承性和多態(tài)性。封裝性即只需知道數(shù)據(jù)的取值圍和可以對該數(shù)據(jù)施加的操作,而無需知道數(shù)據(jù)的具體結(jié)構(gòu)以與實現(xiàn)操作的算法。繼承性是指使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。對象根據(jù)所接受的消息而做出動作,同樣的消息被不同的對象接受時可導(dǎo)致完全不同的行動,該現(xiàn)象稱為多態(tài)性。(85)構(gòu)成計算機(jī)軟件的是 A、源代碼 B、程序和數(shù)據(jù) C、程序和文檔 D、程序、數(shù)據(jù)與相關(guān)文檔答案:D解析:軟件由兩部分組成:一是機(jī)器可執(zhí)行的程序和數(shù)據(jù);二是機(jī)器不可執(zhí)行的,與軟件開發(fā)、運行、維護(hù)、

54、使用等有關(guān)的文檔。(86)軟件是指 A、程序 B、程序和文檔 C、算法加數(shù)據(jù)結(jié)構(gòu) D、程序、數(shù)據(jù)與相關(guān)文檔的完整集合答案:D解析:計算機(jī)軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)與相關(guān)文檔的完整集合。軟件由兩部分組成:一是機(jī)器可執(zhí)行的程序和數(shù)據(jù);二是機(jī)器不可執(zhí)行的,與軟件開發(fā)、運行、維護(hù)、使用等有關(guān)的文檔。(87)下列描述中正確的是 A、程序就是軟件 B、軟件開發(fā)不受計算機(jī)系統(tǒng)的限制 C、軟件既是邏輯實體,又是物理實體 D、軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合答案:D解析:計算機(jī)軟件與硬件是計算機(jī)系統(tǒng)中相互依存的兩部分。計算機(jī)軟件是包括程序、數(shù)據(jù)與相關(guān)文檔的完整集合。軟件由兩部分

55、組成:一部分是機(jī)器可執(zhí)行的程序和數(shù)據(jù);二是機(jī)器不可執(zhí)行的,與軟件開發(fā)、運行、維護(hù)、使用等有關(guān)的文檔。軟件具有以下六個特點:軟件是一種邏輯實體,而不是物理實體,具有抽象性。軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。軟件在運行、使用期間不存在磨損、老化問題。軟件的開發(fā)、運行對計算機(jī)系統(tǒng)具有依賴性,受計算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。軟件復(fù)雜性高,成本昂貴。軟件的開發(fā)涉與諸多社會因素。(88)軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是 A、學(xué)生成績管理系統(tǒng) B、C語言編譯程序 C、UNIX操作系統(tǒng) D、數(shù)據(jù)庫管理系統(tǒng)答案:A解析:學(xué)生成績管理系統(tǒng)為應(yīng)

56、用軟件。(89)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是 A、編譯程序 B、操作系統(tǒng) C、教務(wù)管理系統(tǒng) D、匯編程序答案:C解析:編譯程序和匯編程序?qū)儆谥诬浖?,操作系統(tǒng)屬于系統(tǒng)軟件,而教務(wù)管理系統(tǒng)屬于應(yīng)用軟件。(90)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是 A、編輯軟件 B、操作系統(tǒng) C、教務(wù)管理系統(tǒng) D、瀏覽器答案:B解析:軟件根據(jù)應(yīng)用目標(biāo)的不同,是多種多樣的。軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件。系統(tǒng)軟件是計算機(jī)管理自身資源,提高

57、計算機(jī)使用效率并為計算機(jī)用戶提供各種服務(wù)的軟件。支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護(hù)應(yīng)用軟件的工具軟件,還包括輔助管理人員控制開發(fā)進(jìn)程和項目管理的工具軟件。(91)下面描述中,不屬于軟件危機(jī)表現(xiàn)的是 A、軟件過程不規(guī) B、軟件開發(fā)生產(chǎn)率低 C、軟件質(zhì)量難以控制 D、軟件成本不斷提高答案:A解析:軟件危機(jī)主要表現(xiàn)在以下6個方面: 軟件需求的增長得不到滿足; 軟件開發(fā)成本和進(jìn)度無法控制; 軟件質(zhì)量難以保證; 軟件不可維護(hù)或維護(hù)程度非常低; 軟件的成本不斷提高; 軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。(92)下列關(guān)于軟件工程的描

58、述中正確的是 A、軟件工程只是解決軟件項目的管理問題 B、軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題 C、軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則 D、軟件工程只是解決軟件開發(fā)中的技術(shù)問題答案:C解析:軟件工程是建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實際機(jī)器上有效運行的可靠軟件的一系列方法。軟件工程主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則。(93)下面不屬于軟件工程的3個要素是 A、工具 B、過程 C、方法 D、環(huán)境答案:D解析:軟件工程的3個要素是工具、過程和方法。(94)下面不屬于軟件工程過程的4種基本活動 A、軟件規(guī)格說明 B、軟件開發(fā) C、軟件演進(jìn) D、

59、軟件測試答案:D解析:軟件工程過程的4種基本活動是:軟件規(guī)格說明、軟件開發(fā)、軟件確認(rèn)、軟件演進(jìn)。(95)軟件生命周期是指 A、軟件產(chǎn)品從提出、實現(xiàn)、使用維護(hù)到停止使用退役的過程 B、軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程 C、軟件的開發(fā)過程 D、軟件的運行維護(hù)過程答案:A解析:軟件生命周期是指軟件產(chǎn)品從提出、實現(xiàn)、使用、維護(hù)到停止使用、退役的過程。(96)軟件生命周期中的活動不包括 A、市場調(diào)研 B、需求分析 C、軟件測試 D、軟件維護(hù)答案:A解析:軟件的生命周期描述了軟件從產(chǎn)生到最終消亡的全過程,生命周期中的活動包括需求分析、軟件設(shè)計(分為概要設(shè)計和詳細(xì)設(shè)計)、軟件實現(xiàn)、軟件測試和軟件維

60、護(hù),不包括市場調(diào)研。(97)軟件生命周期可分為定義階段、開發(fā)階段和維護(hù)階段,下面不屬于開發(fā)階段任務(wù)的是 A、測試 B、設(shè)計 C、可行性研究 D、實現(xiàn)答案:C解析:軟件生命周期是指軟件產(chǎn)品從提出、實現(xiàn)、使用、維護(hù)到停止使用退役的過程。其中,定義階段包括可行性研究與計劃制定和需求分析。測試、概要設(shè)計、詳細(xì)設(shè)計和實現(xiàn)屬于開發(fā)階段。(98)下列選項中不屬于軟件生命周期開發(fā)階段任務(wù)的是 A、軟件測試 B、概要設(shè)計 C、軟件維護(hù) D、詳細(xì)設(shè)計答案:C解析:軟件生命周期是指軟件產(chǎn)品從提出、實現(xiàn)、使用、維護(hù)到停止使用退役的過程。開發(fā)階段包括概要設(shè)計、詳細(xì)設(shè)計、實現(xiàn)和測試4個階段。軟件維護(hù)屬于維護(hù)階段。(99)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論