全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言真題題庫(kù)2+2014年3月_第1頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言真題題庫(kù)2+2014年3月_第2頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言真題題庫(kù)2+2014年3月_第3頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言真題題庫(kù)2+2014年3月_第4頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言真題題庫(kù)2+2014年3月_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言真題題庫(kù)2 2014年3月(總分43,做題時(shí)間120分鐘)一、選擇題(每小題1分,共40分)1. 下列敘述中正確的是()。A每一個(gè)盯點(diǎn)有兩個(gè)指針域的鏈表一左是非線(xiàn)性結(jié)構(gòu)B所有節(jié)點(diǎn)的指針域都為非空的鏈表一泄是非線(xiàn)性結(jié)構(gòu)C循環(huán)鏈表是循環(huán)隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D線(xiàn)性結(jié)構(gòu)的存儲(chǔ)節(jié)點(diǎn)也可以有多個(gè)指針答案:D解析一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)如果滿(mǎn)足以下兩個(gè)條件:有且只有一個(gè)根節(jié)點(diǎn);每一個(gè)節(jié) 點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,則稱(chēng)為線(xiàn)性結(jié)構(gòu),在數(shù)據(jù)結(jié)構(gòu)中習(xí)慣稱(chēng)為線(xiàn)性表。 雙向鏈表節(jié)點(diǎn)具有兩個(gè)指針域,屬于線(xiàn)性結(jié)構(gòu),故A選項(xiàng)錯(cuò)誤。循環(huán)鏈表所有巧點(diǎn)的指針 域都為非空,屬于線(xiàn)性結(jié)構(gòu),故B選項(xiàng)錯(cuò)誤。循

2、環(huán)鏈表是鏈表,循環(huán)隊(duì)列屬于隊(duì)列,隊(duì)列 只能在隊(duì)尾入隊(duì),在排頭退隊(duì),鏈表可以在任何位置插入、刪除,故C選項(xiàng)錯(cuò)誤。雙向鏈 表節(jié)點(diǎn)具有多個(gè)指針域,故D選項(xiàng)正確。2. 使用白盒測(cè)試方法時(shí),設(shè)計(jì)測(cè)試用例應(yīng)根據(jù)()。A程序的內(nèi)部邏輯B程序的復(fù)雜結(jié)構(gòu)C程序的功能D使用說(shuō)明書(shū)答案:A解析白盒測(cè)試又稱(chēng)為結(jié)構(gòu)測(cè)試或邏借驅(qū)動(dòng)測(cè)試,它允許測(cè)試人員利用程序內(nèi)部的邏 借結(jié)構(gòu)及有關(guān)信息來(lái)設(shè)訃或選擇測(cè)試用例,對(duì)程序所有的邏輯路徑進(jìn)行測(cè)試,故A選項(xiàng)正 確。3. 在醫(yī)院,每個(gè)醫(yī)生只屬于某一個(gè)診療科,醫(yī)生同一天可為多位患者看病, 而一名患者可在多個(gè)科室治療,則實(shí)體醫(yī)生和患者之間的聯(lián)系是()。A多對(duì)多B多對(duì)一C 一對(duì)多D 一對(duì)一答案

3、:A解析一般來(lái)說(shuō),實(shí)體集之間必須通過(guò)聯(lián)系來(lái)建立連接關(guān)系,分為三類(lèi):一對(duì)一聯(lián)系 (1:1)、一對(duì)多聯(lián)系(1: m)、多對(duì)多聯(lián)系(m: n)o醫(yī)生可為多位患者看病,患者也可以找 多位醫(yī)生看病,實(shí)體醫(yī)生與患者聯(lián)系是多對(duì)多,故A選項(xiàng)正確。4. 設(shè)序列長(zhǎng)度為m在最壞情況下,時(shí)間復(fù)雜度為0(log2n)的算法是()。A二分法查找B順序查找C分塊查找D哈希查找答案:A解析對(duì)長(zhǎng)度為n的線(xiàn)性表排序,最壞情況下時(shí)間復(fù)雜度,二分法查找為0(Iog2n); 順序查找法為0(n):分塊査找時(shí)間復(fù)雜度與分塊規(guī)則有關(guān):哈希查找時(shí)間復(fù)雜度為0(1), 因其通過(guò)計(jì)算HashCode來(lái)左位元素位置,所以只需一次即可。故正確答案為

