第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序修改題 |
第 5 頁:程序設(shè)計題 |
21 [單選題] 某二叉樹共有399個結(jié)點,其中有199個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)為( )。
A.不存在這樣的二叉樹
B.200
C.198
D.199
參考答案:B
參考解析:
根據(jù)二叉樹的基本性質(zhì),對任何一棵二叉樹,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。題目中度為2的結(jié)點為199個,則葉子結(jié)點為199+1=200。故本題答案為B選項。
22 [單選題] 有以下程序段:
程序的輸出結(jié)果是( )。
A.a=10 b=50 c=10
B.a=10 b=50 c=30
C.a=10 b=30 c=10
D.a=50 b=30 c=50
參考答案:A
參考解析:
形式為 “if(表達(dá)式)語句”的if作用到語句的第一個分號結(jié)束,所以本題中jf語句的作用范圍為a=b,b=C;。由于if條件為false,所以這兩條語句不執(zhí)行,執(zhí)行C=a語句,所以程序最終輸出結(jié)果:10,50,10,答案為A。
23 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.Zhao,m,85,90
B.Qian,m,85,90
C.Zhao,f,95,92
D.Qian,f,95,92
參考答案:D
參考解析:
本題考查結(jié)構(gòu)體的相關(guān)操作以及傳值、傳址的區(qū)別,該題中調(diào)用f函數(shù)后,會生成參數(shù)c的一個副本,而不會改變c的值,所以c值維持原值,選項D正確。
24 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.ab
B.a*b
C.*****a*b
D.a*b****
參考答案:D
參考解析:
在函數(shù)fun(char*a,char*b)中,while(*a==‘*’)a++的功能是:如果*a的內(nèi)容為‘*’,則a指針向后移動,直到遇到非‘*’字符為止,退出循環(huán)進(jìn)入下個while循環(huán),在while(*b=*a){b++;a++;}中,把字符數(shù)組a中的字符逐個賦給字符數(shù)組b。所以在主函數(shù)中,執(zhí)行fun(s,t)語句后,字符數(shù)組t中的內(nèi)容為“a*b****”。因此D選項正確。
25 [單選題] 下面不屬于需求分析階段任務(wù)的是( )。
A.確定軟件系統(tǒng)的功能需求
B.確定軟件系統(tǒng)的性能需求
C.需求規(guī)格說明書評審
D.制定軟件集成測試計劃
參考答案:D
參考解析:
需求分析階段的工作有:需求獲取;需求分析;編寫需求規(guī)格說明書;需求評審,所以選擇D。
26 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.10,64
B.10,10
C.64,10
D.64,64
參考答案:A
參考解析:
本題考查宏定義的用法,宏定義只是做個簡單的替換,所以本題中執(zhí)行f(a+1)=a+l*a+1*a+l=3*a+1=10,f((a+1))=(a+1)*(a+1)*(a+1)=64,所以答案為A選項。
27 [單選題] 定義學(xué)生、教師和課程的關(guān)系模式S(S#,Sn,Sd,De,SA)(其屬性分別為學(xué)號、姓名、所在系、所在系的系主任、年齡);C(C#,Cn,P#)(其屬性分別為課程號、課程名、先修課);SC(S#,C#,G)(其屬性分別為學(xué)號、課程號和成績),則該關(guān)系為( )。
A.第二范式
B.第一范式
C.第三范式
D.BCNF范式
參考答案:A
參考解析:
范式是符合某一種級別的關(guān)系模式的集合。關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求,滿足不同程度要求的為不同范式。目前關(guān)系數(shù)據(jù)庫有六種范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce —Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。滿足最低要求的范式是第一范式(1NF)。在第一范式的基礎(chǔ)上進(jìn)一步滿足更多要求的稱為第二范式(2NF),其余范式以次類推。一般說來,數(shù)據(jù)庫只需滿足第三范式(3NF)就行了。 第一范式:主屬性(主鍵)不為空且不重復(fù),字段不可再分(存在非主屬性對主屬性的部分依賴)。
第二范式:如果關(guān)系模式是第一范式,每個非主屬性都沒有對主鍵的部分依賴。
第三范式:如果關(guān)系模式是第二范式,沒有非主屬性對主鍵的傳遞依賴和部分依賴。
BCNF范式:所有屬性都不傳遞依賴于關(guān)系的任何候選鍵。
題目中關(guān)系模式滿足第二范式,但在關(guān)系模式s中,學(xué)生所在系依賴于學(xué)號(S# →Sd),但系本身確定了系主任(Sd→Dc),存在傳遞依賴,不滿足第三范式。故本題答案為A選項。
28 [單選題] 設(shè)一棵樹的度為4,其中度為4,3,2,1的結(jié)點個數(shù)分別為2,3,3,0。則該棵樹中的葉子結(jié)點數(shù)為( )。
A.16
B.15
C.17
D.不可能有這樣的樹
參考答案:A
參考解析:
根據(jù)題目,樹的結(jié)點數(shù)=4×2+3×3+2×3+1×0+根結(jié)點=8+9+6+0+1=24,即總結(jié)點數(shù)為24,總結(jié)點數(shù)減去度不為0的結(jié)點數(shù)即是葉子結(jié)點,24-(2+3+3)=16。故本題答案為A選項。
29 [單選題] 下面結(jié)構(gòu)體的定義語句中,錯誤的是( )。
參考答案:A
參考解析:
定義一個結(jié)構(gòu)體的一般形式為: struct結(jié)構(gòu)名{成員列表};
說明結(jié)構(gòu)變量有3種方法:
1.先定義結(jié)構(gòu)體,再說明結(jié)構(gòu)變量
struet結(jié)構(gòu)名
{成員列表};
struct結(jié)構(gòu)名變量名1、變量名2;
故選項B正確。
2.在定義結(jié)構(gòu)類型的同時說明結(jié)構(gòu)變量
struct結(jié)構(gòu)名
{
成員列表
{變量名列表;
故選項C正確。
3.直接說明結(jié)構(gòu)變量
struct
}
成員列表
}變量名列表;
故選項D正確。
使用方法1定義結(jié)構(gòu)體時,在右括號的后面不能省略分號,故選項A錯誤。
30 [單選題] 一棵二叉樹共有25個結(jié)點,其中5個是葉子結(jié)點,則度為l的結(jié)點數(shù)為( )。
A.16
B.10
C.6
D.4
參考答案:A
參考解析:
根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個,所以本題中度為2的結(jié)點是5-1=4個,所以度為l的結(jié)點的個數(shù)是25-5-4=16個。
31 [單選題] 在數(shù)據(jù)庫管理技術(shù)發(fā)展的三個階段中,沒有專門的軟件對數(shù)據(jù)進(jìn)行管理的是( )。
A.人工管理階段
B.文件系統(tǒng)階段
C.文件系統(tǒng)階段和數(shù)據(jù)庫階段
D.人工管理階段和文件系統(tǒng)階段
參考答案:A
參考解析:
數(shù)據(jù)庫管理技術(shù)的三個階段是人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。人工管理階段沒有專門的軟件對數(shù)據(jù)進(jìn)行管理。故本題答案為A選項。
32 [單選題] 若變量已正確定義,在if(W)prinff(”%d\n”,k);中,以下不可替代w的是( )。
A.a<>b+c
B.ch=getchar()
C.a=b+c
D.a++
參考答案:A
參考解析:
if語句中的判斷條件是表達(dá)式,該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,也可以是算術(shù)表達(dá)式或賦值表達(dá)式,甚至是一個常量或變量,只要是語句合法的表達(dá)式即可,選項B是合法的賦值表達(dá)式,正確;選項C是關(guān)系表達(dá)式,正確;選項D都算術(shù)表達(dá)式,也是合法的表達(dá)式,正確;選項A中的符號<>不合法,故答案選A。
33 [單選題] 以下敘述錯誤的是( )。
A.若用戶標(biāo)識符的命名與預(yù)定義標(biāo)識符相同,命名無效
B.若用戶標(biāo)識符的命名與關(guān)鍵字相同,將產(chǎn)生編譯錯誤
C.若用戶標(biāo)識符的命名與預(yù)定義標(biāo)識符相同,預(yù)定義標(biāo)識符失去原有含義
D.若用戶標(biāo)識符的命名與預(yù)定義標(biāo)識符相同,可能引發(fā)運(yùn)行錯誤
參考答案:A
參考解析:
標(biāo)識符分為關(guān)鍵字、預(yù)定義標(biāo)識符、用戶標(biāo)識符,關(guān)鍵字不可以作為用戶標(biāo)識符,故選項B正確;預(yù)定義標(biāo)識符可以作為用戶標(biāo)識符,原來的預(yù)定義標(biāo)識符將會被用戶標(biāo)識符覆蓋,預(yù)定義標(biāo)識符的原意失效,故選項A錯誤,選項C正確;用戶標(biāo)識符與預(yù)定義標(biāo)識符同名時,可能會導(dǎo)致運(yùn)行錯誤,故選項D正確,因此答案為A。
34 [單選題] 有以下程序:
若運(yùn)行時輸入:246<回車>,則輸出結(jié)果為( )。
A.246
B.200
C.240
D.204
參考答案:D
參考解析:
分析程序可知,main函數(shù)首先初始化一個3 X2的二維數(shù)組x,其中每個元素的初值為0,然后通過for循環(huán),為x的行首元素重新賦值(x[i]為每行行首元素的地址),當(dāng)輸入2、4、6后,行首元素x[0][0]、x[1][0]、x[2][0]的值為2、4、6,所以輸出為:2、0、4。故答案選D。
35 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.1,1,2,6,
B.6,2,1,1。
C.6,4,3,2,
D.2,3,4,6,
參考答案:C
參考解析:
首先對二維數(shù)組進(jìn)行賦值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值為1、4、…、6、1。通過for嵌套循環(huán)語句和if條件語句,對二維數(shù)組對角線元素進(jìn)行由大到小的排序操作.程序最后通過for語句輸出二維數(shù)組第1行的4個元素。因此C選項正確。
36 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.2,3
B.1,3
C.1,4
D.1.2
參考答案:B
參考解析:
在f(int*p,int*q)函數(shù)中,執(zhí)行p=p+11是將p所對應(yīng)的地址加1,而*q=*q+1是將q所指向的n1的地址所對應(yīng)的值加1,所以m的得知所對應(yīng)的值沒有變,而n的值則為3了。因此B選項正確。
37 [單選題] 以下結(jié)構(gòu)體類型說明和變量定義中正確的是( )。
參考答案:B
參考解析:
本題考查結(jié)構(gòu)體的相關(guān)知識,選項A中struct REC后面不能有分號,C選項中typedef struct REC的后面也不能有分號,選項D中REC已經(jīng)是結(jié)構(gòu)體變量,不能當(dāng)作結(jié)構(gòu)體類型來使用。
38 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.1
B.2
C.3
D.4
參考答案:B
參考解析:
本題重點考察函數(shù)的遞歸調(diào)用;題目中給出的fun()函數(shù)直接調(diào)用了自身,所以是一個遞歸函數(shù)。其功能是:當(dāng)參數(shù)b為0時,返回參數(shù)a的值,否則返回fun(--a,--b)的值。從這里可以看出,當(dāng)b不斷遞減時,a也不斷遞減,直到b為0時返回a的值。那么a遞減的總值就是b原來的值。所以整個遞歸函數(shù)的作用就是返回a-b的值。因此B選項正確。
39 [單選題] 有以下程序段:
當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=1001<回車>后,name的值為( )。
A.name=Lili num=1001
B.name=Lili
C.Lili num=
D.Lili
參考答案:D
參考解析:
在輸入格式控制“name=%s num=%d”中,普通字符“name=num=”在輸入時要原樣輸入,而格式控制符%s和%d對應(yīng)各自的輸入項,將輸入的數(shù)據(jù)賦給相應(yīng)的輸入項。本題中輸入“name=Lili num=1001<回車>”后,將字符串Lili賦給字符數(shù)組name,整數(shù)1001賦給變量num。因此D選項正確。
40 [單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.z
B.0
C.元素ch[5]的地址
D.字符y的地址
參考答案:A
參考解析:
語句pc=ch;使得指針變量指向字符數(shù)組ch的首地址,即指向字符‘u’。則pc+5指向的是字符向后移動5位,指向字符‘z’。所以輸出的*pc+5的值即為‘z’。因此A選項正確。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
【考試吧整理】計算機(jī)等級考試各科目歷年真題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |