無紙化真考試題庫第33套_第1頁
無紙化真考試題庫第33套_第2頁
無紙化真考試題庫第33套_第3頁
無紙化真考試題庫第33套_第4頁
無紙化真考試題庫第33套_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、無紙化真考題庫試題(第33套)1.下列敘述中正確的是A)解決同一個(gè)問題的不同算法的時(shí)間復(fù)雜度一般是不同的B)解決同一個(gè)問題的不同算法的時(shí)間復(fù)雜度必定是相同的C)對(duì)同一批數(shù)據(jù)作同一種處理,如果數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)不同,不同算法的時(shí)間復(fù)雜度肯定相同D)對(duì)同一批數(shù)據(jù)作不同的處理,如果數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)相同,不同算法的時(shí)間復(fù)雜度肯定相同參考答案:A算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量,而計(jì)算工作量是用算法所執(zhí)行的基本運(yùn)算次數(shù)來度量的。解決同一個(gè)問題的不同算法的時(shí)間復(fù)雜度,可能相同也可能不相同。算法的時(shí)間復(fù)雜度與數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)無關(guān),對(duì)同一批數(shù)據(jù)作同一種處理或者不同處理,教據(jù)存儲(chǔ)結(jié)構(gòu)相同或者不同,算法的時(shí)間復(fù)雜

2、度都可能相同或者不同。故選A選項(xiàng)2,下列處理中與隊(duì)列有關(guān)的是A)操作系統(tǒng)中的作業(yè)調(diào)度B)執(zhí)行程序中的過程調(diào)用C)執(zhí)行程序中的循環(huán)控制D) 二叉樹的遍歷參考答案:A隊(duì)列是指允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的線性表。由于最先進(jìn)入隊(duì)列的元素將最先出隊(duì),所以隊(duì)列具有“先進(jìn)先出”的特性,體現(xiàn)了 ”先來先服務(wù)”的原則。作業(yè)調(diào)度是指根據(jù)一定信息,按照一定的算法,從外存的后備隊(duì)列中選取某些作業(yè)調(diào)入內(nèi)存分配資源并將新創(chuàng)建的進(jìn)程插入就緒隊(duì)列的過程。執(zhí)行程序中的過程調(diào)用一般指函數(shù)調(diào)用,需要調(diào)用時(shí)候轉(zhuǎn)入被調(diào)用函數(shù)地址執(zhí)行程序, 與隊(duì)列無關(guān)。執(zhí)行程序中的循環(huán)控制是指算法的基本控制結(jié)構(gòu),包括對(duì)循環(huán)條件的判定與執(zhí)行循

3、環(huán)體,與隊(duì)列無關(guān)。二叉樹是一個(gè)有限的結(jié)點(diǎn)集合,二叉樹的遍歷是指不重復(fù)地訪問二叉樹中的所有結(jié)點(diǎn), 與隊(duì)列無關(guān)。故本題選擇A選項(xiàng)3.設(shè)棧的存儲(chǔ)空間為S(1:m),初始狀態(tài)為top=m+1。經(jīng)過一系列入棧與退棧操作后,top=1?,F(xiàn)又要將一個(gè) 元素進(jìn)棧,棧頂指針top值變?yōu)锳)發(fā)生棧滿的錯(cuò)誤2m0參考答案:A棧是一種特殊的線性表,它所有的插入與刪除都限定在表的同一端進(jìn)行。入棧運(yùn)算即在棧頂位置插入一個(gè)新元素,退棧運(yùn)算即是取出棧頂元素賦予指定變量。題目中初始狀態(tài)為top=m+1,可知入棧棧頂指針 top=top-1, 出棧棧頂指針top=top+1,由于棧長為 m,當(dāng)top=1 時(shí)棧滿,不能再進(jìn)行入棧操

4、作。故選 A選項(xiàng)4.設(shè)二叉樹共有150個(gè)結(jié)點(diǎn),其中度為1的結(jié)點(diǎn)有10個(gè),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為717069D)不可能有這樣的二叉樹參考答案:D在樹結(jié)構(gòu)中,一個(gè)結(jié)點(diǎn)所擁有的后件個(gè)數(shù)稱為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)中最大的度稱為樹的度。對(duì)任何一棵二叉樹,度為 0的結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)。 如果有一棵二叉樹,結(jié)點(diǎn)總數(shù)為150,假設(shè)度為0的結(jié)點(diǎn)個(gè)數(shù)為n,則有n+10+n-1=150 ,n=70.5, 由于結(jié)點(diǎn)個(gè)數(shù)必須是整數(shù),所以不可能有題目中這樣的二叉樹。故選擇D選項(xiàng).非空循環(huán)鏈表所表示的數(shù)據(jù)結(jié)構(gòu) A)有根結(jié)點(diǎn)也有葉子結(jié)點(diǎn) B)沒有根結(jié)點(diǎn)但有葉子結(jié)點(diǎn) C)有根結(jié)點(diǎn)但沒有葉子結(jié)點(diǎn) D)沒有根結(jié)點(diǎn)也沒有

5、葉子結(jié)點(diǎn)參考答案:A在單鏈表的第一個(gè)結(jié)點(diǎn)前增加一個(gè)表頭結(jié)點(diǎn),隊(duì)頭指針指向表頭結(jié)點(diǎn), 最后一個(gè)結(jié)點(diǎn)的指針域的值由NULL改為指向表頭結(jié)點(diǎn),這樣的鏈表稱為循環(huán)鏈表。循環(huán)鏈表是線性結(jié)構(gòu), 有且只有一個(gè)根結(jié)點(diǎn),每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。循環(huán)鏈表表頭結(jié)點(diǎn)為根結(jié)點(diǎn),鏈表的最后一個(gè)結(jié)點(diǎn)為葉子節(jié)點(diǎn),雖然它含有一個(gè)指向表頭結(jié)點(diǎn)的指針,但是表頭結(jié)點(diǎn)并不是它的一個(gè)后件。故選擇A選項(xiàng).設(shè)二叉樹中共有31個(gè)結(jié)點(diǎn),其中的結(jié)點(diǎn)值互不相同。如果該二叉樹的后序序列與中序序列相同,則該 二叉樹的深度為A) 31 B) 16 C) 17 D) 5參考答案:A二叉樹遍歷可以分為3種:前序遍歷(訪問根結(jié)點(diǎn)在訪問左子樹

6、和訪問右子樹之前)、 中序遍歷(訪問根結(jié)點(diǎn)在訪問左子樹和訪問右子樹兩者之間)、后序遍歷(訪問根結(jié)點(diǎn)在訪問左子樹和訪問右子樹之后)。由結(jié)點(diǎn)值互不相同而后序序列與中序序列相同,可知該二叉樹所有的結(jié)點(diǎn)都沒有右子樹,所以31個(gè)結(jié)點(diǎn)的二叉樹深度為 31。 故選A選項(xiàng)。 7.在最壞情況下,堆排序的時(shí)間復(fù)雜度是0(log2w)-參考答案:B若有n個(gè)元素的序列,將元素按順序組成一棵完全二叉樹,當(dāng)且僅當(dāng)滿足下列條件時(shí)稱為堆,大根堆是指所有結(jié)點(diǎn)的值大于或等于左右子結(jié)點(diǎn)的值;小根堆是指所有結(jié)點(diǎn)的值小于或等于左右子結(jié)點(diǎn)的值。在調(diào)整建堆的過程中,總是將根結(jié)點(diǎn)值與左、右子樹的根結(jié)點(diǎn)進(jìn)行比較, 若不滿足堆的條件,則將左、右

7、子樹根結(jié)點(diǎn)值中的大者與根結(jié)點(diǎn)值進(jìn)行交換。堆排序最壞情況需要次比較,所以時(shí)間復(fù)雜度是,B選項(xiàng)正確8.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是A)學(xué)籍管理系統(tǒng) B) ERP系統(tǒng) C) C編譯程序 D) CAI軟件參考答案:C計(jì)算機(jī)軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。系統(tǒng)軟件是管理計(jì)算機(jī)的資源,提高計(jì)算機(jī)的使用效率,為用戶提供各種服務(wù)的軟件。應(yīng)用軟件是為了應(yīng)用于特定的領(lǐng)域而開發(fā)的軟件。支撐軟件介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具型軟件,其中包括幫助程序人員開發(fā)和維護(hù)軟件產(chǎn)品的工具軟件,也包括幫助管理人員控制開發(fā)進(jìn)程和項(xiàng)目管

