2015年計算機二級考試《C語言》提高練習題五份
試題程序:
參考解析:
【參考答案】
(1)x (2)P (3)s
【考點分析】
本題考查:鏈表的基本操作。了解鏈表的基本思想和相關算法,理解有關鏈表插入及刪除時指針移動的先后順序問題,注意指針的保存和歸位。
【解題思路】
填空l:將形參X賦值給結點的數據域。
填空2和填空3:將新的結點和原有鏈表中的結點進行比較。
2[單選題]若有以下程序
則程序的輸出結果是
A.3,3.3,7.7,7B.3,7,7,7,7,7C.7.7,7,3,3,3D.7,7,7,3,7,7
參考答案:D
參考解析:在主函數中分別給整型變量i.指針型變量P和指向指針的指針變量r賦初值;調用f函數,并將實參變量r的值傳遞給形參變量s,在f函數中,通過prind("%d,%d,%d,",k,*t,**s);語句輸出7,7,7;返回主函數,通過pfinff("%d,%d,%d\n",i,*P,**r);輸出3,7,7。因此D選項正確。
3[單選題] 若有以下程序
則程序的輸出結果是
A.6-5-4-3-2-1-B.6-5-4-3-2-1C.1-2-3-4-5-6D.1-2-3-4-5-6-
參考答案:D
參考解析:本題重點考查函數的遞歸調用,程序首先初始化整型變量z為123456,調用函數f。 f函數中首先通過if條件語句判斷x是否大于等于l0,如果條件成立,求x除以10的余數并輸出,同時將變量x做x/10運算,同時調用函數f。如果條件不成立,直接輸出變量x。因此第l次調用函數,變量x為123456,條件成立,輸出余數6;第2次調用函數,變量x為12345,條件成立,輸出余數5;第3次調用函數,變量x為1234,條件成立,輸出余數4;第4次調用函數,變量x為123,條件成立,輸出余數3;第5次調用函數,變量x為12,條件成立,輸出余數2;第6次調用函數,變量x為12345,條件不成立,輸出1。因此B選項正確。
4[單選題] 若變量已正確定義,在if(W)塒ntf(”%d\n”,k);中,以下不可替代w的是( )。
A.a<>b+CB.ch=getcharC.a==b+CD.a++
參考答案:A
參考解析:選項A是非法的表達式,C語言中沒有<>運算符。
5[簡答題]請編寫一個函數proc(),它的功能是:求出一個4×N整型二維數組中最大元素的值,并將此值返回調用函數。
請勿改動main()函數和其他函數中的任何內容,僅在函數proc的花括號中填入所編寫的若干語句。
試題程序:
參考解析:
【解析】要求出二維數組中最大元素的值,需要比較二維數組中每一個元素的值。首先,定義變量max用來存放最大元素的值,將其初始化為二維數組中第一個元素的值。然后將其與后面的每一個元素進行比較,將二維數組中最大元素的值放到變量max當中,并將其返回給主函數。
6[單選題]在深度為5的滿二叉樹葉中,葉子結點的個數為( )。
A.32B.31C.16D.15
參考答案:C
參考解析:根據二叉樹的性質及定義,一棵深度為k且有2k-1個結點的二叉樹為滿二叉樹。滿二叉樹的葉子結點為最后一層的結點數,又根據滿二叉樹的性質,在滿二叉樹的第i層上至多有2i-1個結點,因此深度為5的滿二叉樹的葉子結點數為25^1=16個。
7[單選題]下列敘述中正確的是( )。
A.棧是“先進先出”的線性表
B.隊列是“先進后出”的線性表
C.循環隊列是非線性結構
D.有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構
參考答案:D
參考解析:棧是先進后出的線性表,所以A錯誤:隊列是先進先出的線性表,所以B錯誤;循環隊列是線性結構的線性表,所以C錯誤。
8[單選題] 下列排序方法中,最壞情況下比較次數最少的是( )。
A.冒泡排序B.簡單選擇排序C.直接插入排序D.堆排序
參考答案:D
參考解析:冒泡排序與簡單插入排序與簡單選擇排序法在最壞情況下均需要比較n(n-1)/2次,而堆揮序在最壞情況下需要比較的次數是nlog2n。
9[單選題] 軟件按功能可以分為應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于系統軟件的是( ):
A.學生成績管理系統B.ERP系統C.辦公自動化系統D.UNIX系統
參考答案:D
參考解析:系統軟件是管理計算機的資源,提高計算機的使用效率,為用戶提供各種服務的軟件。應用軟件是為了應用于特定的領域而開發的軟件。選項D屬于系統軟件。選項A、B、C屬于應用軟件。故選D選項。
10[單選題] 右以下程序.
程序運行后的輸出結果是( )。
A.34B.35C.28D.59
參考答案:A
參考解析:fun()函數求矩陣反對角線的元素之和。根據fun()函數,當數組的行列下標相等時,對該行反對角線上的元素求和。故結果為4+7+11+13=34,答案為A選項。