2023全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言歷年真題節(jié)選及答案詳解(一)
一、選擇題?(請(qǐng)?jiān)赱答題]菜單上選擇[選擇題]命令,啟動(dòng)選擇題測(cè)試程序,按照題目上的內(nèi)容進(jìn)行答題。作答選擇題時(shí)鍵盤被封鎖,使用鍵盤無效,考生須使用鼠標(biāo)答題。選擇題部分只能進(jìn)入一次,退出后不能再次進(jìn)入。選擇題部分不單獨(dú)計(jì)時(shí)。)
1、下列敘述中正確的是()
A.所有數(shù)據(jù)結(jié)構(gòu)必須有根結(jié)點(diǎn)
B.所有數(shù)據(jù)結(jié)構(gòu)必須有終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))
C.只有一個(gè)根結(jié)點(diǎn),且只有一個(gè)葉子結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)一定是線性結(jié)構(gòu)
D.沒有根結(jié)點(diǎn)或沒有葉子結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu)
[答案]?D
[解析]?D項(xiàng)正確,線性結(jié)構(gòu)的特點(diǎn)是:(1)集合中必存在第一個(gè)元素”且惟一;(2)集合中必存在“最后個(gè)元素”且惟一;(3)除最后一個(gè)元素外,其他數(shù)據(jù)元素均有惟一的“后繼”,除第一個(gè)元素外其他數(shù)據(jù)元素均有惟一的“前驅(qū)”。所以沒有根結(jié)點(diǎn)或沒有葉子結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu)。AB兩項(xiàng)錯(cuò)誤,不是所有數(shù)據(jù)結(jié)構(gòu)都必須有根結(jié)點(diǎn)和葉子結(jié)點(diǎn);C項(xiàng)錯(cuò)誤,數(shù)據(jù)結(jié)構(gòu)中若有中間結(jié)點(diǎn)不滿足只有一個(gè)前件或者后件的條件,就不是線性結(jié)構(gòu)。答案選擇D選項(xiàng)

2、以下敘述中錯(cuò)誤的是()
A.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
B.C程序經(jīng)過編譯、鏈接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件
C.用C語(yǔ)言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中
D.C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obi的目標(biāo)程序
[答案]?A
[解析] A項(xiàng)錯(cuò)誤,注釋語(yǔ)句不會(huì)被翻譯成二進(jìn)制的機(jī)器指令。C源程序經(jīng)過C編譯程序編譯之后生成后綴為obi的二進(jìn)制文件(稱為目標(biāo)文件),然后由“鏈接程序”(Link)的軟件把obi文件與各種庫(kù)函數(shù)連接起來生成一個(gè)后綴為exe的可執(zhí)行文件。答案選擇A選項(xiàng)
?
3、C語(yǔ)言主要是借助以下()功能來實(shí)現(xiàn)程序模塊化的。
A.定義函數(shù)
B.定義常量和外部變量
C.三種基本結(jié)構(gòu)語(yǔ)句
D.豐富的數(shù)據(jù)類型
[答] A
[解析]C程序的模塊化主要通過函數(shù)來實(shí)現(xiàn)。C語(yǔ)言允許對(duì)函數(shù)單獨(dú)進(jìn)行編譯,從而可以實(shí)現(xiàn)模塊化答案選擇A選項(xiàng)。
?
4、下列敘述中正確的是( )。
A.棧是“先進(jìn)先出”的線性表
B.隊(duì)列是“先進(jìn)后出”的線性表
C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D.有序線性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
[答案] D
[解析] 有序的線性表既可采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。A項(xiàng)錯(cuò)誤,棧是“先進(jìn)后出”的線性表:B項(xiàng)錯(cuò)誤,隊(duì)列是“先進(jìn)先出”的線性表:C項(xiàng)錯(cuò)誤,循環(huán)隊(duì)列是線性結(jié)構(gòu)的,有序的線性表既可采用順序存儲(chǔ)結(jié)構(gòu),也可采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。答案選擇D選項(xiàng)。
?
5、某二叉樹的中序序列為DCBAEFG,后序序列為DCBGFEA,則該二叉樹的深度(根結(jié)點(diǎn)在第1層)為()
A.5
B.4
C.3
D.2
[答案]B
[解析]二又樹的后序序列為DCBGFEA,則A為根結(jié)點(diǎn)。中序序列為DCBAEFG,則DCB為左子樹結(jié)點(diǎn),EFG為右子樹結(jié)點(diǎn)。同理B為C父結(jié)點(diǎn),C為D父結(jié)點(diǎn)。根據(jù)分析,可畫出左子樹,同理E為F父結(jié)點(diǎn),F(xiàn)為G父結(jié)點(diǎn)。根據(jù)分析,可畫出右子樹,故二又樹深度為4層。答案選擇B選項(xiàng)。
?
6、關(guān)于C語(yǔ)言標(biāo)識(shí)符,以下敘述錯(cuò)誤的是()
A.標(biāo)識(shí)符可全部由數(shù)字組成
B.標(biāo)識(shí)符可全部由下劃線組成
C.標(biāo)識(shí)符可全部由小寫字母組成
D.標(biāo)識(shí)符可全部由大寫字母組成
[答案]?A
[解析]?C語(yǔ)言標(biāo)識(shí)符只能由字母、數(shù)字、下劃線構(gòu)成,且只能以字母、下劃線開頭,故答案選擇A選項(xiàng)。
?
7、設(shè)循環(huán)隊(duì)列為Q(1:m),其初始狀態(tài)為front-rear-m。經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front-20,rear=15?,F(xiàn)要在該循環(huán)隊(duì)列中尋找最小值的元素,最壞情況下需要比較的次數(shù)為()
A.5
B.6
C.m-5
D.m-6
[答案] D
[解析] 循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu),用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用隊(duì)首指針指向隊(duì)首元素的前一個(gè)位置,因此,從隊(duì)首指針front指向的后一個(gè)位置直到隊(duì)尾指針rear指向的位置之間所有的元素均為隊(duì)列中的元素,隊(duì)列初始狀態(tài)為front-rear-m,當(dāng)front=20,rear=15時(shí),隊(duì)列中有m-20+15=m-5個(gè)元素,最壞情況下需要比較次數(shù)為m-6次。答案選擇D選項(xiàng)