8、理的工具軟件,如Dephi、PowerBuilder等。選項(xiàng)C屬于系統(tǒng)軟件,選項(xiàng) A B、D屬于應(yīng)用軟件,故選 C選項(xiàng) 9.存儲(chǔ)在計(jì)算機(jī)內(nèi)有結(jié)構(gòu)的數(shù)據(jù)集合是 A)數(shù)據(jù)庫 B)數(shù)據(jù)庫系統(tǒng) C)數(shù)據(jù)庫管理系統(tǒng) D)數(shù)據(jù)結(jié)構(gòu)參考答案:A數(shù)據(jù)庫是指長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù)庫及其管理軟件組成的系統(tǒng),是應(yīng)用軟件。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,它位于用戶與操作系統(tǒng)之間,屬于系統(tǒng)軟件。數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式。故本題選 A選項(xiàng).在數(shù)據(jù)庫技術(shù)中,為提高數(shù)據(jù)庫的邏輯獨(dú)立性和物理獨(dú)立性,數(shù)據(jù)庫的結(jié)構(gòu)被劃分成用戶級(jí)、存儲(chǔ)級(jí) 和A)概念級(jí) B)外部級(jí) C)管理

9、員級(jí) D)內(nèi)部級(jí) 參考答案:A 數(shù)據(jù)庫系統(tǒng)在其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。 概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,全體用戶的公共數(shù)據(jù)視圖。 外模式也稱子模式或者用戶模式,是用戶的數(shù)據(jù)視圖,也就是用戶所能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。內(nèi)模式又稱物理模式,是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的存儲(chǔ)方式。所以數(shù)據(jù)庫的結(jié)構(gòu)被劃分成用戶級(jí)、存儲(chǔ)級(jí)和概念級(jí)。故選A選項(xiàng).以下敘述錯(cuò)誤的是A) 一個(gè)算法所包含的操作步驟應(yīng)該是有限的B)任何能通過編譯和運(yùn)行的算法都一定能得到所期望的結(jié)果C)算法中每一條指令必須有確切的含義D

10、)算法可以用各種描述方法來進(jìn)行參考答案:B算法的特點(diǎn):零個(gè)或多個(gè)輸入,至少一個(gè)輸出(總得讓人家知道解決了什么問題),可行性(能編程實(shí)現(xiàn)),有窮性(有限步出結(jié)果),確定性(描述不能有歧義)。可知A,C,D正確。C語言中,通過編譯,可以運(yùn)行的程序,不一定符合題目的本意,因此即使可以運(yùn)行得到結(jié)果,也不一定和預(yù)期的結(jié)果一樣,否則就不需要調(diào)試和修改程序了,故B選項(xiàng)錯(cuò)誤。.以下是正確C語言實(shí)型常量的是.e-1e-1-1e D) 1e-1參考答案:D所謂常量是指在程序運(yùn)行的過程中,其值不能被改變的量。在 C語言中,有整型常量、 實(shí)型常量、字符常量和字符串常量等類型。實(shí)型常量有兩種表示形式:十進(jìn)制小數(shù)形式、指

11、數(shù)形式。指數(shù)形式中e后面的指數(shù)必須是整數(shù),階碼標(biāo)志e之前需要有數(shù)字,由此可知選項(xiàng) A,B,C錯(cuò)誤。答案為D選項(xiàng) 13.以下敘述正確的是A)在C語言中分號(hào)是語句的組成部分B) C語言程序由 麗句組成,可以省略 main函數(shù)C)分號(hào)是C語句之間的分隔符D)所有程序行都必須用分號(hào)結(jié)束參考答案:AC語言C程序的入口函數(shù)是 main(),因此C程序中有且只有一個(gè)main函數(shù),故選項(xiàng) B錯(cuò)誤。分號(hào)是C語言一條語句的結(jié)束標(biāo)志,不是分隔符 ,C語言分隔符是用來分隔多個(gè)變量、數(shù)據(jù) 項(xiàng)、表達(dá)式等的符號(hào),包括逗號(hào)、空白符、分號(hào)和冒號(hào)等等,選項(xiàng)C錯(cuò)誤。C語言的程序不是以分號(hào)結(jié)束的,分號(hào)是C語言一條語句的結(jié)束標(biāo)志,C語

12、言是面向過程的,從main函數(shù)開始在main函數(shù)里結(jié)束,選項(xiàng) D錯(cuò)誤。故答案為 A選項(xiàng)。.若有定義:double a, b, c; 能正確給a,b,c輸入數(shù)據(jù)的語句是scanf( %lf %lf %lf &a, &b, &c )scanf( %f %f %f,&a, &b, &c );scanf( %lf %lf %lf,a, b, c );scanf( %lf %lf %lf,&a, &b, &c );參考答案:D%lf,%le是針對(duì)double的,如果僅用f,輸入的數(shù)據(jù)可能不完全接收, 數(shù)據(jù)的精度可能不足。%f 主要針對(duì)float類型的變量的輸入,因此選項(xiàng)B錯(cuò)誤。根據(jù)題目格式可知A,C錯(cuò)誤

13、。故答案為D 選項(xiàng)。.有以下程序#include main( ) int x = 0 x9;printf(%cn, A+x);程序運(yùn)行后的輸出結(jié)果是IJKH參考答案:Bprintf(%cn, A+x) , x=0 x9(i6)轉(zhuǎn)為十進(jìn)制 x=9,因此 printf(%cn, A+9),打印格 式要求是c,因此在字符A,按字母順序向后偏移9個(gè)位置,可得結(jié)果為J。故答案為B選項(xiàng)。16.設(shè)有定義:double x=5.16894;,則語句 printf(%lfn ,(int)(x*1000+0.5)/1000.);的輸出結(jié)果是5.169005.168000.00000D)輸出格式說明符與輸出項(xiàng)不匹配

14、,產(chǎn)生錯(cuò)誤信息參考答案:A(x *1000+0.5 ) - x移動(dòng)3位小數(shù),力口 0.5,也就是小數(shù)第4位力口 5,若這位大于等于5,則進(jìn)1到個(gè)位。5.16894 * 10005168.94+0.55169.44(int ) (x *1000+0.5 )強(qiáng)制轉(zhuǎn)換為整型結(jié)果為51695169 /1000.0 )5.169,由于1000.0結(jié)果自動(dòng)轉(zhuǎn)換為浮點(diǎn)數(shù)所以 printf (%lfn , 5.169 )結(jié)果是 5.16900故答案為砒項(xiàng)17.有以下程序#include main() int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(%d,

15、%d,%d,%dn”,a,b,c,d);程序輸出A)編譯有錯(cuò)0,0,0,31,1,2,00,1,2,0參考答案:AC語言規(guī)定else總是和之前與其最近的且不帶else的if配對(duì),題目中,if(a=1) b=1;c=2;默認(rèn)省略的else已經(jīng)配對(duì)了,下一句 else沒有匹配if 為非法else。另外if的判斷條件a=1是賦值語句,不是判斷語句,此處也會(huì)產(chǎn)生編譯錯(cuò)誤。因此答案為A選項(xiàng)。18.有以下程序#include main( ) int a=-2, b=2;for(; +a & -b;);printf(%d,%dn, a,b);)程序運(yùn)行后的輸出結(jié)果是0,10,01,-10,2參考答案:Afo

