5[簡答題]N名學生的成績已在主函數中放入一個帶有頭結點的鏈表結構中,h指向鏈表的頭結點。請編寫函數fun(),其功能是:找出學生的最高分,并由函數值返回。
注意:部分源程序給出如下。
請勿改動main()函數和其他函數中的任何內容,僅在函數fun()的花括號中填入所編寫的若干語句。
試題程序:
參考解析:
【解析】本題考查的是結構體類型、指針型變量、鏈表和if語句等知識點。需要用for循環遍歷鏈表中的每一個結點,用判斷語句比較結點數據域的大小。可以通過while循環實現對最大成績的查找,具體步驟為遍歷鏈表遇到比max大的值(maxs)則賦值給max,max=h->s。需要注意的是,h是指向結構體類型的指針變量,引用它指向的結構體的成員時,要用指向運算符“一>”。
6[單選題] 有三個關系R、S和T如下:
則由關系R和s得到關系T的操作是( )。
A.自然連接B.并C.交D.差
參考答案:D
參考解析:關系T中的元組是關系R中有面關系s中沒有的元組的集合,即從關系R中除去與關系s中相同元組后得到的關系T。所以做的是差運算。
7[單選題] 函數hell(fp)的作用是( )。
A.得到fp所指向文件的當前讀寫位置
B.初始化流式文件的位置指針
C.移動硫式文件的位置指針
D.以上答案均正確
參考答案:A
參考解析:位置指針當前值函數ftell()的基本調用格式為ftell(fp)。ftell函數的功能:得到fp所指向文件的當前讀寫位置,即位置指針的當前值,如果函數的返回值為-1L,表示出錯。
8[單選題] 有如下程序:
該程序的執行結果是( )。
A.321B.23C.不輸出任何內容D.陷入死循環
參考答案:B
參考解析:本題考查do-while語句,當x=23時,執行do后的語句,x--的表達式值為x=x=1,此時x的值為22,而!x為0,因此while循環不成立,退出,故選擇B選項。
9[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.IB.JC.KD.H
參考答案:B
參考解析:(”%e\n”,’A’+x),x=oxg(16)轉為十進制x=9,因此prinff(”%e\n”,7A’+9),打印格式要求是%c,因此需要從字符A,按字母順序向后偏移9個位置,可得結果為J。故答案為B選項。
10[單選題] 有下列程序:
執行后的輸出結果是( )。
A.1B.2C.4D.死循環
參考答案:A
考解析:在程序語句中,k的初始值為5,進行第1次while循環后,k自減1為4,非0,執行循環體里的printf語句,輸出k,此時k的值變為1。程序執行第2次循環時,k自減1變為0,為假,退出while循環語句。所以程序的最后結果為1。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |