




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEPAGE1全國計算機《二級C語言》公共基礎(chǔ)知識考試題庫匯總(含答案)一、單選題1.下面關(guān)于算法的敘述中,正確的是()。A、算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B、算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止C、算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)D、算法所執(zhí)行的基本運算次數(shù)與問題的規(guī)模無關(guān)答案:B解析:A項錯誤,不同的數(shù)據(jù)存儲結(jié)構(gòu)有不同的數(shù)據(jù)讀取效率,會影響到算法的執(zhí)行;C項錯誤,算法的空間復(fù)雜度是對這個算法所需要的內(nèi)存空間的量度,包括:①算法程序所占的空間;②輸入的初始數(shù)據(jù)所占的存儲空間;③算法執(zhí)行中所需要的額外空間;D項錯誤,算法所執(zhí)行的基本運算次數(shù)與問題的規(guī)模有關(guān)。答案選擇B選項。2.設(shè)循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=15,rear=15,則循環(huán)隊列的元素個數(shù)為()。A、15B、16C、20D、0或35答案:D解析:在循環(huán)隊列中,front為隊首指針,指向隊首元素的前一個位置;rear為隊尾指針,指向隊尾元素。front=rear=15時,①循環(huán)隊列可能為空,隊首和隊尾指針都指向空元素,此時循環(huán)隊列的元素個數(shù)為0;②循環(huán)隊列可能為滿,此時循環(huán)隊列的元素個數(shù)為35。答案選擇D選項。3.對下二叉樹進行中序遍歷的結(jié)果是()。A、BCDEFGHB、ABDGEHCFC、GDBEHACFD、GDHEBFCA答案:C解析:二叉樹的中序遍歷過程:先中序遍歷左子樹,再訪問根結(jié)點,最后中序遍歷右子樹。答案選擇C選項。4.下列敘述中正確的是()。A、線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的B、線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)C、線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空問一般要少于順序存儲結(jié)構(gòu)D、線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空問與順序存儲結(jié)構(gòu)沒有任何關(guān)系答案:B解析:線性結(jié)構(gòu)常用存儲結(jié)構(gòu)為:①順序存儲結(jié)構(gòu),物理上連續(xù)存儲,空間位置隱含邏輯位置;②鏈式存儲結(jié)構(gòu),存儲上不連續(xù),通過指針相連。在鏈式存儲方式中,每個結(jié)點包含存放數(shù)據(jù)的數(shù)據(jù)域和存放指針的指針域。所以鏈式存儲結(jié)構(gòu)所需的存儲空間一般要多于順序存儲結(jié)構(gòu)。答案選擇B選項。5.下列關(guān)于線性鏈表的敘述中,正確的是()。A、各數(shù)據(jù)結(jié)點的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B、各數(shù)據(jù)結(jié)點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C、進行插入與刪除時,不需要移動表中的元素D、以上說法均不正確答案:C解析:線性表的鏈式存儲結(jié)構(gòu)稱為線性鏈表。線性鏈表的存儲空間可以不連續(xù),其存儲順序和邏輯順序也不一定一致。線性鏈表一般用結(jié)點描述:結(jié)點=數(shù)據(jù)域+指針域。進行插入和刪除時,只需改變指針的指向,而不需要移動表中元素。答案選擇C選項。6.算法的時間復(fù)雜度是指()。A、算法的執(zhí)行時間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的基本運算次數(shù)答案:D解析:算法的復(fù)雜度主要包括時間復(fù)雜度和空間復(fù)雜度。算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量,即基本運算次數(shù);算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。答案選擇D選項。7.一棵二叉樹共有25個結(jié)點,其中5個葉子結(jié)點,那么度為1的結(jié)點數(shù)為()。A、4B、6C、10D、16答案:D解析:根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個,所以度為2的結(jié)點數(shù)為4個,那么25-5-4=16即為度為1的結(jié)點數(shù)。答案選擇D選項。8.線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)相比,鏈式存儲結(jié)構(gòu)的優(yōu)點有()。A、節(jié)省存儲空間B、插入與刪除運算效率高C、便于查找D、排序時減少元素的比較次數(shù)答案:B解析:順序表可以隨機存取,元素間關(guān)系隱藏于存儲關(guān)系中,但插入與刪除操作需要移動大量元素,降低了效率;鏈表查找時需要沿鏈依次比較,效率低,為了表示元素間關(guān)系需要額外的指針域,但插入與刪除操作僅需改變指針,比順序表快。答案選擇B選項。9.算法的空間復(fù)雜度是指()。A、算法程序的長度B、算法程序中的指令條數(shù)C、算法程序所占的存儲空間D、算法執(zhí)行過程中所需要的存儲空間答案:D解析:算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的計算機存儲空間。包括算法程序所占空間,輸入的初始數(shù)據(jù)所占空間和執(zhí)行過程中所需要的額外空間。答案選擇D選項。10.下列敘述中錯誤的是()。A、算法的時間復(fù)雜度與算法所處理數(shù)據(jù)的存儲結(jié)構(gòu)有直接關(guān)系B、算法的空間復(fù)雜度與算法所處理數(shù)據(jù)的存儲結(jié)構(gòu)有直接關(guān)系C、算法的時間復(fù)雜度與空間復(fù)雜度有直接關(guān)系D、算法的時間復(fù)雜度與算法程序執(zhí)行的具體時間是不一致的答案:C解析:算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量。數(shù)據(jù)的存儲結(jié)構(gòu)直接決定數(shù)據(jù)輸入,因此會影響算法所執(zhí)行的基本運算次數(shù),A項正確;算法的空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間,其中包括輸入數(shù)據(jù)所占的存儲空間,B項正確;算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系,C項錯誤;算法程序執(zhí)行的具體時間受到所使用的計算機、程序設(shè)計語言以及算法實現(xiàn)過程中的許多細節(jié)影響,而算法的時間復(fù)雜度與這些因素?zé)o關(guān),所以算法的時間復(fù)雜度與算法程序執(zhí)行的具體時間是不一致的,D項正確。答案選擇C選項。11.下列敘述中正確的是()。A、帶鏈隊列的存儲空間可以不連續(xù),但隊頭指針必須大于隊尾指針B、帶鏈隊列的存儲空間可以不連續(xù),但隊頭指針必須小于隊尾指針C、帶鏈隊列的存儲空間可以不連續(xù),且隊頭指針可以大于也可以小于隊尾指針D、帶鏈隊列的存儲空間一定是不連續(xù)的答案:C解析:帶鏈的隊列就是用一個單鏈表來表示隊列,它既可以采用空間連續(xù)的順序存儲也可以采用空間不連續(xù)的鏈接存儲。在循環(huán)鏈隊中,隊頭指針可以大于也可以小于隊尾指針。答案選擇C選項。12.設(shè)有下列二叉樹:
對此二叉樹前序遍歷的結(jié)果為()。A、ZBTYCPXAB、ATBZXCYPC、ZBTACYXPD、ATBZXCPY答案:B解析:二叉樹的前序遍歷是指首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹,并且,在遍歷左右子樹時,上述規(guī)則同樣適用,故該二叉樹的前序遍歷結(jié)果為:ATBZXCYP。答案選擇B選項。13.設(shè)數(shù)據(jù)集合為D={1,3,5,7,9},D上的關(guān)系為R,下列數(shù)據(jù)結(jié)構(gòu)B=
(D,R)中為非線性結(jié)構(gòu)的是()。A、R={(5,1),(7,9),(1,7),(9,3)}B、R={(9,7),(1,3),(7,1),(3,5)}C、R={(1,9),(9,7),(7,5),(5,3)}D、R={(1,3),(3,5),(5,9),(7,3)}答案:D解析:A項中,5為根結(jié)點,線性表為51793。B項中,9為根結(jié)點,線性表為97135。C項中,1為根結(jié)點,線性表為19753。D項中,結(jié)點1與7都是根結(jié)點,屬于非線性結(jié)構(gòu),D項正確。答案選擇D選項。14.設(shè)二叉樹如下:
則前序遍歷為()。A、BDEGCFHB、DBGEAFHCC、DGEBHFCAD、ABCDEFGH答案:A解析:前序遍歷,即訪問根結(jié)點在訪問左子樹和訪問右子樹之前。根結(jié)點A最先訪問,在BDEG四個節(jié)點根結(jié)點前面訪問,CHF三個節(jié)點在根結(jié)點后面訪問,很容易排除BCD選項,答案選擇A選項。另外,可以復(fù)習(xí)一下三種遍歷方式的規(guī)則,本題中前序遍歷為ABDEGCFH,中序遍歷為DBGEAFHC,后序遍歷為DGEBHFCA。15.某二叉樹中有n個葉子結(jié)點,則該二叉樹中度為2的結(jié)點數(shù)為
()。A、n+1B、n-1C、2nD、n/2答案:B解析:任何一棵二叉樹的葉子結(jié)點總是比度為2的結(jié)點多一個。答案選擇B選項。16.棧和隊列的共同點是()。A、都是先進后出B、都是先進先出C、只允許在端點處插入和刪除元素D、沒有共同點答案:C解析:棧和隊列都是操作受限的線性表,只允許在端點處進行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進行插入或刪除操作,是一種“后進先出”的線性表;而隊列只允許在表的一端進行插入操作,在另一端進行刪除操作,是一種“先進先出”的線性表。答案選擇C選項。17.某二叉樹的前序序列為ABCDEFG,中序序列為DCBAEFG,則該二叉樹的后序序列為()。A、EFGDCBAB、DCBEFGAC、BCDGFEAD、CBGFEA答案:D解析:二叉樹的前序序列為ABCDEFG,A為根結(jié)點。中序序列為
DCBAEFG,可知DCB為左子樹結(jié)點,EFG為右子樹結(jié)點。依此類推,畫出該二叉樹,二叉樹的后序序列為DCBGFEA。答案選擇D選項。18.下列敘述中正確的是()。A、棧是“先進先出”的線性表B、隊列是“先進后出”的線性表C、循環(huán)隊列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈式存儲結(jié)構(gòu)答案:D解析:有序的線性表既可采用順序存儲結(jié)構(gòu),也可以采用鏈式存儲結(jié)構(gòu)。A項錯誤,棧是“先進后出”的線性表;B項錯誤,隊列是“先進先出”的線性表;C項錯誤,循環(huán)隊列是線性結(jié)構(gòu)的,有序的線性表既可采用順序存儲結(jié)構(gòu),也可采用鏈式存儲結(jié)構(gòu)。答案選擇D選項。19.某二叉樹中有n個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)為
()。A、n+1B、n-1C、2nD、n/2答案:A解析:在任意的二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個。所以本題中葉子結(jié)點數(shù)為n+1。答案選擇A選項。20.下列敘述中正確的是()。A、順序存儲結(jié)構(gòu)的存儲空間一定是連續(xù)的,鏈式存儲結(jié)構(gòu)的存儲空間不一定是連續(xù)的B、順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈式存儲結(jié)構(gòu)只針對非線性結(jié)構(gòu)C、順序存儲結(jié)構(gòu)能存儲有序表,鏈式存儲結(jié)構(gòu)不能存儲有序表D、鏈式存儲結(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間答案:A解析:A項正確,在順序存儲結(jié)構(gòu)中,所有元素所占的存儲空間是連續(xù)的,而在鏈式存儲結(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù)。BC兩項錯誤,線性表在計算機中的存放可以采用順序存儲結(jié)構(gòu),也可采用鏈式存儲結(jié)構(gòu),順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)都是既可用于線性結(jié)構(gòu),也可以用于非線性結(jié)構(gòu);D項錯誤,順序存儲時元素間的關(guān)系隱藏在物理結(jié)構(gòu)中,采用鏈式存儲結(jié)構(gòu)不僅要存儲元素的值,元素間的邏輯關(guān)系還需要通過附設(shè)的指針字段來表示,因此,鏈式存儲結(jié)構(gòu)需要更多的存儲空間。答案選擇A選項。21.對下列二叉樹進行前序遍歷的結(jié)果為()。A、BCDEFGHB、ABDGEHCFC、GDBEHACFD、GDHEBFCA答案:B解析:遍二叉樹的前序遍歷過程:先訪問根結(jié)點,再前序遍歷左子樹,最后前序遍歷右子樹。答案選擇B選項。22.下列敘述中正確的是()。A、一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)B、邏輯結(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ù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)。一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),采用不同的存儲結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。答案選擇D選項。23.下列隊列的描述中,正確的是()。A、隊列屬于非線性表B、隊列在隊尾刪除數(shù)據(jù)C、隊列按“先進后出”進行數(shù)據(jù)操作D、隊列按“先進先出”進行數(shù)據(jù)操作答案:D解析:隊列是操作受限的線性表:隊列只能在隊頭刪除元素,在隊尾插入元素,按照“先進先出”的原則組織數(shù)據(jù)。答案選擇D選項。24.一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出的順序是()。A、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBA答案:B解析:棧是按照“先進后出”的原則組織數(shù)據(jù)的,入棧的順序為12345ABCDE,則依次出棧的順序應(yīng)為其逆序,即EDCBA54321。答案選擇B選項。25.設(shè)數(shù)據(jù)元素的集合D={1,2,3,4,5},則滿足下列關(guān)系R的數(shù)據(jù)結(jié)構(gòu)中為線性結(jié)構(gòu)的是()。A、R={(1,2),(3,4),(5,1),(1,2)}B、R={(1,3),(4,1),(3,2),(5,4)}C、R={(1,2),(2,3),(4,5),(2,3)}D、R={(1,3),(2,4),(3,5),(1,2)}答案:B解析:一個非空的數(shù)據(jù)結(jié)構(gòu)如果滿足以下兩個條件:有且只有一個根結(jié)點;每一個結(jié)點最多有一個前件,也最多有一個后件,稱為線性結(jié)構(gòu)。不同時滿足以上兩個條件的數(shù)據(jù)結(jié)構(gòu)就稱為非線性結(jié)構(gòu)。A選項,5是1的前件,1是2的前件,3是4的前件,則關(guān)系R中含有兩個結(jié)構(gòu),即34和512,其中3和5均為根結(jié)點,故A項錯誤。B選項根結(jié)點為5,排列順序為54132,B選項正確。C選項有兩個根結(jié)點1和4,故錯誤。D選項有兩個根結(jié)點1和2,故錯誤。答案選擇B選項。26.設(shè)二叉樹如下:
則后序序列為()。A、BDEGCFHB、DBGEAFHCC、DGEBHFCAD、ABCDEFGH答案:C解析:后序遍歷,先訪問左子樹,再訪問右子樹,最后訪問根結(jié)點。法一:本題中,樹不為空,所以先后序遍歷左子樹,得DGEB,再后序遍歷右子樹,得HFC,最后訪問根結(jié)點。所以該二叉樹的后序序列為
DGEBHFCA。法二:由后序遍歷的過程知,樹的根結(jié)點一定是最后遍歷到,即A結(jié)點一定在遍歷序列的最后,答案選擇C選項。27.下列敘述中正確的是()。A、對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為nB、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(n/2)C、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(log2n)D、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(nlog2n)答案:A解析:對于順序查找,在最壞的情況下查找的是鏈表的最后一個元素,或者查找的元素不在表中,此時需要比較n次,A項正確。對分查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次,BCD三項錯誤。答案選擇A選項。28.下列描述中,正確的是()。A、線性鏈表是線性表的鏈式存儲結(jié)構(gòu)B、棧與隊列是非線性結(jié)構(gòu)C、雙向鏈表是非線性結(jié)構(gòu)D、只有根結(jié)點的二叉樹是線性結(jié)構(gòu)答案:A解析:線性結(jié)構(gòu)是指如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件:①有且只有一個根結(jié)點;②每個結(jié)點最多有一個前件,也最多有一個后件。B項錯誤,棧和隊列都是操作受限的線性表;C項錯誤,雙向鏈表是線性結(jié)構(gòu);D項錯誤,二叉樹中的結(jié)點后繼不唯一,屬于非線性結(jié)構(gòu)。
答案選擇A選項。29.待排序的關(guān)鍵碼序列為(15,20,9,30,67,65,45,90),要按關(guān)鍵碼值遞增的順序排序,采取簡單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個位置。A、2B、3C、4D、5答案:B解析:簡單選擇排序的算法可以描述為:將整個待排序序列分為有序和無序兩部分,初始時有序部分為空;每一趟排序時掃描無序序列,找到最小的元素,將它與無序序列的首元素交換位置,直到無序序列為空。所以第一趟排序后,將選出的最小元素9與15交換,15被放在第3個位置。答案選擇B選項。30.線性表常采用的兩種存儲結(jié)構(gòu)是()。A、散列方法和索引方式B、鏈表存儲結(jié)構(gòu)和數(shù)組C、順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)D、線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)答案:C解析:線性表常用的存儲結(jié)構(gòu)為:①順序存儲結(jié)構(gòu),物理上連續(xù)存儲,空間位置隱含邏輯位置;②鏈式存儲結(jié)構(gòu),各元素物理存儲上不連續(xù),通過指針相連。答案選擇C選項。31.算法時間復(fù)雜度的度量方法是()。A、算法程序的長度B、執(zhí)行算法所需要的基本運算次數(shù)C、執(zhí)行算法所需要的所有運算次數(shù)D、執(zhí)行算法所需要的時間答案:B解析:算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量,即算法所執(zhí)行的基本運算次數(shù)來度量的。答案選擇B選項。32.下列敘述中正確的是()。A、線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的B、線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)C、線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)D、線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)在存儲空間的需求上沒有可比性答案:B解析:線性結(jié)構(gòu)常用存儲結(jié)構(gòu)為:①順序存儲結(jié)構(gòu),物理上連續(xù)存儲,空間位置隱含邏輯位置;②鏈式存儲結(jié)構(gòu),存儲上不連續(xù),通過指針相連。在鏈式存儲方式中,每個結(jié)點包含存放數(shù)據(jù)的數(shù)據(jù)域和存放指針的指針域。所以鏈式存儲結(jié)構(gòu)所需的存儲空間一般要多于順序存儲結(jié)構(gòu)。答案選擇B選項。33.設(shè)棧的順序存儲空間為S(1:m),初始狀態(tài)為top=m+1。現(xiàn)經(jīng)過
一系列入棧與退棧運算后,top=20,則當(dāng)前棧中的元素個數(shù)為
()。A、30B、20C、m-19D、m-20答案:C解析:初始狀態(tài)為棧頂指針指向高地址,top=m+1,每次入棧top-1。那么當(dāng)?shù)趚個元素入棧時,top=m+1-x=20,解得x=m+1-20=m-19。答案選擇C選項。34.設(shè)某二叉樹的前序遍歷為ABC,中序遍歷為CBA,則該二叉樹的后序遍歷為()。A、BCAB、CBAC、ABCD、CAB答案:B解析:因為前序遍歷為ABC,所以A為根結(jié)點;因為中序遍歷為CBA,所以C和B均為左子樹結(jié)點,且B是C的父結(jié)點,由此可知整棵樹結(jié)點的關(guān)系,得后序遍歷為CBA。答案選擇B選項。35.下列二叉樹描述中,正確的是()。A、任何一棵二叉樹必須有一個度為2的結(jié)點B、二叉樹的度可以小于2C、非空二叉樹有0個或1個根結(jié)點D、至少有2個根結(jié)點答案:B解析:空樹度為0,斜二叉樹度為1,故A項錯誤,B項正確。空二叉樹沒有結(jié)點,非空二叉樹的定義中要求有且只有一個結(jié)點是該樹的根結(jié)點,故
C和D項錯誤。答案選擇B選項。36.堆排序最壞情況下的時間復(fù)雜度為()。A、O(n1.5)B、O(nlog2n)C、O(n(n-1)/2)D、O(log2n)答案:B解析:堆排序是指利用堆積樹這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計的一種排序算法,屬于選擇排序。在對長度為n的線性表排序時,最壞情況下,冒泡排序、快速排序、直接插入排序的時間復(fù)雜度均為O(n2),而堆排序時間復(fù)雜度為O(nlog2n),復(fù)雜度最小。答案選擇B選項。37.對有序線性表(23,29,34,55,60,70,78)用二分法查找值為60的元素時,需要比較次數(shù)為()。A、1B、2C、3D、4答案:C解析:二分法查找法不斷的將序列分為可能包含和必然不包含的兩部分,本題流程為:①將60與中間的元素55進行比較,60>55,所以60不可能在前4個元素中;②第二次將60與中間的元素70進行比較,60<70,所以60不可能在后2個元素中;③第三次將60與中間元素60比較,這時查找成功。答案選擇C選項。38.下列敘述中正確的是()。A、程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)B、程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)C、程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D、以上三種說法都不對答案:A解析:影響程序執(zhí)行效率的因素有很多,如算法,規(guī)模,運行環(huán)境等。計算機中的數(shù)據(jù)進行處理時,數(shù)據(jù)的存儲結(jié)構(gòu)對程序的執(zhí)行效率有很大的關(guān)系,例如,在有序存儲的表中查找某個數(shù)值比在無序存儲的表中查找的效率高很多。答案選擇A選項。39.下列敘述中正確的是()。A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的B、由于計算機存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C、程序設(shè)計語言中的數(shù)據(jù)一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D、以上三種說法都不對答案:D解析:A項錯誤,數(shù)據(jù)的邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間邏輯關(guān)系,與存儲的物理結(jié)構(gòu)并沒有一一對應(yīng)關(guān)系;B項錯誤,線性結(jié)構(gòu)和非線性結(jié)構(gòu)是關(guān)于邏輯結(jié)構(gòu)的兩種不同分類,存儲結(jié)構(gòu)上沒有線性和非線性之分;C項,利用數(shù)組也能處理非線性結(jié)構(gòu),比如用數(shù)組存儲二叉樹。答案選擇D選項。40.對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-
1)/2的排序方法是()。A、快速排序B、冒泡排序C、直接插入排序D、堆排序答案:D解析:在最壞情況下,冒泡排序、直接插入排序與簡單選擇排序法均需要比較n(n-1)/2次。希爾排序需要比較n1.5次,堆排序需要比較的次數(shù)最少,為nlog2n。答案選擇D選項。41.某二叉樹的前序序列為ABCD,中序序列為DCBA,則后序序列為()。A、BADCB、DCBAC、DABD、ABCD答案:B解析:由前序序列ABCD得A為根結(jié)點,又因為中序序列為DCBA,所以DCB是A的左子樹。同理可得B是CD的根結(jié)點,DC是B的左子樹,C是D的根結(jié)點,所以可以確定二叉樹的形狀,得后序序列為DCBA。答案選擇B選項。42.在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數(shù)是()。A、O(n)B、O(n2)C、O(log2n)D、O(nlog2n)答案:C解析:二分查找的最壞情況是不斷的二分直至無法再分時,仍然沒有查找成功。對于有序的線性表,二分查找法只需比較log2n次。答案選擇C選項。43.下列敘述中正確的是()。A、結(jié)點中具有兩個指針域的鏈表一定是二叉鏈表B、結(jié)點中具有兩個指針域的鏈表可以是線性結(jié)構(gòu),也可以是非線性結(jié)構(gòu)C、二叉樹只能采用鏈式存儲結(jié)構(gòu)D、循環(huán)鏈表是非線性結(jié)構(gòu)答案:B解析:A項錯誤,具有兩個指針域的鏈表可能是雙向鏈表,也可能是二叉鏈表,其中雙向鏈表是線性結(jié)構(gòu),二叉樹為非線性結(jié)構(gòu);B項正確,如雙向鏈表是線性結(jié)構(gòu),二叉樹為非線性結(jié)構(gòu),兩者結(jié)點中均有兩個指針域;C項錯誤,二叉樹通常采用鏈式存儲結(jié)構(gòu),也可采用其他結(jié)構(gòu);D項錯誤,循環(huán)鏈表是線性結(jié)構(gòu),邏輯概念線性非線性與實際存儲結(jié)構(gòu)無關(guān)。答案選擇B選項。44.下列敘述中正確的是()。A、存儲空間連續(xù)的數(shù)據(jù)結(jié)構(gòu)一定是線性結(jié)構(gòu)B、存儲空間不連續(xù)的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu)C、沒有根結(jié)點的非空數(shù)據(jù)結(jié)構(gòu)一定是線性結(jié)構(gòu)D、具有兩個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu)答案:D解析:A項錯誤,數(shù)據(jù)結(jié)構(gòu)線性與否與存儲空間是否連續(xù)沒有直接關(guān)系,如二叉樹可以用一片連續(xù)的空間來存儲,但二叉樹為非線性結(jié)構(gòu);B項錯誤,線性表的鏈式存儲結(jié)構(gòu)可以用不連續(xù)的空間來存儲,但線性表為線性結(jié)構(gòu);C項錯誤,沒有根結(jié)點的非空數(shù)據(jù)結(jié)構(gòu)一定不是線性結(jié)構(gòu);D項正確,線性結(jié)構(gòu)有且只有一個根結(jié)點,具有兩個根結(jié)點的結(jié)構(gòu)一定是非線性結(jié)構(gòu)。答案選擇D選項。45.下列敘述中正確的是()。A、存儲空間不連續(xù)的所有鏈表一定是非線性結(jié)構(gòu)B、結(jié)點中有多個指針域的所有鏈表一定是非線性結(jié)構(gòu)C、能順序存儲的數(shù)據(jù)結(jié)構(gòu)一定是線性結(jié)構(gòu)D、帶鏈的棧與隊列是線性結(jié)構(gòu)答案:D解析:一個有且只有一個根結(jié)點;每一個結(jié)點最多有一個前件,也最多有一個后件的非空的數(shù)據(jù)結(jié)構(gòu)被稱為線性結(jié)構(gòu),棧和隊列是受限的線性表。A項錯誤,線性表采用鏈式存儲時空間不連續(xù);B項錯誤,雙向鏈表結(jié)點有兩個指針域,但它是線性結(jié)構(gòu);C項錯誤,二叉樹也可以采用順序存儲結(jié)構(gòu),樹是非線性結(jié)構(gòu)。答案選擇D選項。46.在一棵二叉樹中,葉子結(jié)點共有30個,度為1的結(jié)點共有40個,則該二叉樹中的總結(jié)點數(shù)共有()個。A、89B、93C、99D、100答案:C解析:對任何一棵二叉樹,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個。在該二叉樹中,度為2的結(jié)點有29個,所以葉子結(jié)點有30個,結(jié)點總數(shù)共
30+29+40=99。答案選擇C選項。47.下列敘述中正確的是()。A、每一個結(jié)點有兩個指針域的鏈表一定是非線性結(jié)構(gòu)B、所有結(jié)點的指針域都為非空的鏈表一定是非線性結(jié)構(gòu)C、循環(huán)鏈表是循環(huán)隊列的鏈式存儲結(jié)構(gòu)D、線性結(jié)構(gòu)的存儲結(jié)點也可以有多個指針答案:D解析:D項正確,雙向鏈表結(jié)點具有多個指針域。A項錯誤,雙向鏈表結(jié)點具有兩個指針域,屬于線性結(jié)構(gòu);B項錯誤,循環(huán)鏈表所有結(jié)點的指針域都為非空,屬于線性結(jié)構(gòu);C項錯誤,循環(huán)鏈表是鏈表,循環(huán)隊列屬于隊列,隊列只能在隊尾入隊,在隊頭出隊,鏈表可以在任何位置插入、刪除。答案選擇D選項。48.下列敘述中正確的是()。A、在棧中,棧中的元素隨棧底指針與棧頂指針的變化而動態(tài)變化B、在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化C、在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化D、上述三種說法都不對答案:C解析:棧中元素遵循“先進后出”的原則。入棧和出棧都是對棧頂指針操作,因此,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化。答案選擇C選項。49.下列排序方法中,最壞情況下比較次數(shù)最少的是()。A、冒泡排序B、簡單選擇排序C、直接插入排序D、堆排序答案:D解析:冒泡排序,簡單選擇排序和直接插入排序在最壞情況下的比較次數(shù)都是O(n2),而堆排序為O(nlog2n)。答案選擇D選項。50.算法應(yīng)當(dāng)具有的特性不包括()。A、可行性B、有窮性C、確定性D、美觀性答案:D解析:一個算法應(yīng)該具有以下五個重要的特征:有窮性,確定性,輸入(零個或多個),輸出(至少一個)以及可行性,不包括美觀性。答案選擇D選項。51.下列關(guān)于棧敘述正確的是()。A、棧頂元素最先能被刪除B、棧頂元素最后才能被刪除C、棧底元素永遠不能被刪除D、棧底元素最先能被刪除答案:A解析:棧是先進后出的數(shù)據(jù)結(jié)構(gòu),因此棧頂元素最后入棧卻最先被刪除,棧底元素最先入棧卻最后被刪除。答案選擇A選項。52.下列敘述中正確的是()。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)隊列是順序存儲的線性結(jié)構(gòu),是隊列常采用的形式,故A項錯誤。循環(huán)隊列中的元素是動態(tài)變化的:每一次入隊,隊尾指針就進一;每一次出隊,隊頭指針就進一,所以隊頭指針和隊尾指針一起反映了隊列中元素的動態(tài)變化情況,BC兩項錯誤。從隊頭指針指向的后一個位置與隊尾指針指向的位置之間的元素即為隊列中所有的元素,答案選擇D選項。53.冒泡排序在最壞情況下的比較次數(shù)是()。A、n(n+1)/2B、nlog2nC、n(n-1)/2D、n/2答案:C解析:對n個節(jié)點的線性表采用冒泡排序,冒泡排序的外循環(huán)最多執(zhí)行n-1遍。第一遍最多執(zhí)行n-1次比較,第二遍最多執(zhí)行n-2次比較,以此類推,第n-1遍最多執(zhí)行1次比較。因此,整個排序過程最多執(zhí)行n(n-1)/2次比較。答案選擇C選項。54.在深度為7的滿二叉樹中,度為2的結(jié)點個數(shù)為()。A、64B、63C、32D、31答案:B解析:根據(jù)滿二叉樹的性質(zhì)可得,除最后一層外,每一層上的所有結(jié)點都有兩個子結(jié)點,葉子結(jié)點總是比度為2的結(jié)點多一個,第7層上的葉子結(jié)點數(shù)最多為27-1=64個,所以度為2的結(jié)點個數(shù)為64-1=63。答案選擇B選項。55.下列與棧結(jié)構(gòu)有關(guān)聯(lián)的是()。A、數(shù)組的定義域使用B、操作系統(tǒng)的進程調(diào)度C、函數(shù)的遞歸調(diào)用D、選擇結(jié)構(gòu)的執(zhí)行答案:C解析:函數(shù)的遞歸調(diào)用是指函數(shù)調(diào)用函數(shù)本身,直到滿足特定條件時終止,然后從最后被遞歸調(diào)用處返回。遞歸函數(shù)是通過棧來實現(xiàn)的,所以調(diào)用原則和棧的實現(xiàn)相一致。所以遞歸函數(shù)是通過棧來實現(xiàn)的。答案選擇C選項。56.設(shè)有關(guān)鍵碼序列(66,13,51,76,81,26,57,69,23),要按關(guān)鍵碼值遞增的次序排序,若采用快速排序法,并以第一個元素為劃分的基準,那么第一趟劃分后的結(jié)果為()。A、23,13,51,57,66,26,81,69,76B、13,23,26,51,57,56,81,76,69C、23,13,51,57,26,66,81,69,76D、23,13,51,57,81,26,66,69,76答案:C解析:設(shè)要排序的序列是A[0]……A[8],設(shè)置兩個變量i、j,開始的時候:
I=0,j=8。
先從后向前遍歷,發(fā)現(xiàn)j=8時,指向23<66,需要交換A[0]與A[8],得到:(23,13,51,76,81,26,57,69,66),j=8,i=0,A[j]=66;然后從前往后遍歷,發(fā)現(xiàn)i=3時,指向76>66,需要交換A[3]與A[8],得到:(23,13,51,66,81,26,57,69,76),j=8,i=3;
第二次從后向前遍歷,發(fā)現(xiàn)j=6時,指向57<66,需要交換A[3]與
A[6],得到:(23,13,51,57,81,26,66,69,66),j=6,
I=3;第二次從前往后遍歷,發(fā)現(xiàn)i=4時,指向81>66,需要交換A[4]與A[6],得到:(23,13,51,57,66,26,81,69,66),j=4,i=6;
第三次從后向前遍歷,發(fā)現(xiàn)j=5時,A[5]=26<66、需要交換A[5]與A[6],得到:(23,13,51,57,26,66,81,69,66),j=5,i=5;第三次從前往后遍歷,A[5]=66,i+1=j,第一趟排序結(jié)束,即所求為(23,13,51,57,26,66,81,69,66),答案選擇C選項。57.以下描述中,不是線性表順序存儲結(jié)構(gòu)特征的是()。A、可隨機訪問B、需要連續(xù)的存儲空間C、不便于插入和刪除D、邏輯相鄰的數(shù)據(jù)物理位置上不相鄰答案:D解析:在計算機中用一組地址連續(xù)的存儲單元依次存儲線性表的各個數(shù)據(jù)元素稱為順序存儲,其中邏輯上相鄰的元素在物理位置上也相鄰。順序存儲結(jié)構(gòu)中可以隨機訪問元素,但插入和刪除需要移動大量數(shù)據(jù),耗費資源。答案選擇D選項。58.下列敘述中正確的是()。A、順序存儲結(jié)構(gòu)的存儲空間一定是連續(xù)的,鏈式存儲結(jié)構(gòu)的存儲空間不一定是連續(xù)的B、順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈式存儲結(jié)構(gòu)只針對非線性結(jié)構(gòu)C、順序存儲結(jié)構(gòu)能存儲有序表,鏈式存儲結(jié)構(gòu)不能存儲有序表D、鏈式存儲結(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間答案:A解析:A項正確,在順序存儲結(jié)構(gòu)中,所有元素所占的存儲空間是連續(xù)的,而在鏈式存儲結(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù)。BC兩項錯誤,線性表在計算機中的存放可以采用順序存儲結(jié)構(gòu),也可采用鏈式存儲結(jié)構(gòu),順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)都是既可用于線性結(jié)構(gòu),也可以用于非線性結(jié)構(gòu);D項錯誤,順序存儲時元素間的關(guān)系隱藏在物理結(jié)構(gòu)中,采用鏈式存儲結(jié)構(gòu)不僅要存儲元素的值,元素間的邏輯關(guān)系還需要通過附設(shè)的指針字段來表示,因此,鏈式存儲結(jié)構(gòu)需要更多的存儲空間。答案選擇A選項。59.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進后出”原則存取數(shù)據(jù)的是
()。A、循環(huán)隊列B、棧C、隊列D、二叉樹答案:B解析:棧和隊列都是操作受限的線性表:棧只能在棧頂插入和刪除元素,按照“先進后出”的原則組織數(shù)據(jù);隊列只能在隊頭刪除元素,在隊尾插入元素,按照“先進先出”的原則組織數(shù)據(jù)。B項,棧,按照“先進后出”的原則組織數(shù)據(jù)。A項,循環(huán)隊列是隊列的一種特殊形式,按照“先進先出”的原則組織數(shù)據(jù);C項,隊列,按照“先進先出”的原則組織數(shù)據(jù)。D項,二叉樹屬于非線性結(jié)構(gòu)。答案選擇B選項。60.下列關(guān)于棧和隊列的描述中,正確的是()。A、棧是先進先出B、隊列是先進后出C、隊列允許在隊尾刪除元素D、棧在棧頂刪除元素答案:D解析:線性表是由n個元素組成的一種線性結(jié)構(gòu),棧和隊列都是操作受限的線性表:棧只能在棧頂插入和刪除元素,按照“先進后出”的原則組織數(shù)
據(jù);隊列是指允許在一端進行插入、而在另一端進行刪除的線性表,按照“先進先出”的原則組織數(shù)據(jù)。答案選擇D選項。61.設(shè)循環(huán)隊列為Q(1:m),其初始狀態(tài)為front=rear=m。經(jīng)過一系
列入隊與退隊運算后,front=30,rear=10?,F(xiàn)要在該循環(huán)隊列中作順序查找,最壞情況下需要比較的次數(shù)為()。A、19B、20C、m-19D、m-20答案:C解析:循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu),用隊尾指針rear指向隊列中的隊尾元素,用隊首指針指向隊首元素的前一個位置,因此,從隊首指針front指向的后一個位置直到隊尾指針rear指向的位置之間所有的元素均為隊列中的元素,隊列初始狀態(tài)為front=rear=m,當(dāng)front=30,
Rear=10時,隊列中有m-30+10=m-20個元素,最壞情況下需要比較次數(shù)為m-19次。答案選擇D選項。62.設(shè)有棧S和隊列Q,初始狀態(tài)均為空。首先依次將A,B,C,D,
E,F(xiàn)入棧,然后從棧中退出三個元素依次入隊,再將X,Y,Z入棧后,將棧中所有元素退出并依次入隊,最后將隊列中所有元素退出,則退隊元素的順序為()。A、DEFXYZABCB、FEDZYXCBAC、FEDXYZCBAD、EFZYXABC答案:B解析:棧是所有的插入與刪除都在同一端進行的線性表。隊列是只允許在一端進行插入,而在另一端進行刪除的線性表。將A,B,C,D,E,F(xiàn)入棧后,棧中元素為ABCDEF,退出三個元素入隊,隊列元素為
FED,將X,Y,Z入棧后棧中元素為ABCXYZ,全部入隊后,隊列元素為FEDZYXCBA,隊列的出隊順序與入隊順序一致。答案選擇B選項。63.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是()。A、雙向鏈表B、循環(huán)鏈表C、二叉鏈表D、循環(huán)隊列答案:C解析:線性結(jié)構(gòu)要滿足兩個條件:①有且僅有一個根結(jié)點;②每個結(jié)點最多有一個前驅(qū),也最多有一個后繼。線性表、棧、隊列都是線性結(jié)構(gòu),循環(huán)鏈表和雙向鏈表是線性表的鏈式存儲結(jié)構(gòu),屬于線性結(jié)構(gòu),只是存儲結(jié)構(gòu)不連續(xù);循環(huán)隊列是一個頭結(jié)點和尾結(jié)點互為前驅(qū)結(jié)點和后繼結(jié)點的特殊的隊列,屬于線性結(jié)構(gòu);二叉鏈表是二叉樹的鏈式存儲結(jié)構(gòu),因為二叉樹有些結(jié)點有兩個后繼結(jié)點,不符合線性結(jié)構(gòu)的定義,所以二叉鏈表是非線性結(jié)構(gòu)。答案選擇C選項。64.下列關(guān)于棧的敘述正確的是()。A、棧按“先進先出”組織數(shù)據(jù)B、棧按“先進后出”組織數(shù)據(jù)C、只能在棧底插入數(shù)據(jù)D、不能刪除數(shù)據(jù)答案:B解析:棧是只允許在棧頂進行插入和刪除運算的線性表,按“先進后出”組織數(shù)據(jù)。答案選擇B選項。65.設(shè)有關(guān)鍵碼序列(Q,G,M,Z,A,N,B,P,X,H,Y,
S,T,L,K,E),采用堆排序法進行排序,經(jīng)過初始建堆后關(guān)鍵碼值B在序列中的序號是()。A、1B、3C、7D、9答案:B解析:堆排序是一種選擇排序的算法,首先將要排序的所有關(guān)鍵碼放到一棵完全二叉樹的各個結(jié)點中(這時的二叉樹不具備堆的特性),然后,從i=[n/2](n為結(jié)點的個數(shù))的結(jié)點Ki開始,逐步把以K[n/2],K[n/2]-1,K[n/2]-2,…為根的子樹排成堆,直到以K1為根的樹排成堆,就完成了建堆過程。此題中,n=16,i=[16/2]=8,即從第8個結(jié)點開始。建堆完成后,如下圖所示:
關(guān)鍵碼值B在序列中的序號是3。答案選擇B選項。66.下列關(guān)于二叉樹的敘述中,正確的是()。A、葉子結(jié)點總是比度為2的結(jié)點少一個B、葉子結(jié)點總是比度為2的結(jié)點多一個C、葉子結(jié)點數(shù)是度為2的結(jié)點數(shù)的兩倍D、度為2的結(jié)點數(shù)是度為1的結(jié)點數(shù)的兩倍答案:B解析:根據(jù)二叉樹的基本性質(zhì),在任意一棵二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。答案選擇B選項。67.在最壞情況下()。A、快速排序的時間復(fù)雜度比冒泡排序的時間復(fù)雜度要小B、快速排序的時間復(fù)雜度比希爾排序的時間復(fù)雜度要小C、希爾排序的時間復(fù)雜度比直接插入排序的時間復(fù)雜度要小D、快速排序的時間復(fù)雜度與希爾排序的時間復(fù)雜度是一樣的答案:C解析:快速排序與冒泡排序的時間復(fù)雜度均為O(n2),A項錯誤;快速排序比希爾排序的時間復(fù)雜度要大(O(2)>O(n1.5)),B、D項錯誤;希爾排序的時間復(fù)雜度比直接插入排序的時間復(fù)雜度要小
(O(n1.5)<O(n2)),C項正確。答案選擇C選項。68.算法的有窮性是指()。A、算法程序的運行時間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長度是有限的D、算法只能被有限的用戶使用答案:A解析:算法設(shè)計有窮性要求操作步驟有限且必須在有限時間內(nèi)完成,耗費太長時間得到的正確結(jié)果是沒有意義的。答案選擇A選項。69.某二叉樹中有15個度為1的結(jié)點,16個度為2的結(jié)點,則該二叉樹中總的結(jié)點數(shù)為()。A、32B、46C、48D、49答案:C解析:在樹結(jié)構(gòu)中,一個結(jié)點所擁有的后繼個數(shù)稱為該結(jié)點的度。由二叉樹的基本性質(zhì)可得,對于任何的二叉樹,葉子結(jié)點總是比度為2的結(jié)點多一個。因為度為2的結(jié)點有16個,所以葉子結(jié)點個數(shù)為17,因此結(jié)點總數(shù)為16+17+15=48。答案選擇C選項。70.下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是()。A、二叉鏈表B、循環(huán)鏈表C、雙向鏈表D、帶鏈的棧答案:A解析:一個非空的數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)需要滿足兩個條件:①有且只有一個根結(jié)點;②每一個結(jié)點最多有一個前件,也最多有一個后件。不是線性結(jié)構(gòu)的就是非線性結(jié)構(gòu)。二叉鏈表是二叉樹的存儲結(jié)構(gòu),每個結(jié)點都可以有兩個后繼結(jié)點,是非線性結(jié)構(gòu)。BCD三項均滿足線性結(jié)構(gòu)的要求。答案選擇A選項。71.某二叉樹共有845個結(jié)點,其中葉子結(jié)點有45個,則度為1的結(jié)點數(shù)為()。A、400B、754C、756D、不確定答案:C解析:在二叉樹中,度為0的結(jié)點總是比度為2的結(jié)點多一個,那么,結(jié)點共有845個,度為0的結(jié)點有45個,度為2的結(jié)點數(shù)有44個,所以度為1的結(jié)點數(shù)有756個。答案選擇C選項。72.下列敘述中正確的是()。A、在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化B、在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化C、在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化D、在棧中,棧中元素不會隨棧底指針與棧頂指針的變化而動態(tài)變化答案:C解析:棧中元素遵循“先進后出”的原則。入棧和出棧都是對棧頂指針操作,因此,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化。答案選擇C選項。73.二叉樹的中序序列為BDCA,后序序列為DCBA,則前序序列為
()。A、DCBAB、DCAC、ABCDD、BADC答案:C解析:本題中中序序列為BDCA,后序序列為DCBA,可知A為根節(jié)點,BDC為左側(cè)節(jié)點,C是B右子節(jié)點,D是C左子節(jié)點,故前序序列為ABCD,答案選擇C選項。74.某二叉樹有5個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)是
()。A、10B、8C、6D、4答案:C解析:由二叉樹的性質(zhì)可知,對于任何一棵二叉樹,其終端結(jié)點(葉子結(jié)
點)數(shù)等于度為2的結(jié)點數(shù)加1。所以該二叉樹的葉子結(jié)點數(shù)為
5+1=6。答案選擇C選項。75.某系統(tǒng)總體結(jié)構(gòu)如下圖所示:
該系統(tǒng)總體結(jié)構(gòu)圖的深度是()。A、7B、6C、3D、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)中,樹的最大層次稱為樹的深度,故該系統(tǒng)的深度為3。
答案選擇C選項。76.如果進棧序列為A,B,C,D,則可能的出棧序列是()。A、C,A,D,BB、,D,C,AC、,D,A,BD、,B,C,A答案:B解析:棧按后進先出的原則組織數(shù)據(jù)。B項,當(dāng)棧的操作順序為“A進,B進,
B出,C進,D進,D出,C出,A出”可以實現(xiàn)。A項,C首先出棧,棧中肯定有A和B,如果接下來A、B有元素要出棧,只能是B,故A選項錯誤;C項,C首先出棧,棧中肯定有A和B,D元素進棧,緊接著出棧,剩下的A、B有元素要出棧,只能是先B后A,故C選項錯誤;D項,D首先出棧,棧中肯定有A、B和C,如果接下來有元素要出棧,只能是C,故D選項錯誤。答案選擇B選項。77.己知二叉樹后序遍歷序列是CDABE,中序遍歷序列是CADEB,它的前序遍歷序列是()。A、BCDEB、ECABDC、EACDBD、CDEAB答案:C解析:后序遍歷最后遍歷到根結(jié)點,所以E為根結(jié)點。中序遍歷根結(jié)點在左右子樹之間,所以B為二叉樹的右子樹,CAD為左子樹。同理,在
CAD分支中,A為CD的父結(jié)點,C為A的左孩子,D為A的右孩子。根據(jù)所得樹的形狀,可得前序遍歷為EACDB。答案選擇C選項。78.對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是()。A、程序應(yīng)簡單、清晰、可讀性好B、符號名的命名只要符合語法C、充分考慮程序的執(zhí)行效率D、程序的注釋可有可無答案:A解析:程序不僅僅要能夠正常運行,還要便于調(diào)試和維護,所以程序語句結(jié)構(gòu)應(yīng)該簡單直接,具有良好的可讀性,建立良好的程序設(shè)計風(fēng)格。答案選擇A選項。79.結(jié)構(gòu)化程序由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成,以下相關(guān)敘述錯誤的是()。A、三種基本結(jié)構(gòu)不可以嵌套使用B、順序結(jié)構(gòu)是按語句在程序中的先后順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移C、選擇結(jié)構(gòu)是根據(jù)不同的條件執(zhí)行不同分支中的語句D、循環(huán)結(jié)構(gòu)是根據(jù)條件決定是否重復(fù)、重復(fù)執(zhí)行多少次循環(huán)體語句答案:A解析:結(jié)構(gòu)化程序主要由3種基本控制結(jié)構(gòu)組成,順序結(jié)構(gòu)是最基本的算法結(jié)構(gòu),當(dāng)執(zhí)行由這些語句構(gòu)成的程序時,將按這些語句在程序中的先后順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移,沒有步驟之間的相互約束,沒有對某一步驟的多次使用,完全按照步驟的原有次序依次執(zhí)行,B選項敘述正確。選擇結(jié)構(gòu)根據(jù)不同的條件去執(zhí)行不同分支中的語句,C選項敘述正確。循環(huán)結(jié)構(gòu)就是根據(jù)各自的條件,使同一組語句重復(fù)執(zhí)行多次,D選項敘述正確。三種結(jié)構(gòu)可以嵌套使用,A選項敘述錯誤,答案選擇A選項。80.下列選項中屬于面向?qū)ο笤O(shè)計方法主要特征的是()。A、繼承B、自頂向下C、模塊化D、逐步求精答案:A解析:面向?qū)ο笤O(shè)計方法的主要特征有封裝性、繼承性和多態(tài)性。而結(jié)構(gòu)化程序設(shè)計方法的主要原則有自頂向下、逐步求精、模塊化、限制使用goto語句。BCD三項是結(jié)構(gòu)化程序的主要特征。答案選擇A選項。81.下列敘述中,不符合良好程序設(shè)計風(fēng)格要求的是()。A、程序的效率第一,清晰第二B、程序的可讀性好C、程序中要有必要的注釋D、輸入數(shù)據(jù)前要有提示信息答案:A解析:“清晰第一,效率第二”是當(dāng)今主導(dǎo)的程序設(shè)計風(fēng)格。對程序的要求不僅是能夠運行正常,還要便于調(diào)試和維護,所以程序要具有良好的可讀性,語句結(jié)構(gòu)應(yīng)該簡單直接,這有利于程序的開發(fā)與維護。答案選擇A選項。82.結(jié)構(gòu)化程序的三種基本控制結(jié)構(gòu)是()。A、順序、選擇和重復(fù)(循環(huán))B、過程、子程序和分程序C、順序、選擇和調(diào)用D、調(diào)用、返回和轉(zhuǎn)移答案:A解析:結(jié)構(gòu)化程序設(shè)計中三種基本控制結(jié)構(gòu)為順序、選擇和重復(fù)(循環(huán))。
答案選擇A選項。83.在面向?qū)ο蠓椒ㄖ?,實現(xiàn)信息隱蔽是依靠()。A、對象的繼承B、對象的多態(tài)C、對象的封裝D、對象的分類答案:C解析:面向?qū)ο笤O(shè)計的封裝性指屏蔽數(shù)據(jù)的具體結(jié)構(gòu)以及操作的算法,以此實現(xiàn)信息隱蔽。答案選擇C選項。84.結(jié)構(gòu)化程序設(shè)計的基本原則不包括()。A、多態(tài)性B、自頂向下C、模塊化D、逐步求精答案:A解析:結(jié)構(gòu)化程序設(shè)計的基本原則包括:①模塊化;②自頂向下;③逐步求精;④限制使用goto語句。多態(tài)性是面向?qū)ο蟮脑O(shè)計思想。答案選擇A選項。85.下面不屬于對象基本特點的是()。A、標(biāo)識唯一性B、可復(fù)用性C、多態(tài)性D、封裝性答案:B解析:面向?qū)ο笤O(shè)計是建立在“對象”概念上的方法學(xué),對象是面向?qū)ο笳Z言中類的實體,其特點包括:①標(biāo)識唯一性,對象可區(qū)分;②分類性,可以將具有相同屬性和操作的對象抽象成類;③多態(tài)性,同一個操作對于不同對象表現(xiàn)不同的行為;④封裝性,屏蔽數(shù)據(jù)的具體結(jié)構(gòu)以及操作的算法;⑤模塊獨立性好,對象內(nèi)部各種元素結(jié)合緊密,內(nèi)聚性強。答案選擇B選項。86.下面概念中,不屬于面向?qū)ο蠓椒ǖ氖牵ǎ?。A、對象B、繼承C、類D、過程調(diào)用答案:D解析:面向?qū)ο蠓椒ㄊ且环N運用對象、類、封裝、繼承、多態(tài)和消息等概念來構(gòu)造、測試、重構(gòu)軟件的方法。答案選擇D選項。87.下列關(guān)于類、對象、屬性和方法的敘述中,錯誤的是()。A、類是對一類具有相同的屬性和方法對象的描述B、屬性用于描述對象的狀態(tài)C、方法用于表示對象的行為D、基于同一個類產(chǎn)生的兩個對象不可以分別設(shè)置自己的屬性值答案:D解析:屬性表示對象的狀態(tài),方法表示對象的行為,類是對一類具有相同的屬性和方法對象的抽象。D項錯誤,基于同一個類產(chǎn)生的兩個對象屬性相同,但是屬性值可以由對象自己設(shè)定。答案選擇D選項。88.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。A、順序結(jié)構(gòu)B、GOTO跳轉(zhuǎn)C、選擇(分支)結(jié)構(gòu)D、重復(fù)(循環(huán))結(jié)構(gòu)答案:B解析:結(jié)構(gòu)化程序以模塊化設(shè)計為中心,使用順序、選擇和循環(huán)三種基本控制結(jié)構(gòu)就可以實現(xiàn)任何算法功能。結(jié)構(gòu)化程序設(shè)計的思想包括自頂向下、逐步求精、模塊化、限制使用GOTO語句。答案選擇B選項。89.使用白盒測試方法時,設(shè)計測試用例應(yīng)根據(jù)()。A、程序的內(nèi)部邏輯B、程序的復(fù)雜結(jié)構(gòu)C、程序的功能D、使用說明書答案:A解析:白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息來設(shè)計或選擇測試用例,對程序所有的邏輯路徑進行測試。答案選擇A選項。90.下面對軟件測試描述錯誤的是()。A、嚴格執(zhí)行測試計劃,排除測試的隨意性B、隨機地選取測試數(shù)據(jù)C、軟件測試的目的是發(fā)現(xiàn)錯誤D、軟件測試是保證軟件質(zhì)量的重要手段答案:B解析:軟件測試的基本準則有:①所有測試都應(yīng)追溯到需求;②嚴格執(zhí)行測試計劃,排除測試的隨意性;③充分注意測試中的群集現(xiàn)象;④應(yīng)避免程序員檢查自己的程序;⑤不可能窮舉測試;⑥妥善保存測試計劃等文件。軟件測試是程序的執(zhí)行過程,目的是盡可能多的發(fā)現(xiàn)錯誤。
軟件測試是保證軟件質(zhì)量的重要手段。答案選擇B選項。91.下列描述中正確的是()。A、軟件測試的主要目的是發(fā)現(xiàn)程序中的錯誤B、軟件測試的主要目的是確定程序中錯誤的位置C、為了提高軟件測試的效率,最好由程序編制者自己來完成軟件測試的工作D、軟件測試是證明軟件沒有錯誤答案:A解析:軟件測試的目的是盡可能多的發(fā)現(xiàn)錯誤,程序調(diào)試任務(wù)是診斷和改正程序中的錯誤。由于思維定勢等原因應(yīng)盡量避免程序員檢查自己的程序。答案選擇A選項。92.下面描述不屬于軟件特點的是()。A、軟件是一種邏輯實體,具有抽象性B、軟件在使用中不存在磨損、老化問題C、軟件復(fù)雜性高D、軟件使用不涉及知識產(chǎn)權(quán)答案:D解析:軟件具有以下特點:①軟件是一種邏輯實體,具有抽象性;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④軟件對硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會因素,如知識產(chǎn)權(quán)等。答案選擇D選項。93.軟件生命周期中的活動不包括()。A、軟件維護B、市場調(diào)研C、軟件測試D、需求分析答案:B解析:軟件生命周期包括軟件產(chǎn)品從提出、實現(xiàn)、使用、維護到停止使用
(退役)的過程??梢詫④浖芷诜譃檐浖x、軟件開發(fā)及軟件運行維護三個階段。軟件生命周期的主要活動階段是可行性研究與計劃制定、需求分析、軟件設(shè)計、軟件實現(xiàn)、軟件測試、運行和維護。不包括市場調(diào)研。答案選擇B選項。94.耦合性和內(nèi)聚性是對模塊獨立性度量的兩個標(biāo)準。下列敘述中正確的是()。A、提高耦合性,降低內(nèi)聚性,有利于提高模塊的獨立性B、降低耦合性,提高內(nèi)聚性,有利于提高模塊的獨立性C、耦合性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度D、內(nèi)聚性是指模塊間互相連接的緊密程度答案:B解析:耦合性是指模塊間互相連接的緊密程度,內(nèi)聚性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度。提高內(nèi)聚性、降低耦合性是提高模塊獨立性的方法。答案選擇B選項。95.軟件工程的三要素是()。A、方法、工具和過程B、建模、方法和工具C、建模、方法和過程D、定義、方法和過程答案:A解析:軟件工程的三要素是:①方法;②工具;③過程。其中方法為軟件開發(fā)提供了“如何做”的技術(shù);工具為軟件工程方法提供了自動或半自動的支撐環(huán)境;過程則是將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟件開發(fā)的目的。答案選擇A選項。96.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A、軟件集成測試計劃B、軟件詳細設(shè)計說明書C、用戶手冊D、軟件需求規(guī)格說明書答案:D解析:A項,測試說明書是軟件測試階段生成的;B項,軟件詳細設(shè)計說明書是設(shè)計階段生成的;C項,用戶手冊是軟件發(fā)布時隨軟件一同交付給用戶的;D項,需求分析階段只能生成需求分析規(guī)格說明書。答案選擇D選項。97.在軟件設(shè)計中,不屬于過程設(shè)計工具的是()。A、PDL(過程設(shè)計語言)B、PAD圖C、N-S圖D、FD圖答案:D解析:數(shù)據(jù)流圖(DFD圖)軟件定義階段結(jié)構(gòu)化分析方法常用的工具。軟件設(shè)計包括概要設(shè)計和詳細設(shè)計。其中,概要設(shè)計中常用的軟件結(jié)構(gòu)設(shè)計工具是結(jié)構(gòu)圖,又稱程序結(jié)構(gòu)圖;詳細設(shè)計中常見的過程設(shè)計工具有:程序流程圖、N-S、PAD、HIPO、判定表和PDL(偽碼)。答案選擇D選項。98.下面屬于系統(tǒng)軟件的是()。A、財務(wù)管理系統(tǒng)B、編譯軟件C、編輯軟件WordD、殺毒軟件答案:B解析:應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件,如事務(wù)處理軟件,工程與科學(xué)計算軟件,學(xué)生成績管理系統(tǒng)、教務(wù)管理系統(tǒng)、瀏覽器、編輯軟件等應(yīng)用性質(zhì)不同的各種軟件。系統(tǒng)軟件是計算機管理自身資源,提高計算機使用效率并服務(wù)于其他程序的軟件,如操作系統(tǒng),編譯程序,匯編程序,數(shù)據(jù)庫管理系統(tǒng)等。支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護應(yīng)用軟件的工具軟件,如需求分析工具軟件,設(shè)計工具軟件,編碼工具軟件,測試工具軟件,維護工具軟件等。答案選擇B選項。99.下面能作為軟件需求分析工具的是()。A、PAD圖B、程序流程圖C、甘特圖D、數(shù)據(jù)流程圖(DFD圖)答案:D解析:軟件需求分析方法包括結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒▋纱箢?,前者常用工具為?shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定表、判定樹等。故D項正確。A項是過程設(shè)計工具。B項是軟件功能實現(xiàn)時設(shè)計圖。C項是項目管理中的一種項目進度規(guī)劃工具。答案選擇D選項。100.計算機軟件的構(gòu)成是()。A、源代碼B、程序和數(shù)據(jù)C、程序和文檔D、程序、數(shù)據(jù)及相關(guān)文檔答案:D解析:計算機軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。答案選擇D選項。101.計算機軟件包括()。A、算法和數(shù)據(jù)B、程序和數(shù)據(jù)C、程序和文檔D、程序、數(shù)據(jù)及相關(guān)文檔答案:D解析:計算機軟件由兩部分組成:①機器可執(zhí)行的程序和數(shù)據(jù);②機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關(guān)的文檔。答案選擇D選項。102.通常軟件測試實施的步驟是()。A、集成測試、單元測試、確認測試B、單元測試、集成測試、確認測試C、確認測試、集成測試、單元測試D、單元測試、確認測試、集成測試答案:B解析:軟件測試的實施過程主要有4個步驟:單元測試、集成測試、確認測試
(驗收測試)和系統(tǒng)測試。答案選擇B選項。103.下列不屬于軟件設(shè)計階段任務(wù)的是()。A、軟件總體設(shè)計B、算法設(shè)計C、制定軟件確定測試計劃D、數(shù)據(jù)庫設(shè)計答案:C解析:軟件概要設(shè)計階段的任務(wù)有:①軟件體系結(jié)構(gòu)設(shè)計;②軟件數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計;③編寫概要設(shè)計文檔;④概要設(shè)計文檔評審。軟件確認測試計劃是在需求分析階段制定的,依據(jù)需求規(guī)格說明書來驗證軟件的功能和性能。答案選擇C選項。104.軟件生命周期是指()。A、軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程B、軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程C、軟件的開發(fā)過程D、軟件的運行維護過程答案:A解析:軟件生命周期是指軟件產(chǎn)品從提出、實現(xiàn)、使用、維護到停止使用、退役的過程。答案選擇A選項。105.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的()階段。A、詳細設(shè)計B、需求分析C、總體設(shè)計D、編程調(diào)試答案:C解析:總體設(shè)計過程通常由兩個主要階段組成:①系統(tǒng)設(shè)計,確定系統(tǒng)的具體實現(xiàn)方案;②結(jié)構(gòu)設(shè)計,確定軟件結(jié)構(gòu)。為確定軟件結(jié)構(gòu),首先需要從實現(xiàn)角度把復(fù)雜的功能進一步分解。分析員結(jié)合算法描述仔細分析數(shù)據(jù)流圖中的每個處理,如果一個處理的功能過分復(fù)雜,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^簡單的功能。答案選擇C選項。106.軟件(程序)調(diào)試的任務(wù)是()。A、診斷和改正程序中的錯誤B、盡可能多地發(fā)現(xiàn)程序中的錯誤C、發(fā)現(xiàn)并改正程序中的所有錯誤D、確定程序中錯誤的性質(zhì)答案:A解析:軟件測試的目的是盡可能多的發(fā)現(xiàn)錯誤。程序調(diào)試基于軟件測試時發(fā)現(xiàn)的錯誤,其任務(wù)是診斷和改正程序中的錯誤。答案選擇A選項。107.下列選項中不屬于軟件生命周期開發(fā)階段任務(wù)的是()。A、軟件測試B、概要設(shè)計C、軟件維護D、詳細設(shè)計答案:C解析:軟件生命周期包括軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程,主要包括:①軟件定義;②可行性研究;③需求分析;④軟件開發(fā);③軟件運行維護。其中,開發(fā)階段包括概要設(shè)計、詳細設(shè)計、實現(xiàn)和測試。答案選擇C選項。108.軟件需求規(guī)格說明書的作用不包括()。A、軟件驗收的依據(jù)B、用戶與開發(fā)人員對軟件要做什么的共同理解C、軟件設(shè)計的依據(jù)D、軟件可行性研究的依據(jù)答案:D解析:軟件需求說明書(SRS)的編制是為了:①便于用戶、開發(fā)人員進行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認測試和驗收的依據(jù);④為成本估算和編制計劃進度提供基礎(chǔ);⑤軟件不斷改進的基礎(chǔ)。答案選擇D選項。109.軟件生命周期是指()。A、軟件產(chǎn)品從提出、實現(xiàn)、使用、維護到停止使用退役的過程B、軟件的需求分析、設(shè)計與實現(xiàn)C、軟件的開發(fā)與管理D、軟件的實現(xiàn)和維護答案:A解析:軟件生命周期是指軟件產(chǎn)品從提出、實現(xiàn)、使用、維護到停止使用、退役的過程。答案選擇A選項。110.下面不屬于黑盒測試方法的是()。A、邊界值分析法B、基本路徑測試C、等價類劃分法D、錯誤推測法答案:B解析:常見的黑盒測試方法有:等價類劃分法、邊界值分析法、錯誤推測法以及因果圖等;常見的白盒測試方法有:邏輯覆蓋測試和基本路徑測試。答案選擇B選項。111.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于應(yīng)用軟件的是()。A、學(xué)生成績管理系統(tǒng)B、C語言編譯程序C、UNIX操作系統(tǒng)D、數(shù)據(jù)庫管理系統(tǒng)答案:A解析:應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件,如事務(wù)處理軟件,工程與科學(xué)計算軟件,學(xué)生成績管理系統(tǒng)、教務(wù)管理系統(tǒng)、瀏覽器、編輯軟件等應(yīng)用性質(zhì)不同的各種軟件。系統(tǒng)軟件是計算機管理自身資源,提高計算機使用效率并服務(wù)于其他程序的軟件,如操作系統(tǒng),編譯程序,匯編程序,數(shù)據(jù)庫管理系統(tǒng)等。支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護應(yīng)用軟件的工具軟件,如需求分析工具軟件,設(shè)計工具軟件,編碼工具軟件,測試工具軟件,維護工具軟件等。答案選擇A選項。112.軟件需求分析階段的主要任務(wù)是()。A、確定軟件開發(fā)方法B、確定軟件開發(fā)工具C、確定軟件開發(fā)計劃D、確定軟件系統(tǒng)的功能答案:D解析:需求分析階段的工作可以分為:①需求獲?。虎谛枨蠓治?;③編寫需求規(guī)格說明書;④需求評審。ABC三項均為開發(fā)階段的工作,確定軟件系統(tǒng)的功能屬于需求分析階段的要求,在編寫需求規(guī)格說明書之前完成。答案選擇D選項。113.下面描述中錯誤的是()。A、系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細設(shè)計B、軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程C、數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一D、PAD圖是軟件詳細設(shè)計的表示工具答案:A解析:詳細設(shè)計的任務(wù)是為軟件結(jié)構(gòu)圖中而非總體結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu)。軟件系統(tǒng)的總體結(jié)構(gòu)圖是軟件架構(gòu)設(shè)計的依據(jù),它并不支持軟件的詳細設(shè)計。支持軟件系統(tǒng)的詳細設(shè)計的有:程序流程N-S圖以及PAD圖等。答案選擇A選項。114.數(shù)據(jù)流圖中帶有箭頭的線段表示的是()。A、控制流B、事件驅(qū)動C、模塊調(diào)用D、數(shù)據(jù)流答案:D解析:數(shù)據(jù)流圖基本符號的含義:①矩形表示數(shù)據(jù)的外部實體;②圓角的矩形表示變換數(shù)據(jù)的處理邏輯;③缺少右半邊的矩形表示數(shù)據(jù)的存儲;
④箭頭表示數(shù)據(jù)流。答案選擇D選項。115.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。A、確認測試B、需求測試C、驗證測試D、路徑測試答案:A解析:確認測試的任務(wù)是驗證軟件的有效性,即驗證軟件的功能、性能,以及其他特性是否滿足需求規(guī)格說明中確定的各種需求。答案選擇A選項。116.下列不屬于軟件工程3個要素的是()。A、工具B、過程C、方法D、環(huán)境答案:D解析:軟件工程是指用工程化的原則和方法來構(gòu)建和維護軟件,其要素包括:①方法,用于完成軟件工程項目的技術(shù)手段;②工具,用于支持軟件的開發(fā)、管理、文檔生成;③過程,用于支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。答案選擇D選項。117.下列方法中,屬于白盒法設(shè)計測試用例的方法的是()。A、錯誤推測B、因果圖C、基本路徑測試D、邊界值分析答案:C解析:白盒測試方法也稱為結(jié)構(gòu)測試或邏輯測試,用來檢查軟件內(nèi)部的邏輯結(jié)構(gòu),主要方法有:①邏輯覆蓋測試;②基本路徑測試等。黑盒測試用于對軟件的功能進行測試和驗證,不需考慮程序內(nèi)部的語句和邏輯結(jié)構(gòu)。黑盒測試的方法主要包括:①等價類劃分法;②邊界值分析法;③錯誤推測法;④因果圖。答案選擇C選項。118.下面不屬于軟件開發(fā)階段任務(wù)的是()。A、測試B、可行性研究C、設(shè)計D、實現(xiàn)答案:B解析:軟件生命周期可分為:①軟件定義期,包括問題定義、可行性研究、需求分析;②軟件開發(fā)期,包括概要設(shè)計、詳細設(shè)計、實現(xiàn)、測試;
③運行維護期。答案選擇B選項。119.下面描述中不屬于軟件需求分析階段任務(wù)的是()。A、撰寫軟件需求規(guī)格說明書B、軟件的總體結(jié)構(gòu)設(shè)計C、軟件的需求分析D、軟件的需求評審答案:B解析:需求分析階段的工作包括:①需求獲?。虎谛枨蠓治?;③編寫需求規(guī)格說明書;④需求評審。軟件的總體結(jié)構(gòu)設(shè)計屬于概念設(shè)計階段的工作。答案選擇B選項。120.軟件詳細設(shè)計產(chǎn)生的圖如下:
該圖是()。A、N-S圖B、PAD圖C、程序流程圖D、E-R圖答案:C解析:N-S圖是由若干基本框圖構(gòu)成的流程圖,其特點是沒有流程線;PAD圖即問題分析圖,它是一種由左往右展開的二維樹形結(jié)構(gòu);程序流程圖用于描述問題解決的過程和步驟,其中方框表示處理步驟,菱形框表示邏輯判斷,箭頭表示控制流向;E-R圖即實體-聯(lián)系圖,用來描述現(xiàn)實世界的概念模型,構(gòu)成元素有實體、屬性和聯(lián)系,分別用矩形、橢圓形和菱形表示。所以答案選擇C選項。121.下面屬于黑盒測試方法的是()。A、邊界值分析法B、基本路徑測試C、條件覆蓋D、條件-分支覆蓋答案:A解析:常用的黑盒測試方法有:①等價類劃分法;②邊界值分析法;③錯誤推測法;④因果圖等。常用的白盒測方法有:①邏輯覆蓋測試,包括語句覆蓋、路徑覆蓋、判斷覆蓋、條件覆蓋;②基本路徑測試等,
BCD三項屬于白盒測試。答案選擇A選項。122.軟件是指()。A、程序B、程序和文檔C、算法加數(shù)據(jù)結(jié)構(gòu)D、程序、數(shù)據(jù)與相關(guān)文檔的完整集合答案:D解析:本題考查軟件的定義。軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它包括程序、相關(guān)數(shù)據(jù)及其說明文檔。答案選擇D選項。123.下面對軟件特點描述不正確的是()。A、軟件是一種邏輯實體,具有抽象性B、軟件開發(fā)、運行對計算機系統(tǒng)具有依賴性C、軟件開發(fā)涉及軟件知識產(chǎn)權(quán)、法律及心理等社會因素D、軟件運行存在磨損和老化問題答案:D解析:軟件具有以下特點:①軟件具有抽象性,是一種邏輯實體;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④對硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會因素。D項描述是硬件存在的問題。答案選擇D選項。124.下面描述中,不屬于軟件危機表現(xiàn)的是()。A、軟件過程不規(guī)范B、軟件開發(fā)生產(chǎn)率低C、軟件質(zhì)量難以控制D、軟件成本不斷提高答案:A解析:軟件的危機表現(xiàn)包括:①軟件需求的增長得不到滿足,用戶對系統(tǒng)不滿意的情況經(jīng)常發(fā)生;②軟件開發(fā)成本和進度無法控制;③軟件質(zhì)量難以保證;④軟件不可維護或維護程度非常低;⑤軟件的成本不斷提高;⑥軟件開發(fā)的生產(chǎn)效率的提高趕不上硬件的發(fā)展、生產(chǎn)率等問題。答案選擇A選項。125.為了使模塊盡可能獨立,要求()。A、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強B、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C、模塊的內(nèi)聚程度要盡量低,且各模塊間的偶合程度要盡量弱D、模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強答案:B解析:系統(tǒng)設(shè)計的質(zhì)量主要反映在模塊的獨立性上。評價模塊獨立性的主要標(biāo)準有兩個:一是模塊之間的耦合,它表明兩個模塊之間互相獨立的程度;二是模塊內(nèi)部之間的關(guān)系是否緊密,稱為內(nèi)聚。一般來說,要求模塊之間的耦合盡可能地弱,即模塊盡可能獨立,而要求模塊的內(nèi)聚程度盡量地高。答案選擇B選項。126.下面不屬于軟件設(shè)計階段任務(wù)的是()。A、軟件的詳細設(shè)計B、軟件的總體結(jié)構(gòu)設(shè)計C、軟件的需求分析D、軟件的數(shù)據(jù)設(shè)計答案:C解析:軟件設(shè)計階段的任務(wù)包括:①結(jié)構(gòu)設(shè)計;②數(shù)據(jù)設(shè)計;③接口設(shè)計;④過程設(shè)計。軟件的需求分析確定是在需求分析階段完成的。答案選擇C選項。127.下面不屬于需求分析階段任務(wù)的是()。A、確定軟件系統(tǒng)的功能需求B、確定軟件系統(tǒng)的性能需求C、制定軟件集成測試計劃D、需求規(guī)格說明書審評答案:C解析:需求分析階段的工作主要包括4個方面:①需求獲取,其目的是確定對目標(biāo)系統(tǒng)的各方面需求;②需求分析,對獲取的需求進行分析和綜合,最終給出系統(tǒng)的解決方案和目標(biāo)系統(tǒng)的邏輯模型;③編寫文檔,編寫需求規(guī)格說明書,編寫初步用戶使用手冊;④確認測試計劃,修改完善軟件開發(fā)計劃,需求評審。制定軟件集成測試計劃屬于概要設(shè)計階段的任務(wù)。答案選擇C選項。128.軟件生命周期中,確定軟件系統(tǒng)要做什么的階段是()。A、需求分析B、軟件測試C、軟件設(shè)計D、系統(tǒng)維護答案:A解析:軟件生命周期各階段的主要任務(wù)是:①問題定義;②可行性研究與計劃制定;③需求分析;④軟件設(shè)計;⑤軟件實現(xiàn);⑥軟件測試;⑦運行維護。需求分析就是要對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即確定軟件系統(tǒng)要做什么。答案選擇A選項。129.下列工具中,不屬于結(jié)構(gòu)化分析的常用工具的是()。A、數(shù)據(jù)流圖B、數(shù)據(jù)字典C、判定樹D、N-S圖答案:D解析:結(jié)構(gòu)化分析常用的工具有:①數(shù)據(jù)流圖;②數(shù)據(jù)字典;③判定樹;④判定表。N-S圖用于軟件設(shè)計階段。答案選擇D選項。130.下列方法中,不屬于軟件調(diào)試方法的是()。A、回溯法B、強行排錯法C、集成測試法D、原因排除法答案:C解析:軟件調(diào)試采用的主要方法包括:①強行排錯法,其過程為設(shè)置斷點、程序暫停、觀察程序狀態(tài)、繼續(xù)運行程序;②回溯法,指一旦發(fā)現(xiàn)了錯誤,先分析錯誤征兆,確定最先發(fā)現(xiàn)“癥狀”的位置;③原因排除法,指通過演繹和歸納,以及二分法來排錯。答案選擇C選項。131.在黑盒測試方式中,設(shè)計測試用例的主要根據(jù)是()。A、程序外部功能B、程序內(nèi)部邏輯C、程序數(shù)據(jù)結(jié)構(gòu)D、程序流程圖答案:A解析:黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,完全不考慮程序內(nèi)部邏輯結(jié)構(gòu)和具體代碼,把程序看作是一個不能打開的黑盒子,依據(jù)軟件需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明,主要針對軟件界面和軟件功能進行測試。答案選擇A選項。132.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A、可行性分析報告B、軟件需求規(guī)格說明書C、概要設(shè)計說明書D、集成測試計劃答案:B解析:B項,軟件需求規(guī)格說明書是后續(xù)工作如設(shè)計、編碼等需要的重要參考文檔,是需求分析階段產(chǎn)生的主要文檔。其作用是:①便于開發(fā)人員進行理解和交流;②反映用戶問題的結(jié)構(gòu),可作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③可作為確認測試和驗收的依據(jù)。A項,可行性分析報告產(chǎn)生于可行性分析階段;C項,概要設(shè)計說明書產(chǎn)生于總體設(shè)計階段;D項,集成測試計劃產(chǎn)生于概要設(shè)計階段。答案選擇B選項。133.若實體A和B是一對一的聯(lián)系,實體B和C是多對一的聯(lián)系,則實體
A和C的聯(lián)系是()。A、多對一B、一對多C、一對一D、多對多答案:A解析:實體集之間必須通過聯(lián)系來建立聯(lián)接關(guān)系,分為:①一對一聯(lián)系,即1:1;②一對多聯(lián)系,即1:m;③多對多聯(lián)系,即m:n。本題中,A與B是1:1聯(lián)系,B與C是m:1聯(lián)系,所以A與C是m:1聯(lián)系,即多對一。答案選擇A選項。134.下列數(shù)據(jù)模型中,具有堅實理論基礎(chǔ)的是()。A、層次模型B、網(wǎng)狀模型C、關(guān)系模型D、以上三個都是答案:C解析:關(guān)系模型較之格式化模型(網(wǎng)狀模型和層次模型)有以下幾方面的優(yōu)點,即數(shù)據(jù)結(jié)構(gòu)比較簡單、具有很高的數(shù)據(jù)獨立性、可以直接處理多對多的聯(lián)系,以及有堅實的理論基礎(chǔ)。答案選擇C選項。135.在關(guān)系運算中,選擇運算的含義是()。A、在基本表中,選擇滿足條件的元組組成一個新的關(guān)系B、在基本表中,選擇需要的屬性組成一個新的關(guān)系C、在基本表中,選擇滿足條件的元組和屬性組成一個新的關(guān)系D、以上三種說法均是正確的答案:A解析:選擇運算是指從關(guān)系中找出滿足給定條件的元組。選擇是從行的角度進行的運算,即水平方向抽取記錄。經(jīng)過選擇運算得到的結(jié)果可以形成新的關(guān)系,其關(guān)系模式不變,但其中的元組是原關(guān)系的一個子集。
答案選擇A選項。136.有三個關(guān)系R、S和T如下:
其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為()。A、選擇B、投影C、交D、并答案:D解析:選擇和投影操作對單個關(guān)系進行操作,選擇運算是對行的操作,投影運算是對列的操作。交和并運算要求參與運算的表具有相同的屬性,交運算的結(jié)果是兩個表的公共部分,并運算的結(jié)果包含兩個表的所有元素。觀察三個關(guān)系的元組可知,關(guān)系T=RS。答案選擇D選項。137.在數(shù)據(jù)庫管理技術(shù)的發(fā)展中,數(shù)據(jù)獨立性最高的是()。A、人工管理B、文件系統(tǒng)C、數(shù)據(jù)庫系統(tǒng)D、數(shù)據(jù)模型答案:C解析:數(shù)據(jù)管理技術(shù)的發(fā)展階段包括:①人工管理階段;②文件系統(tǒng)階段;
③數(shù)據(jù)庫系統(tǒng)階段。不同階段的特點見下表:
答案選擇C選項。138.若一個教練訓(xùn)練多個運動員,每個運動員接受多個教練指導(dǎo),則教練與運動員之間存在的聯(lián)系類型為()。A、多對多B、一對一C、一對多D、多對一答案:A解析:實體集之間必須通過聯(lián)系來建立聯(lián)接關(guān)系,包括:①一對一聯(lián)系(1:
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腹膜知識點總結(jié)
- 軟件工程教程(微課版)課件 第9章 編碼與測試
- 增強現(xiàn)實在教育領(lǐng)域的應(yīng)用
- 船舶非常規(guī)動力系統(tǒng)的評估與研究
- 廣州汽車維修技師個人簡歷
- 酒店餐飲服務(wù)培訓(xùn)內(nèi)容
- 腰部疾患循證預(yù)防與康復(fù)
- 餐飲業(yè)新員工安全培訓(xùn)
- 小班不抓咬安全教育
- 2025年《小壁虎借尾巴》 標(biāo)準課件
- 上海市奉賢區(qū)2022年中考二模英語試題(含解析和聽力)
- 體育課電子教案模板
- 數(shù)字的秘密生活最有趣的50個數(shù)學(xué)故事
- 養(yǎng)老機構(gòu)安全隱患排查清單、自查表、治理整改臺賬
- 5.1 數(shù)據(jù)安全概述
- led燈具生產(chǎn)工藝過程流程圖
- 財務(wù)分析模板(43張)課件
- 城市供水管網(wǎng)供水管網(wǎng)檢漏技術(shù)及儀器設(shè)備應(yīng)用課件
- 第三方工程評估體系檢查表
- 唐僧團隊之如何打造團隊
- 畢業(yè)設(shè)計外文文獻-Spring Boot
評論
0/150
提交評論