2023全國計算機(jī)等級二級C++程序設(shè)計歷年真題及答案(二)
一、選擇題?(請在[答題]菜單上選擇[選擇題]命令,啟動選擇題測試程序,按照題目上的內(nèi)容進(jìn)行答題。作答選擇題時鍵盤被封鎖,使用鍵盤無效,考生須使用鼠標(biāo)答題。選擇題部分只能進(jìn)入一次,退出后不能再次進(jìn)入。選擇題部分不單獨(dú)計時。)
?
1、下列敘述中正確的是( )
A.所謂算法就是計算方法
B.程序可以作為算法的一種描述方法
C.算法設(shè)計只需考慮得到計算結(jié)果
D.算法設(shè)計可以忽略算法的運(yùn)算時間
[答案] B
[考點(diǎn)] 算法(2)
[解析]A項(xiàng)錯誤,算法并不等同于計算方法,是指對解題方案的準(zhǔn)確而完整的描述,C項(xiàng)錯誤,算法設(shè)計需要考慮可行性、確定性、有窮性與足夠的情報,D項(xiàng)錯誤,算法設(shè)計有窮性要求操作步驟有限且必須在有限時間內(nèi)完成,耗費(fèi)太長時間得到的正確結(jié)果是沒有意義的。B項(xiàng)正確,程序可以作為算法的一種描述方法算法在實(shí)現(xiàn)時需要用具體的程序設(shè)計語言描述。答案選擇B選項(xiàng)
?
2、下列敘述中正確的是()。
A.算法就是程序
B.設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計
C.設(shè)計算法時只需要考慮結(jié)果的可靠性
D以上三種說法都不對
【答案】D
【考點(diǎn)】算法(2),程序(6)
【解析】A項(xiàng)錯誤,算法是指解題方案的準(zhǔn)確而完整的描述,算法不等于程序,也不等于計算方法,BC兩項(xiàng)錯誤,設(shè)計算法時,不僅要考慮對數(shù)據(jù)對象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。答案選擇D選項(xiàng)。
?