16、r(; +a & -b;);for 循環(huán)的1,3表達(dá)式缺省項(xiàng),判斷條件為+a&-b;a=-2,b=2;,第一次執(zhí)行了 +a和-b ,表示為真,循環(huán)條件成立,第二次執(zhí)行 +a為0,由 于&運(yùn)算符,當(dāng)?shù)谝粋€(gè)條件為假時(shí),不執(zhí)行第二個(gè)條件,所以 b=1,發(fā)生短路,-b不執(zhí)行 了。因此a,b的最終值0,1。故答案為A選項(xiàng)。.有以下程序#include main( ) int t;scanf(%d, &t );if( t+ ,則輸出結(jié)果是6875參考答案:C后置自增運(yùn)算:k+表示先運(yùn)算,后自加。if( t+ 6 ) printf(%dn, t); elseprintf(%dn, t-);t 的初值為 6,

17、 t+6,則條件為假,執(zhí)行 printf(%dn, t-), 此時(shí) t=7,打印t值為7,之后進(jìn)行自減操作 t=6o,o因此打印的結(jié)果為7。故答案為C選項(xiàng)。.有以下程序#include main() char ch = D;while (ch A) ch -;putchar(ch);if (ch = A) break;putchar(ch+1);)程序運(yùn)行后的輸出結(jié)果是A) CBBCACCBBCDBCA參考答案:Dputchar()函數(shù)功能是輸出一個(gè)字符,由 whlie判斷條件和ch初始值可知,只要ch。/ A每次執(zhí)行二次putchar ,否則跳出。第一次輸出CD,第二次輸出BC,第三次輸出A

18、,跳出循環(huán)。因此答案為D選項(xiàng).以下程序擬實(shí)現(xiàn)計(jì)算s=1 + 2*2 + 3*3 + n*n +,直到s1000為止。#include main() int s,n;s=1;n=1;do n=n+1; s=s+n*n; while(s1000);printf(s=%dn,s);程序運(yùn)行后,不能得到正確結(jié)果,以下修改方案正確的是A)把 while(s1000);改為 while(s=1000);B)把 s=1;改為 s=0;C)把 n=1;改為 n=0;D)把 n=n+1;改為 n=n*n;參考答案:A題目中程序不能實(shí)現(xiàn)預(yù)期功能是因?yàn)閣hile的循環(huán)條件錯(cuò)誤,選項(xiàng) B,把s=1,改為s=0,最終的

19、結(jié)果s=4,與題目原意不同,選項(xiàng)C,把n=1;改為n=0;最終的結(jié)果s=2,與題目原意不同,選項(xiàng)D,把n=n+1;改為n=n*n;最終的結(jié)果s=2,與題目原意不同選項(xiàng)A,正確的修改了 while循環(huán)條件,可以得到正確結(jié)果。故答案為A選項(xiàng).有以下程序#include main() int m,n;scanf(%d%d, &m,&n);while(m!=n) while(mn) m=m-n; while(nm) n=n-m; printf(%dn,m);該程序的功能是A)計(jì)算nf 口 n的最小公倍數(shù)B)計(jì)算mf 口 n的最大公約數(shù)C)計(jì)算mF 口 n的差值D)找出mf口n中的較大值參考答案:B題目

20、使用更相減損術(shù)求最大公約數(shù),其思想:1、任意給定兩個(gè)正整數(shù),判斷它們是否都是偶數(shù)。若是,則用2約簡,若不是則執(zhí)行第二步。第二步:以較大的數(shù)減較小的數(shù),接著把所得的差與較小的數(shù)比較,并以大數(shù)減小數(shù)。繼續(xù)這個(gè)操作,直到所得的減數(shù)和差相等為止。則第一步中約掉的若干個(gè)2與第二步中等數(shù)的乘積就是所求的最大公約數(shù)。因此。故答案為B選項(xiàng).有以下程序#include int add( int a,int b) return (a+b); main() int k, (*f)(), a=5,b=10;f=add;則以下函數(shù)調(diào)用語句錯(cuò)誤的是k=f(a,b);k=add(a,b);k=(*f)(a,b);k= *f