4、A選項(xiàng)。5.設(shè)數(shù)據(jù)集合為D=1, 3, 5, 7, 9, D上的關(guān)系為R,下列數(shù)據(jù)結(jié)構(gòu)B=(D, R)中為非線(xiàn)性結(jié)構(gòu)的是()。AR=(5, 1), (7, 9),7),(9, 3)BR=(9, 7),3),1) (3, 5)CR=(1, 9),(9, 7),5),3)DR=(1, 3), (3, 5), (5, 9)答案:D解析一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)如果滿(mǎn)足以下兩個(gè)條件:有且只有一個(gè)根節(jié)點(diǎn);每一個(gè)節(jié) 點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,則稱(chēng)為線(xiàn)性結(jié)構(gòu),在數(shù)據(jù)結(jié)構(gòu)中習(xí)慣稱(chēng)為線(xiàn)性表。 A選項(xiàng)中,5為根節(jié)點(diǎn),線(xiàn)性表為51793。B選項(xiàng)中,9為根肖點(diǎn),線(xiàn)性表為97135。C選 項(xiàng)中,1為根節(jié)點(diǎn),線(xiàn)性表為1

5、9753. D選項(xiàng)中,節(jié)點(diǎn)1與7都是根節(jié)點(diǎn),屬于非線(xiàn)性結(jié) 構(gòu),故D選項(xiàng)正確。6.深度為7的二叉樹(shù)共有127個(gè)節(jié)點(diǎn),則下列說(shuō)法中錯(cuò)誤的是()。A該二叉樹(shù)有一個(gè)度為1的節(jié)點(diǎn)B該二叉樹(shù)是滿(mǎn)二叉樹(shù)C該二叉樹(shù)是完全二叉樹(shù)D該二叉樹(shù)有64個(gè)葉子節(jié)點(diǎn)答案:A解析在樹(shù)結(jié)構(gòu)中,一個(gè)肖點(diǎn)所擁有的后件個(gè)數(shù)稱(chēng)為該節(jié)點(diǎn)的度,所有節(jié)點(diǎn)中最大的 度稱(chēng)為樹(shù)的度。完全二叉樹(shù)指除最后一層外,每一層上的節(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一 層上只缺少有邊的若干節(jié)點(diǎn)。滿(mǎn)二叉樹(shù)指除最后一層外,每一層上的所有節(jié)點(diǎn)都有兩個(gè)子 節(jié)點(diǎn)的二叉樹(shù)。深度為7的二叉樹(shù),前6層共有節(jié)點(diǎn)個(gè)數(shù)為26-1=63,則第7層有127- 63=64個(gè)節(jié)點(diǎn),即第7層節(jié)點(diǎn)數(shù)達(dá)

6、到最大值,故此二叉樹(shù)為滿(mǎn)二叉樹(shù),也是完全二叉樹(shù), 該二叉樹(shù)沒(méi)有度為1的節(jié)點(diǎn),有64個(gè)葉子節(jié)點(diǎn)。故正確答案為A選項(xiàng)。7.二叉樹(shù)的中序序列為BDCA,后序序列為DCBA,則前序序列為()。ADCBABBDCAC ABCDDBADC26/32答案:c解析二叉樹(shù)遍歷可以分為3種:前序遍歷(訪(fǎng)問(wèn)根節(jié)點(diǎn)在訪(fǎng)問(wèn)左子樹(shù)和訪(fǎng)問(wèn)右子樹(shù)之 前)、中序遍歷(訪(fǎng)問(wèn)根肖點(diǎn)在訪(fǎng)問(wèn)左子樹(shù)和訪(fǎng)問(wèn)右子樹(shù)兩者之間)、后序遍歷(訪(fǎng)問(wèn)根節(jié)點(diǎn)在 訪(fǎng)問(wèn)左子樹(shù)和訪(fǎng)問(wèn)右子樹(shù)之后)。本題中中序序列為BDCA,后序序列為DCBA,可知A為 根節(jié)點(diǎn),BDC為左側(cè)節(jié)點(diǎn),C是B右子節(jié)點(diǎn),D是C右子節(jié)點(diǎn),故前序序列為ABCD, C 選項(xiàng)正確。8.下面能作

7、為軟件需求分析工具的是()。A PAD 圖B程序流程圖C甘特圖D數(shù)據(jù)流程圖(DFD圖)答案:D解析軟件需求分析方法包括結(jié)構(gòu)化分析方法和而向?qū)ο蟮姆治龇椒▋纱箢?lèi),前者常 用工具為數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判左表、判左樹(shù)等。故D選項(xiàng)正確。選項(xiàng)B是 軟件功能實(shí)現(xiàn)時(shí)設(shè)計(jì)圖。9.下面不屬于對(duì)象主要特征的是()。A唯一性B多態(tài)性C可復(fù)用性D封裝性答案:C解析對(duì)象的基本特點(diǎn)如下表所示。特點(diǎn)描述標(biāo)識(shí)唯一性一個(gè)對(duì)象通??捎蓪?duì)象名、屬性和撫作3部分組成分類(lèi)性指可以將貝有相同屬性和操作的對(duì)象抽象成類(lèi)多態(tài)性指同一個(gè)操作町以是不同對(duì)象的行為,不同對(duì)象執(zhí)行同一操作產(chǎn)生不同的結(jié)果封裝性從外面看只能看到對(duì)象的外部

