全國(guó)計(jì)算機(jī)二級(jí)《C語言》考試題及答案
2017全國(guó)計(jì)算機(jī)二級(jí)《C語言》考試題及答案
在備考復(fù)習(xí)階段,需通過大量試題練習(xí),加深對(duì)考點(diǎn)的理解和掌握。以下是小編搜索整理2017全國(guó)計(jì)算機(jī)二級(jí)《C語言》考試題及答案,供參考練習(xí),希望對(duì)大家有所幫助!
(資料圖)
一、選擇題
1).我們所寫的每條C語句,經(jīng)過編譯最終都將轉(zhuǎn)換成二進(jìn)制的機(jī)器指令。關(guān)于轉(zhuǎn)換以下說法錯(cuò)誤的是()
A.一條C語句可能會(huì)被轉(zhuǎn)換成多條機(jī)器指令
B.一條C語句對(duì)應(yīng)轉(zhuǎn)換成一條機(jī)器指令
C.一條C語句可能會(huì)被轉(zhuǎn)換成零條機(jī)器指令
D.某種類型和格式的C語句被轉(zhuǎn)換成機(jī)器指令的條數(shù)是固定的
正確答案:B
答案解析:由C語言編寫的程序,通過編譯、鏈接轉(zhuǎn)換成可以讓機(jī)器識(shí)別的01二進(jìn)制指令。這些二進(jìn)制指令命令機(jī)器計(jì)算,這些就是機(jī)器指令,而C語言的語句條數(shù)和機(jī)器指令的條數(shù)不是一對(duì)一的關(guān)系。
2).數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有3級(jí)模式,用來描述數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的是()。
A.外模式
B.概念模式
C.內(nèi)模式
D.存儲(chǔ)模式
正確答案:B
答案解析:概念模式,也稱邏輯模式,是對(duì)數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶應(yīng)用公共數(shù)據(jù)視圖。它不涉及具體的硬件環(huán)境與平臺(tái),與具體的軟件環(huán)境也無關(guān)。
3).以下敘述中正確的是()
A.程序的算法只能使用流程圖來描述
B.N-S流程圖只能描述簡(jiǎn)單的順序結(jié)構(gòu)的程序
C.計(jì)算機(jī)可以直接處理C語言程序,不必進(jìn)行任何轉(zhuǎn)換
D.結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)是循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)
正確答案:D
答案解析:結(jié)構(gòu)化程序有三種基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu),描述算法常見的有文字描述,流程圖,盒圖,偽代碼等。N-S圖為盒圖,可以描述比較復(fù)雜的程序結(jié)構(gòu),而計(jì)算機(jī)不能直接處理C程序,只能處理二進(jìn)制代碼。
4).下列敘述中正確的是()
A.兩個(gè)連續(xù)的單引號(hào)(′′)是合法的字符常量
B.可以對(duì)字符串進(jìn)行關(guān)系運(yùn)算
C.兩個(gè)連續(xù)的雙引號(hào)(″″)是合法的字符串常量
D.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0
正確答案:C
答案解析:兩個(gè)連續(xù)的雙引號(hào):″″,是一個(gè)字符串常量,稱為″空串″。
5).若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。
A.x=y==5;
B.x=n%2.5;
C.x+n=I;
D.x=5=4+1;
正確答案:A
答案解析:選項(xiàng)A的含義是把關(guān)系表達(dá)式y(tǒng)==5的值賦給變量x。所以這是一條正確的賦值語句。因?yàn)橘x值運(yùn)算符左側(cè)的操作數(shù)必須是一個(gè)變量,而不能是表達(dá)式或者常量,所以選項(xiàng)C和D是錯(cuò)誤的。因?yàn)榍笥噙\(yùn)算符″%″兩側(cè)的運(yùn)算對(duì)象都應(yīng)當(dāng)是整型數(shù)據(jù),所以選項(xiàng)B是錯(cuò)誤的。
二、程序填空題
給定程序中。函數(shù)fun的功能是:在任意給定的9個(gè)正整數(shù)中找出按升序排列時(shí)處于中間的數(shù),將原數(shù)據(jù)序列中比該中間數(shù)小的數(shù)用該中間數(shù)替換,位置不變,在主函數(shù)中輸出處理后的數(shù)據(jù)序列,并將中間數(shù)作為函數(shù)值返回。
例如,有9個(gè)正整數(shù):1572387582145
按升序排列時(shí)的中間數(shù)為:8 處理后主函數(shù)中輸出的數(shù)列為:8882387882145
請(qǐng)?jiān)诔绦虻南庐嬀€處填入正確的.內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANKl.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
試題程序:
三、程序修改題
給定程序MODll.C中,fun函數(shù)的功能是:刪除b所指數(shù)組中小于10的數(shù)據(jù)。主函數(shù)中輸出刪除后數(shù)組中余下的數(shù)據(jù)。
請(qǐng)改正函數(shù)flm中指定部位的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行.也不得更改程序的結(jié)構(gòu)!
四、程序設(shè)計(jì)題
請(qǐng)編寫函數(shù)fun,其功能是:統(tǒng)計(jì)s所指字符串中的數(shù)字字符個(gè)數(shù),并作為函數(shù)值返回。
參考答案
二、程序填空題
【參考答案】
(1)b[k](2)4或N/2(3)<
【解題思路】
數(shù)組中的9個(gè)數(shù)任意排列,要找到按升序排列時(shí)處于中間位置的數(shù),應(yīng)首先對(duì)數(shù)組進(jìn)行升序排列。因?yàn)橹恍枵业街虚g位置的數(shù)即可,故不必對(duì)整個(gè)數(shù)組進(jìn)行排序,只需要排列出數(shù)組的前半部分。找到中間數(shù)后,遍歷原數(shù)組,將小于中間數(shù)的元素進(jìn)行替換。
填空1:利用選擇算法排序,先指定一個(gè)元素為最小,用這個(gè)數(shù)與其后的所有數(shù)進(jìn)行比較,若找小于此數(shù),則進(jìn)行替換。此處考查替換操作。
填空2:元素mid存放中間位置的數(shù),數(shù)組長(zhǎng)度為9,因此中間元素?cái)?shù)為b[4]。
填空3:遍歷數(shù)組,當(dāng)元素小于中間位置的數(shù)(即mid)時(shí),進(jìn)行替換。
三、程序修改題
【解題思路】
要?jiǎng)h除數(shù)組b中小于10的數(shù),應(yīng)依次取出數(shù)組數(shù)組b中的元素與10進(jìn)行比較,若不小于10,則將其存入數(shù)組t中,遍歷完成后,數(shù)組t中的元素即為所求,再將數(shù)組t中的元素保存到數(shù)組b中即可。
(1)元素hum存放不小于10的元素的個(gè)數(shù),應(yīng)將其初始化為0。
(2)將數(shù)組b中不小于10的元素存人數(shù)組t中,同時(shí)使數(shù)組t的下標(biāo)加1。
(3)語法錯(cuò)誤,沒有nun這個(gè)變量,應(yīng)該為num。
四、程序設(shè)計(jì)題
【解題思路】
要統(tǒng)計(jì)字符串中數(shù)字字符的個(gè)數(shù),首先應(yīng)定義變量n,并初始化為0,然后遍歷字符串,逐個(gè)判斷字符是否為數(shù)字字符,判斷條件為該元素的ASCII碼在字符0和9的ASCII碼之間,若判斷條件成立,則使n的值加1,否則,繼續(xù)判斷下一個(gè)字符,直到字符串結(jié)束。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。