全國計算機c語言二級考試試題
在全國計算機二級考試的時候,我們會遇到什么題目類型呢?下面是學習啦小編給大家整理的全國計算機c語言二級考試試題和答案及解析,供大家參閱,對接下來的二級考試有一定的了解!
計算機c語言二級考試試題
一、程序填空題
程序通過定義學生結(jié)構體變量,存儲了學生的學號、姓名和三門課的成績。所有學
生數(shù)據(jù)均以二進制方式輸出到文件中。函數(shù)fun的功能是重寫形參filename所指文件中最后一個學生的數(shù)據(jù),即用新的學生數(shù)據(jù)覆蓋該學生原來的數(shù)據(jù),其他學生的數(shù)據(jù)不變。
請在程序的下畫線處填人正確的內(nèi)容并把下畫線刪除,使程序得出正確的結(jié)果。
注意:部分源程序在文件BLANKl.C中。不得增行或刪行,也不得更改程序的結(jié)構!
二、程序修改題
下列給定程序中函數(shù)Creatlink的功能是:創(chuàng)建帶頭結(jié)點的單向鏈表,并為各結(jié)點數(shù)據(jù)域賦0到m-1的值。
請改正函數(shù)Creatlink中指定部位的錯誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構!
試題程序:
三、程序設計題
請編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)計一行字符串中單詞的個數(shù),作為函數(shù)值返回。字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間有若干個空格隔開,一行的開始沒有空格。
注意:部分源程序在文件PROGl.C中。
請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
計算機c語言二級考試試題答案及解析
一、程序填空題
【參考答案】
(1)filename(2)fp(3)fp
【解題思路】
填空1:本空是對文本文件的打開,filename所指的文件中的最后數(shù)據(jù)要進行重寫,因此首先是要打開,因而本空填寫filename。
填空2:fseek功能是重定位流上的文件指針。用法:int fseek(FILE*stream,long offset,int from.where);本空應該填寫fp。
填空3:因為題目中要對所有學生數(shù)據(jù)均以二進制方式輸出到文件中,因此本空填寫fp。
知識點講解:函數(shù)名:fseek功能:重定位流上的文件指針。
用法:int fseek(FILE*stream,long offset.intfromwhere)。
描述:函數(shù)設置文件指針stream的位置。如果執(zhí)行成功,stream將指向以fromwhere為基準(從文件的哪里開始偏移)、偏移offset個字節(jié)的位置。正數(shù)表示正向偏移,負數(shù)表示負向偏移。如果執(zhí)行失敗(比如offset超過文件自身大小),則不改變stream指向的位置。
返回值:成功,返回0;否則返回非0值。
二、程序修改題
【參考答案】
(1)P=(NODE*)malloc(sizeof(NODE));(2)return h;
【解題思路】
(1)由變量定義可知P為指向結(jié)點的指針。指向剛分配的結(jié)構指針,所以應改為P=(NODE·)malloc(sizeof(NODE))。
(2)在動態(tài)分配內(nèi)存的下一行語句是,使用臨時結(jié)構指針變量h保存P指針的初始位置,最后返回不能使用p,是因為P的位置已經(jīng)發(fā)生了變化,所以應改為return h。
三、程序設計題
【參考答案】
【解題思路】
要判斷單詞的個數(shù),首先想到的是程序怎樣識別出一個單詞,如果一個字母的下一個字符為空格或者結(jié)束標記,則表示一個單詞結(jié)束,因此程序使用for循環(huán)語句遍歷整個字符串,用if條件語句判斷當前字符是否表示一個單詞的結(jié)束,如果當前字符表示一個單詞結(jié)束,則存放單詞個數(shù)的變量加1,最后返回單詞的個數(shù)。
看了“全國計算機c語言二級考試試題”的人還看了:
全國計算機c語言二級考試試題
上一篇:全國計算機c語言二級考試時間
下一篇:全國計算機c語言二級考試題庫