8、待性對(duì)象的內(nèi)部對(duì)外足不叫見(jiàn)的模塊獨(dú)立性好由于完成對(duì)象功能所需的元素都被封裝衣對(duì)象內(nèi)部.所以模塊獨(dú)立性好可知C選項(xiàng)正確。10.關(guān)系R經(jīng)過(guò)運(yùn)算6忖的結(jié)果為( 九ABcDaa24be12cc114ee61A(0,0,11,4)B(e,e,6,1)C (a.a.2,4)。力,2,4)和,6,1)答案:A解析從關(guān)系中找出滿(mǎn)足給定條件的元組的操作稱(chēng)為選擇,人”為交運(yùn)算,它由屬于前 者且屬于后者的元組組成。題目為選岀屬于屬性B,同時(shí)屬性C大于4,并且屬性D大于 3的元組,結(jié)果為(c, C, 11, 4),應(yīng)保留全部屬性。故A選項(xiàng)正確。11. C語(yǔ)言整數(shù)不包括()。A帶小數(shù)點(diǎn)的整數(shù)B正整數(shù)C負(fù)整數(shù)D無(wú)符號(hào)整數(shù)

9、答案:A解析C語(yǔ)言整數(shù)包括正整數(shù)、負(fù)整數(shù)、無(wú)符號(hào)整數(shù)、不含帶小數(shù)點(diǎn)的整數(shù),故答案 為A選項(xiàng)。12. 設(shè)a, b, c是整型變量,且已正確賦初值,以下選項(xiàng)中錯(cuò)誤的賦值語(yǔ)句是 ()。A a=1 %(b=c=2);B a=(b=3)*cC a=b=c / 10D a=2=(b=9)=1答案:D解析D選項(xiàng)中,()具有最高優(yōu)先級(jí),b先賦值9,再根據(jù)賦值運(yùn)算符號(hào)白右向左進(jìn) 行賦值,再給b賦值為1,再計(jì)算2=b,賦值運(yùn)算符左邊必須是一個(gè)變量,但數(shù)值2是常 屋,語(yǔ)法錯(cuò)誤,故答案為D選項(xiàng)。13. 以下選項(xiàng)中,合法的實(shí)數(shù)是()。A1. 5E2BE1. 1C2 10ED1. 9E1 4答案:A解析E表示10的幕次”

10、,E的右側(cè)必須是整數(shù),排除B、C、D選項(xiàng)、答案為A選項(xiàng)。14. 關(guān)于程序設(shè)計(jì)基本概念,以下敘述錯(cuò)誤的是()。A計(jì)算機(jī)可以直接執(zhí)行由任意髙級(jí)語(yǔ)言編寫(xiě)的程序B高級(jí)語(yǔ)言都有與之對(duì)應(yīng)的編譯程序或解釋程序C用任何一種汁算機(jī)髙級(jí)語(yǔ)言都可以把算法轉(zhuǎn)換為程序D結(jié)構(gòu)化算法可以解決任何復(fù)雜的問(wèn)題答案:A解析計(jì)算機(jī)只能識(shí)別機(jī)器語(yǔ)言,不能直接識(shí)別由高級(jí)語(yǔ)言編寫(xiě)的程序,故答案為A 選項(xiàng)。15. 以下不能用于實(shí)型數(shù)據(jù)的運(yùn)算符是()。A %B /C*D +答案:A解析%”符號(hào)兩邊必須是整數(shù),因此答案為A選項(xiàng)。16. C語(yǔ)言中,最基本的數(shù)據(jù)類(lèi)型包括()。A整型、實(shí)型、邏輯型B整型、字符型、數(shù)組C整型、實(shí)型、字符型D整型、實(shí)型