21、(a,b);參考答案:D*與()的優(yōu)先級(jí),()的優(yōu)先級(jí)高于*,因?yàn)?*f)()是在定義函數(shù)指針。f指向函數(shù)白指針。f=add, 將函數(shù)add()的首地址賦給指針f,所以調(diào)用函數(shù)add()可以寫為f(),其返回值是整型,不是指 針類型,不能用*取指針指向的內(nèi)存單元的數(shù)據(jù),故 k=*f(a,b)的調(diào)用方式錯(cuò)誤。答案為 砒項(xiàng) 24.若有定義語句:double x, y,*px,*py;執(zhí)行px=&x; py=&y;正確的輸入語句是scanf(%lf %lf”,x, y);scanf(%f %f &x, &y);scanf(%f %f, x, y);scanf(%lf %le, px, py);參考答

22、案:D%lf, %le是針對(duì)double的,如果僅用f,輸入的數(shù)據(jù)可能不能被完全接收,數(shù)據(jù)的精度可能不足。f主要針對(duì)float類型的變量的輸入,選項(xiàng)B音誤。根據(jù)scanf(格式,變量地址),選擇A, C昔誤。因此,選擇D.以下定義數(shù)組的語句中錯(cuò)誤的是int num口3= 1,2,3,4,5,6 ;int num24= 1,2,3,4,5,6 ;int num= 1,2,3,4,5,6 ;int num口4=1,2,3,4,5,6;參考答案:Bint num24= 1,2,3,4,5,6 ;定義數(shù)組是2行4列,但是初始化的結(jié)構(gòu)是3行2列,因此初始化錯(cuò)誤。選項(xiàng) A, num口3= 1,2,3,4,

23、5,6 ;定義 3行3列的數(shù)組。選項(xiàng) D,num口4=1,2,3,4,5,6,定義了 2行4列數(shù)組,選項(xiàng)C, 一維數(shù)組的定義和初始化。故答案為B選項(xiàng)。.有以下程序#include void fun( int a , int n, int flag ) int i=0,j, t;for ( i=0; in-1; i+ )for ( j=i+1; jn; j+ ) if ( flag ) if ( ai aj) t = ai; ai = aj; aj = t; main( ) int c10= 7,9,10,8,3,5,1,6,2,4 ,i;fun( c, 4, 1 );fun( c+4, 6,

24、0 );for ( i=0;i10; i+ ) printf( %d, ci);printf(n);程序運(yùn)行后的輸出結(jié)果是A) 7,8,9,10,6,5,4,3,2,1B) 10,9,8,7,6,5,4,3,2,1C) 10,9,8,7,1,2,3,4,5,6,D) 1,2,3,4,5,6,7,8,9,10,參考答案:Cfun()函數(shù)作用冒泡法排序,flag控制升序(0)或者降序(1)。n為參與排序的個(gè)數(shù)。a為數(shù) 組的起始地址。因此,fun(a,4,1), 數(shù)組的前四個(gè)降序排序,fun(a+4,6,0) 從數(shù)組的第四項(xiàng), 后六個(gè)升序排序。故結(jié)果為 10,9,8,7,1,2,3,4,5,6。答案

25、為C選項(xiàng).有以下程序#include main( ) int i, k=0, a10;for( i=0; i10; i+ ) ai=i;for( i=0; i4; i+ ) k += ai + i;printf(%dn, k);程序運(yùn)行后的輸出結(jié)果是1016612參考答案:D第一個(gè)for循環(huán)對(duì)數(shù)組a賦初值,從09,第二個(gè)for循環(huán)數(shù)組前4項(xiàng)的ai + i的和。0+0, 1+1, 2+2, 3+3,經(jīng)計(jì)算的結(jié)果為12,因此答案為CB項(xiàng) 28.有以下程序#include int new_div(double a, double b) return a / b + 0.5; main( ) prin

26、tf(%d, new_div(7.8, 3.1); 程序運(yùn)行后的輸出結(jié)果是1230參考答案:Cnew_div()的返回值是int類型,因此,a/b(a , b均為double類型)+0.5的小數(shù)部分被將被截 斷。經(jīng)計(jì)算,7.8/3.1+0.5=2.516+0.5=3.016,故打印的結(jié)果為3。故答案為找項(xiàng)29.函數(shù)fun的功能是在a所指的具有n個(gè)元素的數(shù)組中查找最大值并返回給調(diào)用函數(shù),函數(shù)不完整。int fun(int *a,int n) int *p,*s;for( p=a,s=a; p-as B) *p*sC) apasD) p-ap-s參考答案:B函數(shù)fun的功能是在a所指的具有n個(gè)元素

