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