11、、結(jié)構(gòu)體答案:C解析C語(yǔ)言中,最基本的數(shù)據(jù)類(lèi)型包括整型、實(shí)型、字符型,答案為C選項(xiàng)。17.若有定義:int=O, b=0, c=0, d=0;,有C語(yǔ)言表達(dá)式(a卄& b+)?c+: d+,以下關(guān)于其執(zhí)行順序的敘述正確是()。A先執(zhí)行a+,表達(dá)式a+的值為0,短路,得a+,執(zhí)行它B先執(zhí)行a+,表達(dá)式a+的值為0:再執(zhí)行b+,表達(dá)式b+的值為0,由此可確 定(a+&b+)值為0,因此執(zhí)行d+C先執(zhí)行a+,表達(dá)式a+的值為1;再執(zhí)行b+,表達(dá)式b+的值為1,由此可確 定(a+&b+)值為1,由此可確左(a+&b+)值為1,因此執(zhí)行C+D先執(zhí)行b+,表達(dá)式b+的值為1;再執(zhí)行a+,表達(dá)式a+的值為1

12、,由此可確 定(a+&b+)值為1,因此執(zhí)行C+答案:A解析表達(dá)式1?表達(dá)式2:表達(dá)式3,若表達(dá)式1為真,則執(zhí)行表達(dá)式2,否則執(zhí)行 表達(dá)式3。邏輯與運(yùn)算符遵循短路求值”策略,即只有任僅靠左操作數(shù)的值無(wú)法確左該邏輯 表達(dá)式的結(jié)果時(shí),才會(huì)求解右操作數(shù),表達(dá)式(a+&b+)中,左操作數(shù)a+的值為0, 已經(jīng)可以確定整個(gè)邏輯表達(dá)式的結(jié)果為0,因此右操作數(shù)b+不再求解,直接執(zhí)行表達(dá)式 3,即d+,答案為A選項(xiàng)。include main()char ch 二;while (ch E!printf( ,r% d , ch -A);eh +4-;I18.有以下程序: 出結(jié)果是()。A 123BABCprintf

13、( pnf,);程序運(yùn)行后的輸C abcD012答案:A解析當(dāng)滿(mǎn)足chE,輸出ch-A,即字符在A(yíng)SCII碼相減進(jìn)行輸出,d表示輸出十 進(jìn)制整數(shù)。循環(huán)開(kāi)始,ch=B, print(%d”, ch-A)=1,以此類(lèi)推,答案為A選項(xiàng)。19.以下關(guān)于指針的敘述,錯(cuò)誤的是()。A兩個(gè)基類(lèi)型相同的指針變量不能指向同一個(gè)對(duì)象B可以通過(guò)對(duì)指針變量自增、自減來(lái)移動(dòng)指針C只有兩個(gè)類(lèi)型相同的指針才能進(jìn)行減運(yùn)算D個(gè)指針變量可以通過(guò)不同的方式獲得一個(gè)確定的地址值答案:A解析只要兩個(gè)指針變量基類(lèi)型相同,可以指向同一個(gè)對(duì)象,故答案為A選項(xiàng)。20.對(duì)于函數(shù)聲明:void fun (float array , int *pt

14、r);以下敘述正確的 是()。A調(diào)用函數(shù)時(shí),array數(shù)組的元素和Ptr都是按值傳送B函數(shù)聲明有語(yǔ)法錯(cuò)誤,參數(shù)array缺少數(shù)組大小泄義C調(diào)用函數(shù)時(shí),array數(shù)組中將存儲(chǔ)從實(shí)參中復(fù)制來(lái)的元素值D函數(shù)參數(shù)array, ptr都是指針變量答案:D解析voidfun(floatarray, intptr)定義了 2個(gè)形參:array和ptr,其中函數(shù)形參中 int array實(shí)相當(dāng)于int array,答案為D選項(xiàng)。21. 有以下程序:include main()int i, k;int array4 2二|0J, |2,9L !3!for (i = 0; i 2; i + )for ( k =

15、0; k 3 ; k +)!printf( %T, , arrayk j i);!printf( n);程序運(yùn)行后的輸出結(jié)果是()A 1,0,2,0,0,9B 1,2,4,960C 2,9,0,0,1,4D 1,2,0,1,4,1答案:A解析本題定義一個(gè)4行2列數(shù)組,其中賦值6個(gè)數(shù),英余自動(dòng)為0,根據(jù)for循環(huán), 第一次輸出第一列前三行數(shù),分別是1, 0, 2;第二次輸出第二列前三行數(shù),分別是0, 0, 9.因此答案為A選項(xiàng)。22. 要求定義一個(gè)具有6個(gè)元素的int型一維數(shù)組,以下選項(xiàng)中錯(cuò)誤的是()。A 泊tN=6, aN:Bint a2*3 =0;C #define N 3int aN=N:

16、D int a = 1, 2, 3, 4, 5, 6:答案:A解析數(shù)組名后而括號(hào)內(nèi),必須是整型常量,不可以是變量,A選項(xiàng)泄義錯(cuò)誤,答案 為A選項(xiàng)。23. 有以下程序:#inc!ude main ()!char b3 10 ,c;int i;for (i=0; i 2 ; i 十十)3canf( %s , bi);i = 0 ;while ( ( c 二 getchar( ) ) !二nb2 i + = c; b2(i =50 冷printf( n%s% s%snH , b0 , b 1 , b2);丨執(zhí)行時(shí)若輸入以下字符串:Peach flower is Fink. V回車(chē)則輸出結(jié)果是()。A

17、 Peachflower is pinkB Peachfloweris Pink.C Peachflowerispink.D Peach flower is pink.答案:A解析由于用“s”格式輸出字符串時(shí),是以空格作為間隔符,因此輸入給b0= Peach”,b二“flower,而 while 語(yǔ)句給 c 賦值時(shí),getchar()能識(shí)別空格符,b2=is Pink篤答案為A選項(xiàng)。24. 有以下程序:#include main()I char w20, a10二 | abcdef1 M ghijld*, n mnopqs, , ” rstuv”,” wxy2” ;im i, j ;for (

18、i = 0; i 5; i + )丨 j = 0;while (aij卄;wi = aij“2;!w5 (r;put( w);I程序運(yùn)行后的輸出結(jié)果是()。A agmrwB ekpuyC djotxD flqvz答案:B解析在for循環(huán)中,執(zhí)行完while語(yǔ)句后,j值為每行字符串的長(zhǎng)度,此時(shí)ai0-1為 字符串?dāng)?shù)組每個(gè)元素的最后一個(gè)字符,aij-2為倒數(shù)第二個(gè)字符。因此wi=ai0-2,比 如i=0: j=6,則w0=a04=,循環(huán)依次賦值,最后輸出y,答案為B選項(xiàng)。25. 有以下程序:#include #include main()Ichar name 9 = c#line* ;char s

