2016年計算機二級《C語言》考前測試題及答案
(1)對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是( )。

A.快速排序
B.冒泡排序
C.直接插入排序
D.堆排序
(2)下列關(guān)于棧的敘述正確的是( )。
A.棧按“先進先出”組織數(shù)據(jù)
B.棧按“先進后出”組織數(shù)據(jù)
C.只能在棧底插入數(shù)據(jù)
D.不能刪除數(shù)據(jù)
(3)在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于( )。
A.需求分析階段
B.概念設(shè)計階段
C.邏輯設(shè)計階段
D.物理設(shè)計階段
(4)在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數(shù)是( )。
A.O(n)
B.O(n2)
C.O(log2n)
D.O(nlog2n)
(5)在數(shù)據(jù)管理技術(shù)發(fā)展的三個階段中,數(shù)據(jù)共享最好的是( )。
A.人工管理階段
B.文件系統(tǒng)階段
C.數(shù)據(jù)庫系統(tǒng)階段
D.三個階段相同
(6)有三個關(guān)系R、S和T如下:
由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為( )。
A.笛卡爾積
B.交
C.并
D.自然連接
(7)設(shè)有表示學生選課的三張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為( )。
A.課號,成績
B.學號,成績
C.學號,課號
D.學號,姓名,成績
(8)下列敘述中錯誤的是( )。
A.C程序可以由多個程序文件組成
B.一個C語言程序只能實現(xiàn)一種算法
C.C程序可以由一個或多個函數(shù)組成
D.一個C函數(shù)可以單獨作為一個C程序文件存在
(9)以下選項中,能用作數(shù)據(jù)常量的是( )。
A.115L
B.0118
C.1.5e1.5
D.o115
(10)按照c語言規(guī)定的用戶標識符命名規(guī)則,不能出現(xiàn)在標識符中的是( )。
A.大寫字母
B.下劃線
C.數(shù)字字符
D.連接符
(11)設(shè)變量已正確定義并賦值,以下正確的表達式是( )。
A.x=y+z+5,+ +y
B.int(15.8%5)
C.x=y*5=x+z
D.x=25%5.0
(12)設(shè)有定義:int x=2;,以下表達式中,值不為6的是( )。
A.2*x,x+=2
B.x ++,2*x
C.x*=(1+x)
D.x*=x+1
(13)以下關(guān)于邏輯運算符兩側(cè)運算對象的敘述中正確的是( )。
A.可以是任意合法的表達式
B.只能是整數(shù)0或非0整數(shù)
C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)
D.只能是整數(shù)0或1
(17)有以下程序:
程序運行后的輸出結(jié)果是( )。
A.2,3,3
B.2,3,2
C.2,3,1
D.2,2,1
(18)有以下程序:
已知字母A的ASCII碼為65,程序運行后的輸出結(jié)果是( )。
A.E,68
B.D,69
C.E,D
D.輸出無定值
(19)
(20)讀取二進制文件的函數(shù)調(diào)用形式為:fread(buffer,size,count,fp);,其中buffer代表的是( )。
A.一個內(nèi)存塊的字節(jié)數(shù)
B.一個整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)
C.一個文件指針,指向待讀取的文件
D.一個內(nèi)存塊的首地址,代表讀人數(shù)據(jù)存放的地址
(21)某二叉樹有5個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)是( )。
A.10
B.8
C.6
D.4
(22)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是( )。
A.編譯程序
B.操作系統(tǒng)
C.教務(wù)管理系統(tǒng)
D.匯編程序
(23)有兩個關(guān)系R、S如下:
由關(guān)系R通過運算得到關(guān)系S,則所使用的運算為( )。
A.選擇
B.投影
C.插入
D.連接
(24)以下四個程序中,完全正確的是( )。
(25)以下選項中,能用作用戶標識符的是( )。
A._0_
B.8_8
C.void
D.unsigned
參考答案:
(1)D
【解析】除了堆排序算法的比較次數(shù)是O(nlog2n),其他的都是n(n-1)/2。
(2)B
【解析】棧是按“先進后出”的原則組織數(shù)據(jù)的,數(shù)據(jù)的插入和刪除都在棧頂進行操作。
(3)C
【解析】E-R圖轉(zhuǎn)換成關(guān)系模型數(shù)據(jù)則是把圖形分析出來的聯(lián)系反映到數(shù)據(jù)庫中,即設(shè)計出表,所以屬于邏輯設(shè)計階段。
(4)C
【解析】當有序線性表為順序存儲時才能用二分法查找?梢宰C明的是對于長度為n的有序線性表,在最壞情況下,二分法查找只需要比較log2n次,而順序查找需要比較n次。
(5)C
【解析】數(shù)據(jù)管理發(fā)展至今已經(jīng)歷了三個階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中最后一個階段結(jié)構(gòu)簡單,使用方便邏輯性強物理性少,在各方面的表現(xiàn)都最好,一直占據(jù)數(shù)據(jù)庫領(lǐng)域的主導(dǎo)地位。所以選擇C。
(6)D
【解析】自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T關(guān)系中的有序組可知R與S進行的是自然連接操作。
(7)C
【解析】學號是學生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,所以選擇C。
(8)B
【解析】在一個C語言程序中可以進行多種算法的實現(xiàn),對算法的個數(shù)沒有規(guī)定,所以B錯誤。
(9)A
【解析】A選項中115L表示115是長整型數(shù)據(jù),合法。B選項是八進制常量的表示方法,但是在八進制中不能含有數(shù)字8,所以B錯誤。C選項中e后面應(yīng)該是整數(shù)不能是
小數(shù)1.5,所以C錯誤。D選項中八進制常量應(yīng)該是數(shù)字“0”開始,而不是字母“o”開始。
(10)D
【解析】C語言中標識符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。所以D選項中的連接符不合法。
(11)A【解析】B與D選項中取模運算符%的左右兩個操作數(shù)均應(yīng)為整數(shù),所以B、D錯誤。C選項中不能將x+y的值賦給表達式y(tǒng)*5,所以C錯誤。
(12)A
(13)A
【解析】C語言的邏輯運算符比較特別,它的操作數(shù)沒有明確的數(shù)據(jù)類型,可以是任意合法的表達式,所以選擇A。
(14)A
(15)B
【解析】取模運算符“%”,二元運算符,具有左結(jié)合性,參與運算的量均為整型。選項B中的a變量是double實型,所以B不符合規(guī)定。
(16)D【解析】C語言中利用sizeof()函數(shù)判斷數(shù)據(jù)類型長度,在VC6.0平臺中,整型int占有4個字節(jié),double型數(shù)據(jù)占有8個字節(jié)。
(17)C
【解折】z=x++,Y++,++y;因為賦值運算符的優(yōu)先級高于逗號運算符的優(yōu)先級,所以可以將上式表示成(z=x++),(y++),(++y)。然后從左向右先計算表達式z=x++因為x++先使用后自增,所以z的值為1,x的值為2。再計算逗號表達式第二個表達式y(tǒng)++,此時y的值為2,最后計算第三個表達式++y,y的值為3。
(18)A
【解析】本題目中字符變量cl是字符‘A’的ASCII碼加上4,即69所對應(yīng)的字符‘E’。字符變量c2是字符‘A’的ASCII碼加上3,即68所對應(yīng)的字符‘D’。但是打印輸出時,cl以%C的格式輸出,所以是E,c2以%d的格式輸出,所以是68。
(19)A【解析】條件表達式:x=表達式1?表達式2:表達式3的含義是:先求解表達式1,若為非0(真),則求解表達式2,將表達式2的值賦給x。若表達式1的值為0(假),則求解表達式3,將表達式3的值賦給x。在本題中與表達式1:(x-y)等價的是(x-y<0||x-Y>0)。
(20)A
【解析】B選項中打開一個已存在的文件并進行了寫操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以對源文件進行追加操作等。C選項中在一個程序中當對文件進行了寫操作后,不用先關(guān)閉該文件然后再打開,才能讀到第1個數(shù)據(jù),可以用fseek()函數(shù)進行重新定位即可。D選項中,C語言中的文件可以進行隨機讀寫。
(21)C
【解析】根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個,所以本題中是5+1=6個。
(22)C
【解析】編譯軟件、操作系統(tǒng)、匯編程序都屬于系統(tǒng)軟件,只有C教務(wù)管理系統(tǒng)才是應(yīng)用軟件。
(23)B
【解析】投影運算是指對于關(guān)系內(nèi)的域指定可引入新的運算。本題中s是在原有關(guān)系R的內(nèi)部進行的,是由目中原有的那些域的列所組成的關(guān)系。所以選擇B。
(24)B
【解析】C語言中注釋語句的注釋方法是:/*注釋內(nèi)容*/或//注釋一行。所以A與C錯誤,D選項中預(yù)編譯命令include前丟掉了“#”號。所以選擇B。
(25)A
【解析】C語言中標識符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標識符:B中以數(shù)字8開頭,所以錯誤。C與D中用的是關(guān)鍵字void與unsigned,所以錯誤。
【計算機二級《C語言》考前測試題及答案】相關(guān)文章:
2017計算機二級C語言考前測試題與答案04-10
國家計算機二級《C語言》考前測試題及答案03-10
計算機二級C語言考前測試題08-13
計算機二級C語言程序設(shè)計考前測試題及答案02-27
計算機二級C語言測試題與答案02-22
計算機二級C語言測試題及答案08-13
2017計算機二級C語言考前習題及答案12-10