27、的數(shù)組中查找最大值并返回。通過for比較,s始終指向最大值的那個(gè)元素。取指針的值,使用 *p,因此比較使用*p和*s,又因?yàn)檎易畲?值,當(dāng)*s*p時(shí),修改指針s的指向,因此答案為 B選項(xiàng) 30.有以下程序#include #include main() char str口20=One*World,One*Dream!,*p=str1;printf(%d,strlen(p); printf(%sn,p);)程序運(yùn)行后的輸出結(jié)果是10,One*Dream!9,One*Dream!9,One*World10,One*World參考答案:Aunsigned int strlen(char *s );計(jì)

28、算字符串 s的(unsigned int 型)長度,不包括0 在內(nèi);p指向數(shù)組的第二個(gè)元素,因此 strlen(p)=10 ,并打印,故答案為 A選項(xiàng) 31.有以下程序#include #include main( ) int i, len;char b=Welcome you to Beijing!;len = strlen(b);for ( i=0; ilen; i+ ) if ( bi=) strcpy(b, b+i+1);i=0; )printf( %sn, b ); )程序運(yùn)行后的輸出結(jié)果是Beijing!to Beijing!Welcome you to Beijing!you t

29、o Beijing!參考答案:Afor循環(huán)的作用就是每次遇到空格,將空格后面的移動(dòng)到數(shù)組的最前面。因此數(shù)組最后的狀態(tài)時(shí)Beijing!0g!0ng!neijing!0;但是printf(%s) 打印遇到0自動(dòng)結(jié)束。因此,打印Beijing!。故答案為順項(xiàng) 32.有以下程序#include int f( int k ) static int n=0;int m=0;n+; m+; k+; return n+m+k;) main( ) int k;for ( k=0; k2; k+ ) printf( %d, f(k) );printf( n);)程序運(yùn)行后的輸出結(jié)果是3,5,3,6,3,7,0,

30、3,參考答案:Astatic 靜態(tài)變量只在聲明時(shí)初始化一次。因此,第一次調(diào)用函數(shù)f(k=0),此時(shí)n=m=k=0,經(jīng)過自增操作n=1,m=1,k=1,返回值為3,第二次調(diào)用函數(shù) f(k=1),此時(shí)n=1 , k=1,m=0,經(jīng)過自增操 作,n=2,k=2,m=1,返回彳t為5.故最終2果為3,5。故答案為A選項(xiàng)。33.有以下程序#include int m=12;int fun( int x,int y ) static int m=3;m= x * y - m ;return (m);) main() int a=7, b=5;m=fun( a, b )/m;printf(%dn, fun(

31、 a, b )/m );)程序運(yùn)行后的輸出結(jié)果是2130參考答案:B局部變量覆蓋全局變量,但是全局變量的聲明周期還存在。f()函數(shù)調(diào)用完成后,由于mi:局變量,被修改為32,即函數(shù)的返回值32,此時(shí)m=32/12,第二次調(diào)用f(a,b),函數(shù)的返回值為 3,此時(shí)m=2,故輸出為1。所以答案為B選項(xiàng).有以下程序#include #include main( ) char a = TEXT, *b = +, c3 = 1;printf(%d,%d, strlen(a), sizeof(a);printf(%d,%d, strlen(b), sizeof(b);printf(%d,%d,n, str

32、len(c), sizeof(c);)程序運(yùn)行后的輸出結(jié)果是A) 4,5,2,4,1,3, B) 4,4,2,2,1,1, C) 5,5,3,3,2,2, D) 4,4,2,2,1,3 參考答案:A sizeof()是運(yùn)算符,在頭文件中typedef為unsigned int ,其值在編譯時(shí)即計(jì)算好了,參數(shù)可以是數(shù)組、指針、類型、對(duì)象、函數(shù)等。它的功能是:獲得保證能容納實(shí)現(xiàn)所建立的 最大對(duì)象的字節(jié)大小。strlen(*char)是函數(shù),要在運(yùn)行時(shí)才能計(jì)算。參數(shù)必須是字符型指針( char* )。當(dāng)數(shù)組名作為參數(shù)傳入時(shí),實(shí)際上數(shù)組就退化成指針了。它的功能是:返回字符串的長度。該字符串可能是自己定