19、tr = name;printf( ” d,%d,%d,%dn,sizeof( name) , strlen(name) , sizeof(str) , strlen(str);I程序運(yùn)行后的輸出結(jié)果是()。A9, 7, 4, 7B8, 6, 9, 6C8, 6, 3, 6D 10 8, 5, 8答案:A解析由于name是一個(gè)長(zhǎng)度為9的一維數(shù)組,故在內(nèi)存中占用9字節(jié)長(zhǎng)度,而其中 字符串“c#line”只有7個(gè)字符,strlen()函數(shù)返回的是該字符串的長(zhǎng)度,不包含結(jié)朿符,str 是一個(gè)指針變量,占用4字節(jié)長(zhǎng)度,但是由于name首地址賦給了 str指針變量,在調(diào)用 strlen()函數(shù)時(shí),返回的

20、是指針對(duì)應(yīng)地址單元的字符串的長(zhǎng)度7,因此答案為A選項(xiàng)。#include main()int password ;char * p, old_str 10 J = wind”;scanf(11 % d1 , &password);p = old_str;while ( * p)printf( *#% c1 , * p + password); p卄;26.有以下程序:Iprintf(” t!程序運(yùn)行時(shí),從鍵盤(pán)輸入2回車(chē),輸出結(jié)果是()。A #y#k#p#fB #wi#nd #C xj#oeD #2222#答案:A解析首先泄義了一個(gè)指針P指向數(shù)組的首地址,在while語(yǔ)句中,執(zhí)行功能是如果 當(dāng)前指

21、針指向地址單元內(nèi)字符不等于空字符0,則輸#和指針對(duì)應(yīng)地址元素的值在 ASCII碼加2后變換的字符常量,因此,答案為A選項(xiàng)。27. 若有定義:char*ps = “aa”,“bb”,“cc”,“dd;,則以下 敘述正確的是()。A psO是字符串” aa”B *psOM字符串a(chǎn)a”的首地址C psO是字符串a(chǎn)a”的首地址D ”psO是字符串a(chǎn)a”答案:C解析左義一個(gè)字符串?dāng)?shù)組指針ps后,ps是指針變量,psO指向的是數(shù)組首個(gè)元素 的地址,即字符串a(chǎn)a”的首地址,答案為C選項(xiàng)。28. 若有定義:char*ps = “眈”,“bb”,“cc”,“dd”;,則以下 敘述正確的是()。A ”psO是字符

22、2B *psO是字符串a(chǎn)aC psO是字符aDps是字符串a(chǎn)a答案:A解析指針數(shù)組ps徒義后,psO代表數(shù)組首個(gè)元素的地址,即“aa”的地址,同時(shí)也 是aa”第一個(gè)字符a的地址,所以psO代表字符a,答案為A選項(xiàng)。29. 以下合法的轉(zhuǎn)義字符是()。A, 0X41,B, 0X41,C, X41,DX41答案:D解析“xhh”表示1到2位十六進(jìn)制所代表的字符,故答案為D選項(xiàng)。30.在源程序的開(kāi)始處加上” #include”進(jìn)行文件引用的原因,以 下敘述正確的是()。Astdio. h文件中包含標(biāo)準(zhǔn)輸人輸出函數(shù)的函數(shù)說(shuō)明,通過(guò)引用此文件以便能正確使 用printf、scant等函數(shù)B將stdio.

23、h中標(biāo)準(zhǔn)輸入輸出函數(shù)鏈接到編譯生成的可執(zhí)行文件中,以便能正確運(yùn)行C將stdio. h中標(biāo)準(zhǔn)輸入輸出函數(shù)的源程序插入到引用處,以便進(jìn)行編譯鏈接D將stdio. h中標(biāo)準(zhǔn)輸入輸出函數(shù)的二進(jìn)制代碼插入到引用處,以便進(jìn)行編譯鏈接答案:A解析fstdio. h”文件中包含標(biāo)準(zhǔn)輸入輸出函數(shù)的函數(shù)說(shuō)明,預(yù)處理指令#include是指程序可以在該文件中找到printf. scanf等函數(shù),因此答案為A選項(xiàng)。31.設(shè)有定義:int a10 = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), *P = a, i; 若0WiW9,則對(duì)a數(shù)組元素的引用錯(cuò)誤的是()。A a10B*(&ai)CPiD ap

24、-a答案:A解析長(zhǎng)度為n的數(shù)組其各個(gè)元素的下標(biāo)應(yīng)該是從0到n-1,因此,長(zhǎng)度為10的數(shù)組 a,第10個(gè)元素為a9,而不是a10,故答案為A選項(xiàng)。include V stdio. h main ()1)111;printf( ? c, cl);32.有以下程序:結(jié)果是()。!程序運(yùn)行后的輸出A6, 1B 1, 1C7, 1D7, 2答案:C解析表達(dá)式C=(131)11中,是右移符號(hào),數(shù)字13換算成二進(jìn)制后右移1位, 再和1進(jìn)行按位或運(yùn)算,結(jié)果為7:表達(dá)式d=(131)| 1中,首先判斷13是否大于1,此 時(shí)條件成立返回1后,再和1進(jìn)行或運(yùn)算.結(jié)果為仁因此答案為C選項(xiàng)。#include #inel

