計(jì)算機(jī)等級(jí)二級(jí)C語(yǔ)言模擬試題1(一)

字號(hào):

一、選擇題(1)~(10)每小題2分, (11)~(50)每小題1分,共60分)
     下列各題A)、B)、c)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
     (1)在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為_(kāi)______。
     A)動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)   B)緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)
     c)線性結(jié)構(gòu)和非線性結(jié)構(gòu)  D)內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)
     答案:C
     評(píng)析:邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間的邏輯關(guān)系,線性結(jié)構(gòu)表示數(shù)據(jù)元素之間一對(duì)一的關(guān)系,非線性結(jié)構(gòu)表示數(shù)據(jù)元素之間一對(duì)多或多對(duì)一的關(guān)系。
     (2)若進(jìn)棧序列為l,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是_______。
     A)1,4,3,2  B)2,3,4,l
     C)3,1,4,2  D)3,4, 2,1
     答案:C
     評(píng)析:棧是一種后進(jìn)先出表,選項(xiàng)c中,先出棧的是3,說(shuō)明此時(shí)棧內(nèi)必然有1,2,由于l先于2進(jìn)棧,所以l不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。
     (3)排序方法中,將整個(gè)無(wú)序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為_(kāi)______。
     A)希爾排序  B)冒泡排序  c)插入排序  D)選擇排序
     答案:A
     評(píng)析:希爾排序法的基本思想是:將整個(gè)無(wú)序序列分割成若干小的子序列分別進(jìn)行插入排序。
     (4)在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為_(kāi)______。
     A)2   B)3    C)4    D)5
     答案:C
     評(píng)析:二分法查找是用關(guān)鍵碼與線性表的中間元素比較,然后根據(jù)比較結(jié)果來(lái)判斷是結(jié)束查找,還是在左邊或者右邊子表按相同的方法繼續(xù)查找。本題中,與ll比較的關(guān)鍵碼分別為15,8,10,12四個(gè)。
     (5)對(duì)于n個(gè)結(jié)點(diǎn)的單向鏈表(無(wú)表頭結(jié)點(diǎn)),需要指針單元的個(gè)數(shù)至少為_(kāi)______。
     A)n-1  B)n  C)n+l   D)2n
     答案:C
     評(píng)析:在n個(gè)結(jié)點(diǎn)的單向鏈表(無(wú)表頭結(jié)點(diǎn))中,每個(gè)結(jié)點(diǎn)都有一個(gè)指針單元(即指針域),加上頭指針,至少需要n+1個(gè)指針單元。
     (6)在軟件開(kāi)發(fā)過(guò)程中,軟件結(jié)構(gòu) 設(shè)計(jì) 是描述_______。
     A)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)   B)軟件體系結(jié)構(gòu)  C)軟件結(jié)構(gòu)測(cè)試  D)軟件控制過(guò)程
     答案:B
     評(píng)析:從工程管理角度來(lái)看,軟件設(shè)計(jì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì))將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級(jí)接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫(kù)模式。
     (7)模塊本身的內(nèi)聚是模塊獨(dú)立性的重要性度量因素之一。在7類內(nèi)聚中,具有內(nèi)聚  的一類是_______。
     A)順序性內(nèi)聚   B)過(guò)程性內(nèi)聚   c)邏輯性內(nèi)聚  D)功能性內(nèi)聚
     答案:D
     評(píng)析:內(nèi)聚性是一個(gè)模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚共有7類,它們之間的內(nèi)聚性由弱到強(qiáng)排列順序?yàn)椋号既粌?nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、過(guò)程內(nèi)聚、 通信 內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚。
     (8)數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都是_______,僅僅是所處的狀態(tài)不同。
     A)分析結(jié)果  B)事件  C)動(dòng)作  D)數(shù)據(jù)
     答案:D
     評(píng)析:數(shù)據(jù)流圖有4種成分:源點(diǎn)或終點(diǎn)、處理、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流。數(shù)據(jù)存儲(chǔ)是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運(yùn)動(dòng)中的數(shù)據(jù)。
     (9)數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和_______。
     A)可維護(hù)性  B)獨(dú)立性  C)安全性  D)相容性
     答案:D
     評(píng)析:數(shù)據(jù)模型的完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確性、有效性和相容性。
     (10)關(guān)系代數(shù)運(yùn)算是以_______為基礎(chǔ)的運(yùn)算。
     A)關(guān)系運(yùn)算  B)謂詞運(yùn)算  c)集合運(yùn)算   D)代數(shù)運(yùn)算
     答案:C
     評(píng)析:關(guān)系代數(shù)運(yùn)算是以關(guān)系代數(shù)作為運(yùn)算對(duì)象的一組高級(jí)運(yùn)算的集合。它的基本操作是并、交、差、笛卡爾積,另外還包垂直分割(投影)、水平分割(選擇)、關(guān)系的結(jié)合(連接)等。
     (11)能將高級(jí)語(yǔ)言程序轉(zhuǎn)換成目標(biāo)語(yǔ)言程序的是_______。
     A)調(diào)試程序  B)解釋程序  C)編譯程序   D)編輯程序
     答案:C
     評(píng)析:用高級(jí)語(yǔ)言編寫的程序稱為"源程序",而計(jì)算機(jī)只能識(shí)別和執(zhí)行由0和l組成的二進(jìn)制指令,所以高級(jí)語(yǔ)言必須先用一種稱為"編譯程序"的軟件,把源程序翻譯成二進(jìn)制形式的"目標(biāo)程序"。
     (12) _______是構(gòu)成c語(yǔ)言程序的基本單位。
     A)函數(shù)  B)過(guò)程  c)子程序    D)子例程
     答案:A
     評(píng)析:c程序是由函數(shù)構(gòu)成的。一個(gè)c源程序至少包含一個(gè)main函數(shù),也可以包含一個(gè)main函數(shù)和若干個(gè)其他函數(shù),因此,函數(shù)是c程序的基本單位。
     (13)可以在C語(yǔ)言中用做用戶標(biāo)識(shí)符的是_______。
     A)void  B)as_b3  C)for    D)2c
     define  _123    -abc    Do
     WORD    If    cas     SIG
     答案:B
     評(píng)析:c語(yǔ)言規(guī)定,標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第一個(gè)字符必須是字母或下劃線。另外還需要注意的是關(guān)鍵字不能作標(biāo)識(shí)符。選項(xiàng)A中void,C中for都為關(guān)鍵字,D中2c以字母開(kāi)頭。
     (14)若有以下類型說(shuō)明語(yǔ)句:
     char w;int x;float y,z;
     則表達(dá)式w*x+z-y的結(jié)果為_(kāi)_______類型。
     A)float  B)char   C)int  D)double
     答案:A
     評(píng)析:在進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)參加運(yùn)算,需要先將其轉(zhuǎn)換成同一類型的數(shù)據(jù),然后再進(jìn)行運(yùn)算。轉(zhuǎn)換的順序由低到高為:char,short→int→unsigned→long→double→float,故結(jié)果為float型。
     (15)main(()
     { float x=123A56;
     printf("%-5.2f\n",x);
     }
     以上程序輸出的結(jié)果是________。
     A)123.4  B)123.5   C)123.45  D)123.46
     答案:D
     評(píng)析:f格式符,用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出。"%-m.nf"的含義是:輸出數(shù)據(jù)共占m列,其中n位小數(shù),如果輸出位數(shù)小于m。則右端補(bǔ)空格。如果總長(zhǎng)度大于列數(shù),則按實(shí)際情況四舍五入輸出。
     (16)下面語(yǔ)句的輸出結(jié)果是________。
     Printf("%d\n",strlen("\t\"\065\xff\n"));
     A)14     B)8
     C)5      D)輸出項(xiàng)不合法,無(wú)正常輸出
     答案:C
     評(píng)析:在c語(yǔ)言中,以"\"開(kāi)頭的字符均為轉(zhuǎn)義字符,其中"\"后可跟l~3位八進(jìn)制數(shù)或在"\"后跟字母x及l(fā)~2位十六進(jìn)制數(shù),以此來(lái)代表一個(gè)特定的字符。
     (17)下列程序的輸出結(jié)果是________。
     main()
     { int a=0,b=0,c=0;
     if(++a>0lI++b>0)++c;
     printf("\na=%d,b=%d,c=%d",a,b,c);
     }
     A)a=0,b=0,c=0    B)a=l,b=l,c=1
     C)a=l,b=O, c=I    D)a=0, b=1.c=1
     答案:C
     評(píng)析:
     "︱︱"是或運(yùn)算,它有個(gè)"短路"的特點(diǎn)需特別注意,當(dāng)"︱︱"運(yùn)算符左邊的表達(dá)式的值為真時(shí),則程序就不再對(duì)"︱︱"右邊的表達(dá)式的值進(jìn)行運(yùn)算,而是使得整個(gè)表達(dá)式的值直接為真。
     (18)下列程序的輸出結(jié)果是_________。
     Main()
     { int i;
     for(i=1;i+l;i++)
     { if(i>4){printlf("%d",i++);break;}
     }
     printf("%d",i++);
     }
     A)55          B)56
     c)程序錯(cuò)誤,沒(méi)有輸出  D)循環(huán)條件永遠(yuǎn)為真,死循環(huán)
     答案:B
     評(píng)析:本程序中有個(gè)for循環(huán),但注意到for循環(huán)的條件是"i+l",也就是只要i+l的值為真(非零值均為真),就執(zhí)行循環(huán)。當(dāng)i=l的時(shí),i+l的值為真,判斷if條件不成立,執(zhí)行i++,輸出i的值為5