1[填空題] 下列給定程序中已建立一個帶頭結點的單向鏈表,鏈表中的各結點按結點數據域中的數據遞增有序鏈接。函數fun的功能是:把形參X的值放入一個新結點并插入鏈表中,使插入后各結點數據域中的數據仍保持遞增有序。
請在程序的下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。
注意:部分源程序給出如下。
不得增行或刪行,也不得更改程序的結構!
試題程序:
參考解析:
【參考答案】
(1)x (2)P (3)s
【考點分析】
本題考查:鏈表的基本操作。了解鏈表的基本思想和相關算法,理解有關鏈表插入及刪除時指針移動的先后順序問題,注意指針的保存和歸位。
【解題思路】
填空l:將形參X賦值給結點的數據域。
填空2和填空3:將新的結點和原有鏈表中的結點進行比較。
2[單選題] 以下敘述中正確的是( )
A.在C程序中的八進制和十六進制,可以是浮點數
B.整型變量可以分為int型、short型、long型和un-signed型四種
C.八進制數的開頭要使用英文字母0,否則不能與十進制區分開
D.英文大寫字母x和英文小寫字母x都可以作為二進制數字的開頭字符
參考答案:B
參考解析:c程序中的實型常量只有十進制一種數制,所以A錯誤。八進制數以0打頭。所以c錯誤。c語言中整數只有十進制。八進制。十六進制三種沒有二進制數制,所以D錯誤。
3[單選題] 以下敘述中正確的是( )
A.N—S流程圖只能描述簡單的順序結構的程序
B.程序的算法只能使用流程圖來描述
C.結構化程序的三種基本結構是循環結構、選擇結構、順序結構
D.計算機可以直接處理C語言程序,不必進行任何轉換
參考答案:C
參考解析:N—s流程圖是可以描述循環結構。選擇結構。順序結構等多種結構的程序,所以A選項錯誤。程序的算法可以用流程圖。偽代碼。N—S結構圖等方法表示,所以B選項錯誤。計算機只能處理二進制表示的目標程序,不能直接執行由C語言編寫的源程序,所以D選項錯誤。
4[單選題] 下列敘述中正確的是( )。
A.算法就是程序
B.設計算法時只需要考慮數據結構的設計
C.設計算法時只需要考慮結果的可靠性
D.以上三種說法都不對
參考答案:D
參考解析:算法是指解題方案的準確而完整的描述,算法不等于程序,也不等于計算方法,所以A錯誤。設計算法時不僅要考慮對數據對象的運算和操作,還要考慮算法的控制結構。
5[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.9B.8C.7D.10
參考答案:A
參考解析:題目中靜態局部變量a,在靜態存儲區內分配存儲單元,在程序整個運行期間都不釋放。所以第-次調用函數執行n+=a++;時a先與n相加在再進行自增。n的值為4,a的值為2,且a變量執行完后空間沒有釋放。再執行s:。+f(a)時,s的值為4,調用f(a)函數時n的返回值為n=3+2=5,且此時a的值為3了。所以s的值為9。
6[單選題]若有以下程序
則程序的輸出結果是
A.4,5,6,7,B.4,7,10,13,C.4,6,8,10,D.3,5,7,9,
參考答案:C
參考解析:主函數中變量k作為for語句的循環變量,取值0、1、2、3,同時也作為實參通過調用函數f傳遞給形參變量m。南于變量a是全局變量,變量n是static靜態變量,因此k=0時,f函數中,語句return n+m+a;即l+0+3=4;k=1時,f函數中,語句retum n+m+8;即2+1+3=6;k;2時,f函數中,語句returnn+m+a;即3+2+3=8;k=3時,f函數中,語句return n+m+a;即4+3+3=10。因此C選項正確。
7[單選題] 以下針對全局變量的敘述錯誤的是
A.用extern說明符可以限制全局變量的作用域
B.全局變量是在函數外部任意位置上定義的變量
C.全局變量的作用域是從定義位置開始至源文件結束
D.全局變量的生存期貫穿于整個程序的運行期間
參考答案:A
參考解析:在不同編譯單位內用extern說明符來擴展全局變量的作用域,extem可以將全局變量作用域擴展到其他文件,而不是限制全局變量的作用域,答案為A選項。
8[單選題] 學生選課成績表的關系模式是sc(S#,c#,G),其中S#為學號,c#為課號,G為成績,檢索課號為2且成績及格的學生學號的表達式為( )。
參考答案:A
參考解析:表示針對屬性進行的投影運算,0r表示針對元組進行的選擇運算,’^’表示交運算,’V’表示并運算。要求檢索結果為關系模式中的學生學號s#,首先在幾種屬性中選擇學生學號'iTS#,其次要在其中選擇滿足條件的元組0r,條件是課號為2且成績及格,即為“c#=2AG,>60”,故完整表達式為叮rs#(orc#=2AG一>60(SC))。本題選A選項。
9[單選題] 以下是正確c語言標識符的是( )。
A.&3B.#3C.jD.一3
參考答案:C
參考解析:c語言合法標識名的命名規則是:(1)標識符由字母、數字和下劃線組成。(2)第一個字符不能是數字只能是字母或下劃線。選項A的第一個字符為&,非法,選項B,第一個字符為#,非法,選項D,第一個字符為一,非法。答案為選項C。
10[單選題] 以下敘述中正確的是
A.if語句只能嵌套一層
B.if子句和else子句中可以是任意的合法的c語句
C.不能在else子句中再嵌套if語句
D.改變if-else語句的縮進格式,會改變程序的執行流程
參考答案:B
參考解析:A選項中,if語句的嵌套沒有規定層數;C選項中,可以在else予句中再嵌套if語句;D選項中,改變if—else語句的縮進格式,不會改變程序的執行流程,需要注意if和else的配對問題。因此B選項正確。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |