- 相關(guān)推薦
2017年3月計(jì)算機(jī)二級C語言考試沖刺試題及答案
一、選擇題
1). 下列關(guān)于線性表的敘述中,不正確的是( )。
A.線性表可以是空表
B.線性表是一種線性結(jié)構(gòu)
C.線性表的所有結(jié)點(diǎn)有且僅有一個前件和后件
D.線性表是由n個元素組成的一個有限序列
正確答案:C
答案解析:線性表是一種線性結(jié)構(gòu),由n (n≥0)個元素組成,所以線性表可以是空表。但是在線性表中,第一個結(jié)點(diǎn)沒有前件,最后一個結(jié)點(diǎn)沒有后件,其他結(jié)點(diǎn)有且只有一個前件和后件,所以選項(xiàng)C是錯誤的。
3). 下列關(guān)于C語言文件的敘述中正確的是( )
A.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
B.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
正確答案:C
答案解析:在C語言中,對輸入、輸出的數(shù)據(jù)都按″數(shù)據(jù)流″的形式進(jìn)行處理。數(shù)據(jù)可以按文本形式或二進(jìn)制形式存放在介質(zhì)上,因此文件可以按數(shù)據(jù)的存放形式分為文本文件和二進(jìn)制文件。
4). 以下不正確的定義語句是( )。
正確答案:B
答案解析:本題考查對一維數(shù)組的賦值。選項(xiàng)B中,y[5]說明數(shù)組中有5個元素,但卻給它賦了6個值,數(shù)組溢出所以是錯誤的。
5). 以下敘述中正確的是( )
A.當(dāng)用scanf從鍵盤輸入數(shù)據(jù)時,每行數(shù)據(jù)在沒按下回車鍵(Enter鍵) 前,可以任意修改
B.花括號對{}只能用來表示函數(shù)的開頭和結(jié)尾,不能用于其他目的
C.空語句就是指程序中的空行
D.復(fù)合語句在語法上包含多條語句,其中不能定義局部變量
正確答案:A
答案解析:當(dāng)使用scanf函數(shù)從鍵盤輸入數(shù)據(jù)時,每行數(shù)據(jù)在未按下回車鍵之前,可以任意修改。但按下回車鍵后,scanf函數(shù)即接受了這一行數(shù)據(jù),不能再修改。選項(xiàng)A正確,對于選項(xiàng)B,{}還可以表明復(fù)合語句的開頭結(jié)尾,或者循環(huán)體的開頭結(jié)尾等,選項(xiàng)B錯誤,而空語句為 ;,不是空行,選項(xiàng)C錯誤,在復(fù)合語句中可以定義變量為局部變量,選項(xiàng)D錯誤。
二、程序填空題
程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和三門課的成績。所有學(xué)
生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中。函數(shù)fun的功能是重寫形參filename所指文件中最后一個學(xué)生的數(shù)據(jù),即用新的學(xué)生數(shù)據(jù)覆蓋該學(xué)生原來的數(shù)據(jù),其他學(xué)生的數(shù)據(jù)不變。
請?jiān)诔绦虻南庐嬀處填人正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。
注意:部分源程序在文件BLANKl.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
三、程序修改題
下列給定程序中函數(shù)Creatlink的功能是:創(chuàng)建帶頭結(jié)點(diǎn)的單向鏈表,并為各結(jié)點(diǎn)數(shù)據(jù)域賦0到m-1的值。
請改正函數(shù)Creatlink中指定部位的錯誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
試題程序:
四、程序設(shè)計(jì)題
請編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)計(jì)一行字符串中單詞的個數(shù),作為函數(shù)值返回。字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間有若干個空格隔開,一行的開始沒有空格。
注意:部分源程序在文件PROGl.C中。
請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
參考答案及解析
二、程序填空題
【參考答案】
(1)filename(2)fp(3)fp
【解題思路】
填空1:本空是對文本文件的打開,filename所指的文件中的最后數(shù)據(jù)要進(jìn)行重寫,因此首先是要打開,因而本空填寫filename。
填空2:fseek功能是重定位流上的文件指針。用法:int fseek(FILE*stream,long offset,int from.where);本空應(yīng)該填寫fp。
填空3:因?yàn)轭}目中要對所有學(xué)生數(shù)據(jù)均以二進(jìn)制方式輸出到文件中,因此本空填寫fp。
知識點(diǎn)講解:函數(shù)名:fseek功能:重定位流上的文件指針。
用法:int fseek(FILE*stream,long offset.intfromwhere)。
描述:函數(shù)設(shè)置文件指針stream的位置。如果執(zhí)行成功,stream將指向以fromwhere為基準(zhǔn)(從文件的'哪里開始偏移)、偏移offset個字節(jié)的位置。正數(shù)表示正向偏移,負(fù)數(shù)表示負(fù)向偏移。如果執(zhí)行失敗(比如offset超過文件自身大小),則不改變stream指向的位置。
返回值:成功,返回0;否則返回非0值。
三、程序修改題
【參考答案】
(1)P=(NODE*)malloc(sizeof(NODE));(2)return h;
【解題思路】
(1)由變量定義可知P為指向結(jié)點(diǎn)的指針。指向剛分配的結(jié)構(gòu)指針,所以應(yīng)改為P=(NODE·)malloc(sizeof(NODE))。
(2)在動態(tài)分配內(nèi)存的下一行語句是,使用臨時結(jié)構(gòu)指針變量h保存P指針的初始位置,最后返回不能使用p,是因?yàn)镻的位置已經(jīng)發(fā)生了變化,所以應(yīng)改為return h。
四、程序設(shè)計(jì)題
【參考答案】
【解題思路】
要判斷單詞的個數(shù),首先想到的是程序怎樣識別出一個單詞,如果一個字母的下一個字符為空格或者結(jié)束標(biāo)記,則表示一個單詞結(jié)束,因此程序使用for循環(huán)語句遍歷整個字符串,用if條件語句判斷當(dāng)前字符是否表示一個單詞的結(jié)束,如果當(dāng)前字符表示一個單詞結(jié)束,則存放單詞個數(shù)的變量加1,最后返回單詞的個數(shù)。
【3月計(jì)算機(jī)二級C語言考試沖刺試題及答案】相關(guān)文章:
計(jì)算機(jī)二級《C語言》考試沖刺試題及答案202410-30
2017年3月計(jì)算機(jī)二級C語言考試題及答案07-25
2016年9月計(jì)算機(jī)二級C語言基礎(chǔ)試題及答案08-17
2024年12月計(jì)算機(jī)二級C語言模擬試題及答案10-25
2024年9月計(jì)算機(jī)二級《C語言》上機(jī)試題及答案10-30
2015年9月計(jì)算機(jī)考試二級C語言模擬試題答案09-17
2017計(jì)算機(jī)二級考試《C語言》考前沖刺題及答案07-06