- 相關(guān)推薦
2017年C語言考試題模擬練習(xí)
學(xué)習(xí)?次膶W(xué)書,也是不好的。先前的文學(xué)青年,往往厭惡數(shù)學(xué)、理化、史地、生物學(xué),以為這些都無足輕重,后來變成連常識也沒有。以下是小編為大家搜索整理的2017年C語言考試題模擬練習(xí),希望能給大家?guī)韼椭?更多精彩內(nèi)容請及時關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
一、選擇題
1). 下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )
A.循環(huán)隊列
B.帶鏈隊列
C.二叉樹
D.帶鏈棧
正確答案:C
答案解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。循環(huán)隊列、帶鏈隊列和帶鏈棧都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
2). 設(shè)有定義: char s[81]; int i=0; 以下不能將一行(不超過80個字符)帶有空格的字符串正確讀入的語句或語句組是( )
A.while((s[i++]=getchar())!=′\n′);s[i]=′\0′;
B.scanf(″%s″,s);
C.gets(s);
D.do{ scanf(″%c″,&s[i]); }while(s[i++]!=′\n′); s[i]=′\0′;
正確答案:B
答案解析:本題考查標(biāo)準(zhǔn)輸入輸出函數(shù)和循環(huán)語句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車。而scanf()函數(shù)接收字符串時的結(jié)束標(biāo)志為回車或者空格。
3). 若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是( )
A.++x,y=x--
B.x+1=y
C.x=x+10=x+y
D.double(x)/10
正確答案:A
答案解析:用逗號將表達式連接起來的式子稱為逗號表達式。其表達式的一般形式為:表達式1,表達式2,……,表達式n。最后一個表達式的值就是此逗號表達式的值。所以選項A為C語言中的逗號表達式。賦值表達式的左側(cè)只能是變量,不能是常量或表達式。強制類型轉(zhuǎn)換表達式的形式為:(類型名)(表達式),其中(類型名)稱為強制類型轉(zhuǎn)換運算符,數(shù)據(jù)類型兩邊的圓括號不能省略。
4). 下列敘述中正確的是( )
A.一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大
B.一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小
C.一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小
D.算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系
正確答案:D
答案解析:算法的復(fù)雜度主要包括時間復(fù)雜度和空間復(fù)雜度。算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量,算法的工作量用算法所執(zhí)行的基本運算次數(shù)來度量,而算法所執(zhí)行的基本運算次數(shù)是問題規(guī)模的函數(shù),即算法的工作量=f(n),其中n是問題的規(guī)模;算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占用的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。根據(jù)各自的定義可知,算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。
5). 下列描述中正確的是( )
A.程序就是軟件
B.軟件開發(fā)不受計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又是物理實體
D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
正確答案:D
答案解析:計算機軟件與硬件是計算機系統(tǒng)中相互依存的兩部分。計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件由兩部分組成:一部分是機器可執(zhí)行的程序和數(shù)據(jù);二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關(guān)的文檔。軟件具有以下六個特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性。②軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。③軟件在運行、使用期間不存在磨損、老化問題。④軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。⑤軟件復(fù)雜性高,成本昂貴。⑥軟件的開發(fā)涉及諸多社會因素。
二、程序填空題
函數(shù)fun的功能是:輸出a所指數(shù)組中的前n個數(shù)據(jù),要求每行輸出5個數(shù)。
請在程序的下畫線處填入正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANKl.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
三、程序修改題
給定程序MODl1.C中,fun函數(shù)的功能是:在任意給定的N個正整數(shù)中,從左到右依次逐個取三個數(shù)作為一組,按值大小找出該組數(shù)的中值,用該中值替換與該組數(shù)對應(yīng)的原三個數(shù)中的中間位置的數(shù)。處理后原數(shù)列中首尾2個數(shù)不變。處理后數(shù)列在主函數(shù)中輸出。例如,有10個正整數(shù)如下:
四、程序設(shè)計題
請編寫函數(shù)fun,函數(shù)的功能是查找X在s所指數(shù)組中下標(biāo)的位置,并作為函數(shù)值返回,若x不存在,則返回-l。
注意:部分源程序在文件PROG1.C文件中,請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
試題程序:
二、程序填空題
【參考答案】
三、程序修改題
【解題思路】
(1)函數(shù)findmid的功能是找到a.b、c三個數(shù)中的中間數(shù),并存放在變量t中,因此應(yīng)返回t。
(2)語法錯誤,句末缺少分號。
(3)本程序是對數(shù)組X進行操作,數(shù)組t只是用來暫時存放數(shù)組X中的元素,因此此處應(yīng)為x[i+1]=findmid(a,b,c)。
四、程序設(shè)計題
【解題思路】
要找出數(shù)組中指定數(shù)據(jù)的下標(biāo),首先定義變量i用于存放數(shù)組下標(biāo),然后使用循環(huán)語句對數(shù)組進行遍歷,依次取出一個數(shù)組元素與指定的數(shù)進行比較,若相等,則返回該元素的下標(biāo),否則繼續(xù)判斷下一個元素,直到數(shù)組結(jié)束。若數(shù)組結(jié)束時仍沒有找到與指定數(shù)相等的元素,則返回一1。
【C語言考試題模擬練習(xí)】相關(guān)文章:
C語言模擬試題練習(xí)08-11
C語言精選模擬練習(xí)題09-09
C語言考前模擬練習(xí)題08-24
計算機C語言模擬練習(xí)10-19
C語言考試模擬練習(xí)題06-24
C語言練習(xí)08-22
C語言作業(yè)練習(xí)10-24
C語言的基礎(chǔ)練習(xí)09-02