25、ude struct Snam計(jì) 10 );I;main()struct S si , $2;strcpy( si. name, H XXX ) 33.有以下程序:strcpy(s2.naine,si 二 s2;prinflf( M % snn r sL name);!程序運(yùn)行后的輸出結(jié)果是()。A =BXXXC =XXDX=答案:A解析主函數(shù)首先為結(jié)構(gòu)體定義兩個(gè)變量s1、S2,分別使用字符串拷貝函數(shù)strcpyO 為s1和s2的成員name賦值,再將s2中的成員信息賦值給s1,因此輸岀為“=”,答案為 A選項(xiàng)。include main()int i, array6 = 1 , 5, 0, 4

26、| ; for ( i = 0; i 5; i 十+ )printf( %d/ , array i & 4); printf(nH );程序運(yùn)行后34.有以下程序: 的輸出結(jié)果是()。A1,2.1,2.0,B1,5,0,4,0,C 1,5,5,4,0DO,4,0,4,0答案:D解析表示與運(yùn)算,主函數(shù)首先定義一個(gè)數(shù)組array6,初始化前4個(gè)元素的值, 其余默認(rèn)值為0。在for循環(huán)中,為數(shù)組array中每一個(gè)元素?fù)Q算成二進(jìn)制數(shù)后和二進(jìn)制整 數(shù)鋼00”進(jìn)行按位與運(yùn)算,再將結(jié)果進(jìn)行輸出,因此答案為D選項(xiàng)。#include #include void fun(int * 水 s. int x2 | 3