3、下列敘述中正確的是( )。
A.算法就是程序
B.設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計
C.設(shè)計算法時只需要考慮結(jié)果的可靠性
D.設(shè)計算法時需要同時考慮時間復(fù)雜度和空間復(fù)雜度
【答案】D
【解析】A項(xiàng)錯誤,算法是指解題方案的準(zhǔn)確而完整的描述,算法不等于程序,也不等于計算方法;BC兩項(xiàng)錯誤,設(shè)計算法時,不僅要考慮對數(shù)據(jù)對象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量,算法的空間復(fù)雜度,是指執(zhí)行這個算法所需要的內(nèi)存空間。答案選擇D選項(xiàng)。
?
4、算法的有窮性是指()。
A.算法程序的運(yùn)行時間是有限的
B.算法程序所處理的數(shù)據(jù)量是有限的
C.算法程序的長度是有限的
D.算法只能被有限的用戶使用
[答案] A
[解析] 算法設(shè)計有窮性要求操作步驟有限且必須在有限時間內(nèi)完成,耗費(fèi)太長時間得到的正確結(jié)果是沒有意義的。答案選擇A選項(xiàng)。
?
5、算法應(yīng)當(dāng)具有的特性不包括 ()
A.可行性
B.有窮性
C.確定性
D.美觀性
[答案] D
[解析] 一個算法應(yīng)該具有以下五個重要的特征:有窮性,確定性,輸入 (零個或多個),輸出(至少一個)以及可行性,不包括美觀性。答案選擇D選項(xiàng)
?
?
6、信息隱蔽的概念與下述哪一種概念直接相關(guān)()
A.軟件結(jié)構(gòu)定義
B.模塊獨(dú)立性
C.模塊類型劃分
D.模塊耦合度
[答案] B
[解析]信息隱蔽是指,所設(shè)計的模塊使得其所包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊是不能訪問的。模塊獨(dú)立性的概念是抽象、模塊化、信息隱蔽和局部化的直接結(jié)果。利用信息隱蔽,可以確保每一個模塊的獨(dú)立性。答案選擇B選項(xiàng)。
?
7、下列各選項(xiàng)中,不屬于序言性注釋的是( )。
A.程序標(biāo)題
B.程序設(shè)計者
C.主要算法
D.數(shù)據(jù)狀態(tài)
[答案] D
[解析] 注釋一般可分為:D序言性注釋,常位于程序開頭部分,用于描述程序標(biāo)題、程序功能說明、主要算法、接口說明、程序位置、開發(fā)簡歷、程序設(shè)計者、復(fù)審者、復(fù)審日期及修改日期等;@功能性注釋,一般嵌在源程序體之中,用于描述其后的語句或程序的主要功能。答案選擇D選項(xiàng)。
?
8、對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是( )。
A.程序應(yīng)簡單、清晰、可讀性好
B.符號名的命名只要符合語法
C.充分考慮程序的執(zhí)行效率
D.程序的注釋可有可無
[答案] A
[解析] 程序不僅僅要能夠正常運(yùn)行,還要便于調(diào)試和維護(hù),所以程序語句結(jié)構(gòu)應(yīng)該簡單直接,具有良好的可讀性,建立良好的程序設(shè)計風(fēng)格。答案選擇A選項(xiàng)。
?
9、下列敘述中,不符合良好程序設(shè)計風(fēng)格要求的是()。
A.程序的效率第一,清晰第二
B.程序的可讀性好
C.程序中要有必要的注釋
D.輸入數(shù)據(jù)前要有提示信息
[答案] A
[解析]“清晰第一,效率第二”是當(dāng)今主導(dǎo)的程序設(shè)計風(fēng)格。對程序的要求不僅是能夠運(yùn)行正常,還要便于調(diào)試和維護(hù),所以程序要具有良好的可讀性,語句結(jié)構(gòu)應(yīng)該簡單直接,這有利于程序的開發(fā)與維護(hù)。答案選擇A選項(xiàng)
?
10、結(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)就可以實(shí)現(xiàn)任何算法功能。結(jié)構(gòu)化程序設(shè)計的思想包括自頂向下、逐步求精、模塊化、限制使用GOTO語句。答案選擇B選項(xiàng)。
?
?
?
?
?
1、下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是()
A.二叉鏈表
B.循環(huán)鏈表
C.雙向鏈表
D.帶鏈的棧
[答案] A
[解析]一個非空的數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)需要滿足兩個條件:D有且只有一個根結(jié)點(diǎn);@每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件。不是線性結(jié)構(gòu)的就是非線性結(jié)構(gòu)。二又鏈表是二叉樹的存儲結(jié)構(gòu),每個結(jié)點(diǎn)都可以有兩個后繼結(jié)點(diǎn),是非線性結(jié)構(gòu)。BCD三項(xiàng)均滿足線性結(jié)構(gòu)的要求。答案選擇A選項(xiàng)。
?
2、設(shè)循環(huán)隊(duì)列的存儲空間為Q(1:35),初始狀為ont-rear=35。現(xiàn)經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后Front=15,rear-15,則循環(huán)隊(duì)列的元素個數(shù)為 ()
A.15
B.16
C.20
D.0或35
[答案] D
(解析] 在循環(huán)隊(duì)列中,front為隊(duì)首指針,指向隊(duì)首元素的前一個位置;rear為隊(duì)尾指針,指向隊(duì)尾元素。frontFrear=15時,@循環(huán)隊(duì)列可能為空,隊(duì)首和隊(duì)尾指針都指向空元素,此時循環(huán)隊(duì)列的元素個數(shù)為0;@循環(huán)隊(duì)列可能為滿,此時循環(huán)隊(duì)列的元素個數(shù)為35。答案選擇D選項(xiàng)。
?
3、下列關(guān)于棧的敘述中,正確的是( )
A.棧底元素一定是最后入棧的元素
B.棧頂元素一定是最先入棧的元素
C.棧操作遵循先進(jìn)后出的原則
D.以上三種說法都不對
[答案] C
(解析] 棧是一種“先進(jìn)后出”的線性表,最先入棧的元素最后出棧,最后入棧的元素最先出棧,所以棧底元素一定是最先入棧最后出棧的元素,而棧頂元素一定是最后入棧最先出棧的元素。答案選擇C選項(xiàng)。
?
4、在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體間聯(lián)系的是( )。
A.屬性
B.維表
C.網(wǎng)狀結(jié)構(gòu)
D.樹狀結(jié)構(gòu)
答案] B
(解析]關(guān)系數(shù)據(jù)庫使用的是關(guān)系模型,用二維表來表示實(shí)體間的聯(lián)系。在關(guān)系表中,每一行稱為一個元組,對應(yīng)表中的一條記錄;每一列稱為一個屬性,對應(yīng)表中的一個字段。網(wǎng)狀結(jié)構(gòu)和樹狀結(jié)構(gòu)對應(yīng)于實(shí)體間的邏輯關(guān)系模型。答案選擇B選項(xiàng)
?
5、公司中有多個部門和多名職員,每個職員只能屬于一個部門,一個部門可以有多名職員。則實(shí)體部門和職員間的聯(lián)系是( )。
A.1:1聯(lián)系
B.m:1聯(lián)系
C.1:m聯(lián)系
D.m:n聯(lián)系
[答案] C
[解析]實(shí)體間的聯(lián)系有如下情況: @一對一 (1: 1);@一對多 (1: m);多對多 (m: n)。本題中一個部門可以有多名職員,而每個職員只能屬于一個部門,所以,部門和職員間是一對多的聯(lián)系。答案選擇C選項(xiàng)。
?
6、下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )
A.雙向鏈表
B.循環(huán)鏈表
C.二叉鏈表
D循環(huán)隊(duì)列
【答案】 C
【解析】 線性結(jié)構(gòu)要滿足兩個條件:(1)有且僅有一個根結(jié)點(diǎn),(2)每個結(jié)點(diǎn)最多有一個前驅(qū),也最多有-個后繼。線性表、棧、隊(duì)列都是線性結(jié)構(gòu),循環(huán)鏈表和雙向鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu),屬于線性結(jié)構(gòu),只是存儲結(jié)構(gòu)不連續(xù),循環(huán)隊(duì)列是一個頭結(jié)點(diǎn)和尾結(jié)點(diǎn)互為前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)的特殊的隊(duì)列,屬于線性結(jié)構(gòu);二又鏈表是二又樹的鏈?zhǔn)酱鎯Y(jié)構(gòu),因?yàn)槎謽溆行┙Y(jié)點(diǎn)有兩個后繼結(jié)點(diǎn),不符合線性結(jié)構(gòu)的定義,所以二又鏈表是非線性結(jié)構(gòu)。答案選擇C選項(xiàng)。
?
7、在下列鏈表中,能夠從任意一個結(jié)點(diǎn)出發(fā)直接訪問到所有結(jié)點(diǎn)的是()
A.單鏈表
B.循環(huán)鏈表B.
C.雙向鏈表
D.二又鏈表
[答案]B
[解析]對于線性單鏈表來說,每個結(jié)點(diǎn)只有一個指針域,這個指針只能找到其后繼結(jié)點(diǎn),但不能找到其前驅(qū)結(jié)點(diǎn),因此必須從頭指針開始,才能訪問到所有的結(jié)點(diǎn);循環(huán)鏈表的最后一個結(jié)點(diǎn)的指針域指向表頭結(jié)點(diǎn),所有結(jié)點(diǎn)的指針構(gòu)成了一個環(huán)狀鏈,只要指出表中任何一個結(jié)點(diǎn)的位置就可以從它出發(fā)訪問到表中其他所有的結(jié)點(diǎn);題目要求是“直接”,如果是雙向鏈表的話,從中間一個點(diǎn)開始,必須先往左一次再掉頭往右一次才能遍歷。而循環(huán)鏈表只要沿一個方向一直走下去就可以遍歷,二又鏈表是二叉樹的一種鏈?zhǔn)酱鎯Y(jié)構(gòu),每個結(jié)點(diǎn)有兩個指針域,分別指向左右子結(jié)點(diǎn),二又鏈表只能由根結(jié)點(diǎn)向葉子結(jié)點(diǎn)的方向遍歷,其他部分的結(jié)點(diǎn)無法訪問。答案選擇B選可見,
?
8.下列與棧結(jié)構(gòu)有關(guān)聯(lián)的是()
A.數(shù)組的定義域使用
B.操作系統(tǒng)的進(jìn)程調(diào)度
C.函數(shù)的遞歸調(diào)用
D.選擇結(jié)構(gòu)的執(zhí)行
[答案] C
[解析]
函數(shù)的遞歸調(diào)用是指函數(shù)調(diào)用函數(shù)本身,直到滿足特定條件時終止,然后從最后被遞歸調(diào)用處返回。遞歸函數(shù)是通過棧來實(shí)現(xiàn)的,所以調(diào)用原則和棧的實(shí)現(xiàn)相一致。所以遞歸函數(shù)是通過棧來實(shí)現(xiàn)的。答案選擇C選項(xiàng)
?
9.下面對軟件特點(diǎn)描述不正確的是()
A,軟件是一種邏輯實(shí)體,具有抽象性
B.軟件開發(fā)、運(yùn)行對計算機(jī)系統(tǒng)具有依賴性
C.軟件開發(fā)涉及軟件知識產(chǎn)權(quán)、法律及心理等社會因素
D.軟件運(yùn)行存在磨損和老化問題
[答案] D
(解析]軟件具有以下特點(diǎn):(1)軟件具有抽象性,是一種邏輯實(shí)體,(2)軟件沒有明顯的制作過程,(3)軟件在使用期間不存在磨損、老化問題,對硬件和環(huán)境具有依賴性,軟件復(fù)雜性高,成本昂貴;(4)軟件開發(fā)涉及諸多的社會因素。D項(xiàng)描述是硬件存在的問題。答案選擇D選項(xiàng)
?
10、下面屬于黑盒測試方法的是()
A.基本路徑測試
B.等價類劃分B.
C.判定覆蓋測試
D.語句覆蓋測試
[答案] B
[解析]常用的黑盒測試方法有:(1)等價類劃分法,(2)邊界值分析法,(3)錯誤推測法,因果圖等。常用的白盒測方法有:D邏輯覆蓋測試,包括語句覆蓋、路徑覆蓋、判斷覆蓋、條件覆蓋;2基本路徑測試等,ACD三項(xiàng)屬于白盒測試答案選擇B選項(xiàng)。