33、義的,也可能是內(nèi)存中隨機(jī)的,該函數(shù)實(shí)際完成的功能是從代表該字符串的第 一個(gè)地址開始遍歷,直到遇到結(jié)束符NULL返回的長度大小不包括 NULL sizeof(a)求數(shù)組a 所占空間的大小,包括字符串最后的/ 0 /,所以sizeof(a)=5 , strlen()遇到/ 0 /就結(jié)束,strlen(a)=4 。strlen(b) 是指針指向的字符串長度,sizeof(b) 是指針的大小。strlen(c) 是字符串的長度,sizeof(c) 是數(shù)組的長度。因此,輸出4,5,2,4,1,3。故答案為 Ai項(xiàng).以下與存儲(chǔ)類別有關(guān)的四組說明符中,全部屬于靜態(tài)類的一組是 A) extern 和 stat

34、ic B) auto 和 static C) register和 staticD) register和 extern參考答案:Aauto用于聲明變量的生存期為自動(dòng),即將不在任何類、結(jié)構(gòu)、枚舉、聯(lián)合和函數(shù)中定義的變量視為全局變量,而在函數(shù)中定義的變量視為局部變量。這個(gè)關(guān)鍵字通常會(huì)被省略,因?yàn)樗械淖兞磕J(rèn)就是auto的。register定義的變量告訴編譯器盡可能的將變量存在CPU部寄存器中而不是通過內(nèi)存尋址訪問以提高效率。static變量會(huì)被放在程序的全局存儲(chǔ)區(qū)中,這樣可以在下一次調(diào)用的時(shí)候還可以保持原 來的賦值。這一點(diǎn)是它與堆棧變量和堆變量的區(qū)別。變量用static告知編譯器,自己僅僅在變量的

35、作用范圍內(nèi)可見。這一點(diǎn)是它與全局變量的區(qū)別。當(dāng)static用來修飾全局變量時(shí), 它就改變了全局變量的作用域。extern限制在了當(dāng)前文件里,但是沒有改變其存放位置,還是在全局靜態(tài)儲(chǔ)存區(qū)。extern外部聲明,該變量在其他地方有被定義過。因此,答案為A選項(xiàng).為了建立如圖所示的存儲(chǔ)結(jié)構(gòu)(即每個(gè)結(jié)點(diǎn)含兩個(gè)域,data是數(shù)據(jù)域,next是指向結(jié)點(diǎn)的指針域)則在()處填入的選項(xiàng)是()。struct link char data;()node;data nextstruct link *next;link next;link *next;struct link next;參考答案:A存儲(chǔ)結(jié)構(gòu)用鏈?zhǔn)酱鎯?chǔ)。鏈

36、式結(jié)構(gòu)每個(gè)節(jié)點(diǎn)有個(gè)指針域,指針域指向下一個(gè)鏈?zhǔn)浇Y(jié)構(gòu)的節(jié)點(diǎn),因此指針域的結(jié)構(gòu)應(yīng)該是該結(jié)構(gòu)形式,因此應(yīng)定義為struct link* next,故答案為A選項(xiàng)。struct是結(jié)構(gòu)體的說明符,不能省略.有以下程序#include #include typedef struct stu char name10;char gender;int score; STU;void f( char name10,char gender,int score ) strcpy( name, Sun );gender = m;score = 370; main() STU b=Zhao, m, 290, a=Qian, f, 350;b=a;printf( %s,%c,%d, , b.gender, b.score );f( , b.gender, b.score );printf( %s,%c,%dn, , b.gender, b.score );程序運(yùn)行后的輸出結(jié)果是A) Qian,f,350,Sun,f,350B)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論