27、 j )* * s = * x 1 j +1);1 int a2 3=彳1,2,3,4,5,6|, *p; p = (ini * ) inalloc( sizeof( int) ) 7 fun( &p,a);printf(, *p)-35.有以下程序: 結(jié)果是()。A5程序的運(yùn)行B2C6D3答案:A解析malloc(size)函數(shù)作用是在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)分配一個(gè)長(zhǎng)度為size的連續(xù)空間, 函數(shù)的返回值是新分配的存儲(chǔ)區(qū)的首地址,將該地址賦值給P指針,然后取P指針的地址, 調(diào)用fun函數(shù)。fun函數(shù)中對(duì)指向指針的指針s指向的內(nèi)存單元賦值,其中刈1表示二維數(shù) 組x的第二行的行地址,刈1+1表示二維數(shù)

28、組x的第二行第二列的地址,所以fun函數(shù)的 功能是將二維數(shù)組x的第二行第二列的值,即x11賦值給-s, *s為p,所以s代表“P, 刈1與a11等價(jià),因此答案為A選項(xiàng)。struct ! int num ;char name 10 j :struct int y; int m ; int d; j birth;36.有如下定義:1 S? =以下對(duì)內(nèi)嵌結(jié)構(gòu)體成員的引用形式錯(cuò)誤的是()。A ps-birth. yBs. birth, yC ps. birth, yD Cps) birth, y答案:C解析使用結(jié)構(gòu)體指針對(duì)結(jié)構(gòu)體成員進(jìn)行訪(fǎng)問(wèn)時(shí),形式為結(jié)構(gòu)指針名-結(jié)構(gòu)成員劣, 或者C結(jié)構(gòu)指針名).結(jié)構(gòu)成

29、員需,題目中PS為結(jié)構(gòu)體指針,因此判斷A選項(xiàng)引用形式錯(cuò) 誤,答案為C選項(xiàng)。#include 37.有以下程序:fnain() FILE *fp;int i, a6 = ) 1 ,2,3,4,5,6| , k-fp = fopen( data. datn , * w + n );fprintf(fp, %dnM , a0);for (i = 1 ; i 6 ; i +4-)I rewind( fp) fprintf(fp, ai);rrewind(fp);fscaiif(fp, %d, &k);fc lose (ip);printf( ,%dAnH , k);;程序運(yùn)行后的輸出結(jié)果是()。A6B

30、21C123456D 654321答案:A解析本題首先立義文件指針變量fp和一個(gè)數(shù)組a,再打開(kāi)一個(gè)文件“data, daf,隨 后先給文件寫(xiě)入數(shù)據(jù)a0,由于rewind函數(shù)是將文件指針從當(dāng)前位置重新指向文件開(kāi)始位 置,所以for循環(huán)依次將數(shù)組a中的數(shù)據(jù)寫(xiě)入文件開(kāi)始位苣,退出循環(huán)后,文件中的數(shù)據(jù) 順序?yàn)椋?54321,重新使指針指向文件開(kāi)始位置,將此時(shí)fp指向的數(shù)搖(即文件中第一個(gè) 數(shù)據(jù)6)寫(xiě)入變量k中,關(guān)閉文件,輸出k值,故答案為A選項(xiàng)。38. 以下程序段中,與其他3個(gè)功能不同的程序段是()。As=O: i = 1;for(;)s+=i;i+;if(i=10)break;Bs=O: i = 1

31、:for(;i=10;)s+=i;i+;C s=0:for(i=1 ;i=10;i+)s+=i;D for(s=0j=1 ;i=10;s+=i,i+);答案:A解析B、C、D選項(xiàng)都表示對(duì)1到10進(jìn)行累加后賦給s,而A選項(xiàng)中含break語(yǔ)句, 循環(huán)體只執(zhí)行一次,結(jié)束整個(gè)循環(huán)過(guò)程,因此答案為A選項(xiàng)。39. 設(shè)有定義:int a=0, b=l;,以下表達(dá)式中,會(huì)產(chǎn)生“短路”現(xiàn)象,致 使變量b的值不變的是()。A +a|+bB a+|+bC +a& &b+D a+& &b+答案:D解析+放在變量前而時(shí),表示將變量+1,再參與其他操作,a+&b+時(shí),由于a 值是0,直接判立與運(yùn)算結(jié)果為0,忽視b+的值,

