- 相關(guān)推薦
2017年3月計算機二級C語(yǔ)言考試沖刺試題及答案
一、選擇題

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