32、因此b值不發(fā)生改變,答案為D選項(xiàng)。40. 關(guān)于地址和指針,以下說(shuō)法正確的是()。A通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換可以將一種類(lèi)型的指針變疑賦值給另一種類(lèi)型的指針變量B可以取一個(gè)常數(shù)的地址賦值給同類(lèi)型的指針變量C可以取一個(gè)表達(dá)式的地址賦值給同類(lèi)型的指針變量D可以取一個(gè)指針變量的地址賦值給基類(lèi)型相同的指針變量答案:A解析常數(shù)的地址存儲(chǔ)在內(nèi)存的常量區(qū),常量區(qū)存儲(chǔ)的都是常量,值都是不可修改的, 所以直接取常量的地址賦給指針變量沒(méi)有任何意義,c語(yǔ)言也不允許這樣做,編譯會(huì)岀錯(cuò), B選項(xiàng)錯(cuò)誤;表達(dá)式的值存儲(chǔ)在臨時(shí)變疑中,內(nèi)存中存在專(zhuān)門(mén)用來(lái)存儲(chǔ)臨時(shí)變量的區(qū)域, 對(duì)這塊地址進(jìn)行操作也是沒(méi)有意義的,C語(yǔ)言不允許這樣做,編譯會(huì)出錯(cuò)

33、,C選項(xiàng)錯(cuò)誤; 可以取一個(gè)指針變量的地址,但是指針變量的地址屬于指針,只能賦值給指針類(lèi)型的指針 變量,D選項(xiàng)錯(cuò)誤。故答案為A選項(xiàng)。二、程序填空題41. 給定程序中,函數(shù)fun的功能是:將形參指針?biāo)附Y(jié)構(gòu)體數(shù)組中的3個(gè)元 素按num成員進(jìn)行升序排列。請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn) 刪除,使程序得出正確的結(jié)果。注意:部分源程序給出如下。不得增行或刪行, 也不得更改程序的結(jié)構(gòu)!試題程序:#include typedef struct( int num;char name 10;I PERSON;/* *found */void fun( PERSON Lil一一 sdEEHzws-77p

34、lsuIjpls 2 =PKdul-(Enu 二 plxAlunu 二二3S )七-sinp罰 二zp冷=Ojp-K二 owfdw 出- (Enu ciP4S A Esc sp-5)h3 一iEH【jps 二二三皐孑右窮二omfd盲去- (nn-u *ps A Esc 0-ss )h= 、*putlog *、二 0UKU 二 p-SGiu np-srs$GP&9)u-Ed(+十 m0=2OJ二廠(chǎng) S二=豈 2 廠(chǎng) w-cd-3 J、*論 punoj*#* 二=二.gs.sL9 勺1仝一 二專(zhuān) NOSHHd(2) PERS0N(3) std考點(diǎn)分析本題考查:數(shù)據(jù)類(lèi)型的左義:數(shù)組元素的操作;函數(shù)參

35、數(shù)的傳遞。要使用函數(shù)對(duì)整個(gè)數(shù)組進(jìn)行操作時(shí),應(yīng)使用數(shù)組名作為函數(shù)的實(shí)參。當(dāng)使用數(shù)組需作 實(shí)參時(shí),函數(shù)傳遞的實(shí)際上是數(shù)組的首地址,而并非數(shù)組本身,此時(shí)形參除了可以左義為 指針變量外,還可以泄義為數(shù)組,并且數(shù)組可以不指左大小,但無(wú)論用哪種形式,程序在 編譯時(shí)都將其作為一個(gè)指針變量處理。解題思路填空1:左義形參變量引用數(shù)組std,此時(shí)形參可以泄義為指針變量,也可以左義為 數(shù)組。由下文可知,程序是通過(guò)數(shù)組下標(biāo)對(duì)數(shù)組元素進(jìn)行操作的,因此形參應(yīng)使用數(shù)組形 式,而非指針形式。填空2:程序使用變量temp交換結(jié)構(gòu)體數(shù)組元素的值,因而temp應(yīng)定義為 PERSON型。填空3:程序通過(guò)函數(shù)fun對(duì)數(shù)組std進(jìn)行操作,因此函數(shù)的實(shí)參應(yīng)為std。三、程序修改題42.下列給定程序中函數(shù)fun的功能是:將m(lWmW10)個(gè)字符串連接起來(lái), 組成一個(gè)新串,放人Pt所指存儲(chǔ)區(qū)中。例如:把3個(gè)串“abc” . “CD” .“EF”連接起來(lái),結(jié)果是“abcCDEF”。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)! 試題程序:27/32#include #include void fun ( char str

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論