版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、全國計(jì)算機(jī)二級(jí)C選擇題題庫第34套1、下列敘述中錯(cuò)誤的是A數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素不能是另一數(shù)據(jù)結(jié)構(gòu)B)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素可以是另一數(shù)據(jù)結(jié)構(gòu)C)空數(shù)據(jù)結(jié)構(gòu)可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)D)非空數(shù)據(jù)結(jié)構(gòu)可以沒有根結(jié)點(diǎn)參考答案:A數(shù)據(jù)元素是一個(gè)含義很廣泛的概念,它是數(shù)據(jù)的,基本單位,在計(jì)算機(jī)中通常作為一個(gè)整體進(jìn)行考慮和處理。數(shù)據(jù)元素可以是一個(gè)數(shù)據(jù)也可以是被抽象出的具有一定結(jié)構(gòu)數(shù)據(jù)集合,所以數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素可以是另一數(shù)據(jù)結(jié)構(gòu)。滿足有且只有一個(gè)根結(jié)點(diǎn)并且每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件也最多有一個(gè)后件的非空的數(shù)據(jù)結(jié)構(gòu)認(rèn)為是線性結(jié)構(gòu),不滿足條件的結(jié)構(gòu)為非線性結(jié)構(gòu)??諗?shù)據(jù)結(jié)構(gòu)可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)。
2、非空數(shù)據(jù)結(jié)構(gòu)可以沒有根結(jié)點(diǎn),如非性線結(jié)構(gòu)圖就沒有根結(jié)點(diǎn)。故選A選項(xiàng)。2、為了降低算法的空間復(fù)雜度,要求算法盡量采用原地工作inplace)。所謂原地工作是指A)執(zhí)行算法時(shí)所使用的額外空間固定(即不隨算法所處理的數(shù)據(jù)空間大小的變化而變化)B)執(zhí)行算法時(shí)所使用的額外空間隨算法所處理的數(shù)據(jù)空間大小的變化而變化C)執(zhí)行算法時(shí)不使用額外空間D)執(zhí)行算法時(shí)不使用任何存儲(chǔ)空間參考答案:A算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間,包括輸入數(shù)據(jù)所占的存儲(chǔ)空間、程序本身所占的存儲(chǔ)空間、算法執(zhí)行過程中所需要的額外空間。如果額外空間量相對(duì)于問題規(guī)模(即輸入數(shù)據(jù)所占的存儲(chǔ)空間)來說是常數(shù),即額外空間量不隨問題規(guī)
3、模的變化而變化,則稱該算法是原地工作的。故選A選項(xiàng)3、某循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:m),初始狀態(tài)為front=rear=m?,F(xiàn)經(jīng)過一系列的入隊(duì)操作和退隊(duì)操作后,front=m,rear=m-1,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為TOC o 1-5 h zm-1m10參考答案:A循環(huán)隊(duì)列長(zhǎng)度為m,由初始狀態(tài)為front=rear=m,可知此時(shí)循環(huán)隊(duì)列為空。入隊(duì)運(yùn)算時(shí),首先隊(duì)尾指針進(jìn)1(即rear+1),然后在rear指針指向的位置插入新元素。特別的,當(dāng)隊(duì)尾指針rear=m+1時(shí),置rear=1。退隊(duì)運(yùn)算時(shí),排頭指針進(jìn)1(即front+1),然后刪除front指針指向的位置上的元素,當(dāng)排頭指針front
4、=m+1時(shí),置front=1。從排頭指針front指向的后一個(gè)位置直到隊(duì)尾指針rear指向的位置之間所有的元素均為隊(duì)列中的元素。如果rear-front0,則隊(duì)列中的元素個(gè)數(shù)為rear-front個(gè);如果rear-front0,則隊(duì)列中的元素個(gè)數(shù)為rear-front+m。該題中m-1m,即rear-front0,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為(m-1)-m+m=m-1。故選A選項(xiàng)。4、某棵樹只有度為3的結(jié)點(diǎn)和葉子結(jié)點(diǎn),其中度為3的結(jié)點(diǎn)有8個(gè),則該樹中的葉子結(jié)點(diǎn)數(shù)為TOC o 1-5 h z151617不存在這樣的樹參考答案:C樹是一種簡(jiǎn)單的非線性結(jié)構(gòu),直觀地來看,樹是以分支關(guān)系定義的層次結(jié)構(gòu)。在
5、樹結(jié)構(gòu)中,一個(gè)結(jié)點(diǎn)所擁有的后件個(gè)數(shù)稱為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)中最大的度稱為樹的度。由于只有度為3的結(jié)點(diǎn)和葉子結(jié)點(diǎn),可知最后一層都為葉子結(jié)點(diǎn),倒數(shù)第二層一部分結(jié)點(diǎn)度為3,部分為葉子結(jié)點(diǎn),其余的結(jié)點(diǎn)的度均為3,計(jì)算度為3的結(jié)點(diǎn)總數(shù)(33-1-1)/28(34-1-1)/2可知樹共有4層,前兩層有度為3的結(jié)點(diǎn)(31)/2=4個(gè)第三層有33=9個(gè)結(jié)點(diǎn),其中4個(gè)是度為3的結(jié)點(diǎn),5個(gè)是葉子結(jié)點(diǎn),所以該樹中的葉子結(jié)點(diǎn)數(shù)為4x3+5=17。故選C選項(xiàng)。5、某二叉樹共有530個(gè)結(jié)點(diǎn),其中度為2的結(jié)點(diǎn)有250個(gè),則度為1的結(jié)點(diǎn)數(shù)為TOC o 1-5 h z2930249251參考答案:A在樹結(jié)構(gòu)中,一個(gè)結(jié)點(diǎn)所擁有的
6、后件個(gè)數(shù)稱為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)中最大的度稱為樹的度。對(duì)任何一棵二叉樹,度為0的結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)。二叉樹結(jié)點(diǎn)總數(shù)為530,度為2的結(jié)點(diǎn)有250個(gè),則度為0的結(jié)點(diǎn)有251個(gè),那么度為1的結(jié)點(diǎn)個(gè)數(shù)為530-250-251=29。故選A選項(xiàng)。6、若某二叉樹中的所有結(jié)點(diǎn)值均大于其左子樹上的所有結(jié)點(diǎn)值,且小于右子樹上的所有結(jié)點(diǎn)值,則該二叉樹遍歷序列中有序的是A)前序序列B)中序序列C)后序序列D)以上說法均可以參考答案:B二叉樹遍歷可以分為3種:前序遍歷(訪問根結(jié)點(diǎn)在訪問左子樹和訪問右子樹之前)、中序遍歷(訪問根結(jié)點(diǎn)在訪問左子樹和訪問右子樹兩者之間)、后序遍歷(訪問根結(jié)點(diǎn)在訪問左子樹和訪問右
7、子樹之后)。由于結(jié)點(diǎn)值均大于其左子樹上的所有結(jié)點(diǎn)值,且小于右子樹上的所有結(jié)點(diǎn)值,那么只要遍歷時(shí)訪問根結(jié)點(diǎn)在訪問左子樹和右子樹之間,遍歷序列有序,即中序序列有序。故選B選項(xiàng)。7、將C語言的整數(shù)設(shè)為整數(shù)類I,則下面屬于類I實(shí)例的是TOC o 1-5 h zA)-103B)10E3C)10.3D)0103參考答案:A整數(shù)類實(shí)例包括:十進(jìn)制常量用09表示,不能以0開頭;八進(jìn)制常量用07表示,必須用0開頭;十六進(jìn)制常量用09和AF(af)表示,必須以0 x或0X開頭。本題中B選項(xiàng)是科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)實(shí)例,C選項(xiàng)是浮點(diǎn)數(shù)實(shí)例,D選項(xiàng)是字符串實(shí)例。故選A選項(xiàng)。8、下列敘述中正確的是A)軟件是程序、數(shù)據(jù)和
8、文檔B)軟件是程序和數(shù)據(jù)C)軟件是算法和數(shù)據(jù)結(jié)構(gòu)D)軟件是算法和程序參考答案:A計(jì)算機(jī)軟件由兩部分組成:一是機(jī)器可執(zhí)行的程序和數(shù)據(jù);二是機(jī)器不可執(zhí)行的,與軟件開發(fā)、運(yùn)行、維護(hù)、使用等有關(guān)的文檔。故選A選項(xiàng)。9、軟件生命周期是指A)軟件的定義和開發(fā)階段B)軟件的需求分析、設(shè)計(jì)與實(shí)現(xiàn)階段C)軟件的開發(fā)階段D)軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程參考答案:D通常把軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用、維護(hù)到停止使用、退役的過程稱為軟件生命周期。選項(xiàng)A、B、C選項(xiàng)均為生命周期的一部分。故選D選項(xiàng)。10、下列敘述中正確的是A數(shù)據(jù)庫系統(tǒng)可以解決數(shù)據(jù)冗余和數(shù)據(jù)獨(dú)立性問題,而文件系統(tǒng)不能B)數(shù)據(jù)庫系統(tǒng)能夠
9、管理各種類型的文件,而文件系統(tǒng)只能管理程序文件C)數(shù)據(jù)庫系統(tǒng)可以管理龐大的數(shù)據(jù)量,而文件系統(tǒng)管理的數(shù)據(jù)量較少D)數(shù)據(jù)庫系統(tǒng)獨(dú)立性較差,而文件系統(tǒng)獨(dú)立性較好參考答案:A數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了3個(gè)階段人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。三者各自的特點(diǎn)如下表所示。特點(diǎn)人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段管理者人文件系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)面向?qū)ο竽硞€(gè)應(yīng)用程序某個(gè)應(yīng)用程序現(xiàn)實(shí)世界共享程度無共享,冗余度大共享性差,冗余度大共享性大,冗余度小獨(dú)立性不獨(dú)立,完全依賴于程序獨(dú)立性差具有高度的物理獨(dú)立性和一定的邏輯獨(dú)立性結(jié)構(gòu)化無結(jié)構(gòu)記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu)整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述控制能力由應(yīng)用程序控制由
10、應(yīng)用程序控制由DBMS提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復(fù)數(shù)據(jù)庫系統(tǒng)可以解決數(shù)據(jù)冗余和數(shù)據(jù)獨(dú)立性問題,而文件系統(tǒng)不能。數(shù)據(jù)庫系統(tǒng)和文件系統(tǒng)的區(qū)別不僅在于管理的文件類型與數(shù)據(jù)量的多少。數(shù)據(jù)庫系統(tǒng)具有高度的物理獨(dú)立性和一定的邏輯獨(dú)立性,而文件系統(tǒng)獨(dú)立性較好。故本題選A選項(xiàng)。11、關(guān)于程序模塊化,以下敘述錯(cuò)誤的是A)程序模塊化可以提高程序運(yùn)行的效率B)程序模塊化可以提高程序編制的效率C)程序模塊化可以提高程序代碼復(fù)用率D)程序模塊化可以提高調(diào)試程序的效率參考答案:A模塊化程序的優(yōu)點(diǎn):1、易于維護(hù)和復(fù)用,可以提高程序編制的效率,2、易于分工合作,3、易于模塊化調(diào)試測(cè)試。模塊化程序的副作用:1、可能會(huì)
11、降低程序運(yùn)行效率,2、設(shè)計(jì)的前期工作需要多花費(fèi)時(shí)間??芍x項(xiàng)B,C,D正確。12、以下是正確C語言標(biāo)識(shí)符的TOC o 1-5 h zA)&3B)#3C)_3D)-3參考答案:CC語言合法標(biāo)識(shí)名的命名規(guī)則是:標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,(2)第一個(gè)字符不能是數(shù)字只能是字母或下劃線。選項(xiàng)A的第一個(gè)字符為&,非法,選項(xiàng)B,第一個(gè)字符為#,非法,選項(xiàng)D,第一個(gè)字符為-,非法。答案為選項(xiàng)C。13、若有定義:inta,b,c;以下程序段的輸出結(jié)果是a=11;b=3;c=0;printf(%dn,c=(a/b,a%b);TOC o 1-5 h z2031參考答案:AC語言中,逗號(hào)運(yùn)算符可以把兩個(gè)以上(包
12、含兩個(gè))的表達(dá)式連接成一個(gè)表達(dá)式。逗號(hào)運(yùn)算符的優(yōu)先級(jí)是所有運(yùn)算符中級(jí)別最低的逗號(hào)運(yùn)算符保證左邊的子表達(dá)式運(yùn)算結(jié)束后才進(jìn)行右邊的子表達(dá)式的運(yùn)算。也就是說,逗號(hào)運(yùn)算符是一個(gè)序列點(diǎn),其左邊所有副作用都結(jié)束后,才對(duì)其右邊的子表達(dá)式進(jìn)行運(yùn)算,并以最右邊表達(dá)式值作為整個(gè)逗號(hào)表達(dá)式的值。因此c的值為a%b即11%3=2,故答案為A選項(xiàng)。14、以下選項(xiàng)中合法的C語言常量是C-STR2014.11.02EK參考答案:B所謂常量是指在程序運(yùn)行的過程中,其值不能被改變的量。在C語言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類型。選項(xiàng)A是字符串,但使用單引號(hào),錯(cuò)誤,選項(xiàng)C,D,為實(shí)型常量中指數(shù)形式,但指數(shù)形式e
13、(E)之前必須是數(shù)字,之后必須為整數(shù),錯(cuò)誤。故答案為B選項(xiàng)。15、設(shè)有定義:intx,y,z;,且各變量已賦正整數(shù)值,則以下能正確表示代數(shù)式啲C語言表達(dá)式是()。1.0/x/y/z1/x*y*z1/(x*y*z)1/x/y/(double)z參考答案:A代數(shù)表達(dá)式1/X*y*Z)是小數(shù),轉(zhuǎn)為c語言的表達(dá)式必須是小數(shù)A選項(xiàng)由于1.0為浮點(diǎn)數(shù),計(jì)算結(jié)果自動(dòng)轉(zhuǎn)換為浮點(diǎn)數(shù),故A正確。選項(xiàng)B,C,D的表達(dá)式均為0,因此只有選項(xiàng)A正確。答案為A選項(xiàng)。16、有以下程序#includemain()chara,b,c,d;scanf(%c%c,&a,&b);c=getchar();d=getchar();pri
14、ntf(%c%c%c%cn,a,b,c,d);當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第1列開始,代表回車,注意:回車也是一個(gè)字符)1234則輸出結(jié)果是A)123B)12C)1234D)1234參考答案:Ascanf()函數(shù)從標(biāo)準(zhǔn)輸入輸出中讀入兩個(gè)字符1八2分別賦給變量a、b,遇到回車自動(dòng)結(jié)束,但回車符已經(jīng)存入緩沖區(qū),函數(shù)getchar()將從中接受這個(gè)字符,故c賦值為回車符,然后第二個(gè)getchar()讀入字符3,因此a=1,b=2,c=,d=3,故答案為A選項(xiàng)。仃、有以下程序#ineludemain()inta,b;for(a=0;a3;a+)scanf(%d,&b);switch(b)def
15、ault:printf(%d,b+1);continue;case1:printf(%d,b+1);case2:printf(%d,b+1);continue;執(zhí)行時(shí)輸入:123回車,則輸出結(jié)果是223,4,4,4,2,3,4,2,2,3,4,2,3,3,4,5,6,參考答案:Ccontinue語句的作用是跳過循環(huán)體中剩余的語句而強(qiáng)行執(zhí)行下一次循環(huán)。switchcase如果沒有break會(huì)導(dǎo)致多個(gè)分支重疊。因此,輸入1,2,3,則1執(zhí)行case1:printf(%d,b+1);case2:printf(%d,b+1);continue;后結(jié)束。2則執(zhí)行case2:printf(%d,b+1);
16、continue;3則執(zhí)行default:printf(%d,b+1);continue;得到的結(jié)果是2,2,3,4。故答案為C選項(xiàng)。18、有以下程序#include#includemain()doublex,y,z;scanf(%lf%lf,&x,&y);z=x/y;while(1)if(fabs1.0)x=y;y=x;z=x/y;elsebreak;printf(y=%fn,y);執(zhí)行時(shí)輸入:3.62.4回車,則輸出結(jié)果是2.4000001.5000001.6000002.000000參考答案:A題目中程序執(zhí)行過程中關(guān)鍵語句的結(jié)果為:z=1.5,if條件成立,x=2.4,y=2.4,z=1
17、.0,下一次循環(huán)if條件不成立跳出循環(huán),按照格式打印y值為2.400000。故答案為A選項(xiàng)。19、有以下程序#ineludemain()inti;charc;scanf(%c,&c);for(i=0;ic)continue;printf(%d,i);執(zhí)行時(shí)輸入:0回車后,則輸出結(jié)果是50,0,0,0,0,0,123,4,0,1,參考答案:Cscanf(%c,&c),輸入的字符,題目中輸入了0,是字符,對(duì)應(yīng)于ASCII碼為48,因此for循環(huán),i的范圍從05,均小于48,if條件不成立,直接執(zhí)行下一條語句,因此執(zhí)行printf,因此得到的結(jié)果是0,1,2,3,4。故答案為C選項(xiàng)。20、以下程序擬
18、實(shí)現(xiàn)計(jì)算sum=1+1/2+1/3+1/50。#ineludemain()inti;doublesum;sum=1.0;i=1;doi+;sum+=1/i;while(i50);printf(sum=%lfn,sum);程序運(yùn)行后,不能得到正確結(jié)果,出現(xiàn)問題的語句是sum+=1/i;while(i50);sum=1.0;i+;參考答案:A選項(xiàng)A,sum+=1/i;i為整型,因此1/i是整型類型,當(dāng)1/i有小數(shù)時(shí),會(huì)被截?cái)?。因?/i結(jié)果始終為0,導(dǎo)致結(jié)果出錯(cuò)。,應(yīng)該改為sum+=1.0/i。因此答案為A選項(xiàng)。21、若有定義語句:doublea,*p=&a;以下敘述中錯(cuò)誤的是A)定義語句中的*號(hào)
19、是一個(gè)間址運(yùn)算符B)定義語句中的*號(hào)是一個(gè)說明符C)定義語句中的p只能存放double類型變量的地址D)定義語句中*p=&a把變量a的地址作為初值賦給指針變量p參考答案:A指針運(yùn)算符(通常稱為間接引用運(yùn)算符:indirectionoperator或復(fù)引用運(yùn)算符:dereferencingoperator),它返回其操作數(shù)(即一個(gè)指針)所指向的對(duì)象的值。定義語句中的*號(hào)不是一個(gè)間址運(yùn)算符,而是定義指針變量的說明符,因此,A項(xiàng)錯(cuò)誤,B項(xiàng)正確,原則上說p可以放double兼容性的變量地址,C項(xiàng)正確,根據(jù)指針的賦值運(yùn)算,可知D項(xiàng)正確。故答案為A選項(xiàng)。22、關(guān)于函數(shù)返回值,以下敘述正確的是A)函數(shù)可以返
20、回整個(gè)結(jié)構(gòu)體,即使結(jié)構(gòu)體中有數(shù)組B)函數(shù)只能返回基本數(shù)據(jù)類型的數(shù)值或指針C)函數(shù)不可以返回一個(gè)數(shù)組D)函數(shù)不能沒有返回值參考答案:A函數(shù)返回值可以整型、實(shí)型、字符型、指針和結(jié)構(gòu)類型,也可以沒有返回值。因此選項(xiàng)X正確,可以返回?cái)?shù)組指針,因此可知選項(xiàng)B,C,D錯(cuò)誤。故答案為A選項(xiàng)。23、有以下程序#ineludeintfun(int*b,intn)inti,r=1;for(i=0;i=n;i+)r=r*bi;returnr;main()intx,a=2,3,4,5,6,7,8,9;x=fun(a,3);printf(%dn,x);程序運(yùn)行后的輸出結(jié)果是TOC o 1-5 h z247201206參
21、考答案:Cfun(),求數(shù)組指定返回的元素的積。fun(a,3),求的是數(shù)組a0a3的積。因此結(jié)果為2*3*4*5=120,故答案為C選項(xiàng)。24、若有語句:inta34,(*p)4;p=a;,則以下選項(xiàng)中敘述錯(cuò)誤的是系統(tǒng)將開辟一個(gè)名為p的二維數(shù)組,p00中的值即為a00中的值p+1代表a10的地址p中將存放a數(shù)組的首地址p+2代表a數(shù)組最后一行的首地址參考答案:A(*p)4定義了一個(gè)數(shù)組指針。p可以指向類似于arry4的數(shù)組,題設(shè)中,p不是一個(gè)二維數(shù)組,只是可以指向這類二維數(shù)組,因此選項(xiàng)A錯(cuò)誤。p+1代表了第一行第一個(gè)元素的地址,p=a指向數(shù)組a的首地址,則B、C選項(xiàng)正確,同理可知選項(xiàng)D也正確
22、。故答案為A選項(xiàng)。25、有以下程序#ineludevoidehange(char*array,intlen)for(len-;len=0;len-)arraylen+=1;main()inti;chararray5=ABCD;ehange(array,4);for(i=0;i4;i+)printf(%c,arrayi);程序運(yùn)行后的輸出結(jié)果是B,C,D,E,A,B,C,D,C,D,E,F,B,D,F,H,參考答案:A函數(shù)change。的作用將從數(shù)組尾部將數(shù)組內(nèi)的元素值加1。數(shù)組的初始值為ABCD,因此經(jīng)change()后,得到的值為BCDE。故答案為A選項(xiàng)。26、設(shè)有以下程序段floata8=
23、1.0,2.0;intb1=0;charc=A,B;chard=1;以下敘述正確的是只有變量c的定義是合法的只有變量a,b,c的定義是完全合法的所有變量的定義都是完全合法的只有變量a,b的定義是完全合法的參考答案:Dfloata同=1.0,2.0定義了一個(gè)包含8個(gè)float型元素的數(shù)組,并初始化了數(shù)組的前2項(xiàng),其他項(xiàng)是隨機(jī)數(shù)。intb1=0定義了只有一個(gè)int型元素的數(shù)組,并初始化為0。charc=A,B;定義一個(gè)char型數(shù)組,大小有初始化元素決定,但初始化值是字符串,類型不兼容,編譯出錯(cuò)。chard=1;定義一個(gè)char型變量,但是初始化賦值字符串,類型不兼容,編譯出錯(cuò)。因此只有a,b定義
24、和初始化正確。故答案為D選項(xiàng)。27、有以下程序#includemain()inta4,p,x,i;for(i=3;i0;i-)ai-1=i*2-1;scanf(%d,&x);i=0;while(aip;i-)ai=ai-1;ap=x;for(i=0;i4;i+)printf(%3d,ai);printf(n);執(zhí)行時(shí)輸入:2intfun(inta,intn,intx)int*p=a;while(pa+n&*p!=x)p+;if(pa+n)returnp-a;elsereturn-1;main()inta10=1,2,3,4,5,6,7,8,9,10;printf(%dn,fun(a,10,10
25、);程序運(yùn)行后的輸出結(jié)果是TOC o 1-5 h z9-1100參考答案:Awhile(pva+n&*p!=x)p+;p=a;n=10,x=10;while循環(huán)條件成立,直到p=a+9,結(jié)束循環(huán),執(zhí)行下一條語句,if條件成立,返回p-a,此時(shí)執(zhí)行p-a=a+9-a=9;因此,輸出9。故答案為A選項(xiàng)。29、有以下程序#includemain()charw20,a510=abcde,fghij,klmno,pqrst,uvwxy;inti;for(i=0;i5;i+)wi=aii;w5=*0;printf(%sn,w);程序運(yùn)行后的輸出結(jié)果是ejotyafkpuagmsyeimqu參考答案:C數(shù)組
26、a是二維數(shù)組,數(shù)組w存放二維數(shù)組a行列值相同位置的元素,由a510可得w0卜w4的元素分別是agmsy,因此打印結(jié)果為agmsy。故答案為C選項(xiàng)。30、語句printf(%dn,strlen(tn06508AB);的輸出結(jié)果是TOC o 1-5 h z6789參考答案:A字符串tn06508AB中共有13個(gè)字符,而strlen()函數(shù)從字符串第一個(gè)字符開始掃描,直到碰到第一個(gè)結(jié)束符*0為止,然后返回計(jì)數(shù)器值(長(zhǎng)度不包含0)。故輸出結(jié)果為6。答案為A選項(xiàng)。31、有以下程序#include#includevoidfun(char*s,intm1,intm2)chart,*p;p=s+m1;s=s+
27、m2;while(svp)t=*s;*s=*p;*p=t;s+;p-;main()charss10=012345678;intn=6;fun(ss,0,n-1);fun(ss,9,n);fun(ss,0,9);printf(%sn,ss);程序運(yùn)行后的輸出結(jié)果是012345876543210876543012345678參考答案:Afun(*ss,m1,m2)的作用是,如果m1m2交換數(shù)組元素ssm1,ssm2。因此,fun(ss,0,5)后ss的0,1,2,3,4,5,6,7,8,0。fun(ss,9,6)后ss的0,1,2,3,4,5,0,8,7,6。fun(ss,0,9)后ss的0,1,
28、2,3,4,5,0,8,7,6。因此打印結(jié)果012345。故答案為A選項(xiàng)。32、有以下程序#ineludeintm=1,n=2;voidsub1(intm,intn)m+=2;n+;voidsub2()m+;n+=2;main()printf(%d,%d,m,n);sub1(4,5);printf(%d,%d,m,n);sub2();printf(%d,%dn,m,n);程序運(yùn)行后的輸出結(jié)果是121,2,2,41,2,6,6,7,8122,4,2,4126,6,2,4參考答案:A全局變量與函數(shù)體內(nèi)局部變量同名時(shí),局部變量會(huì)覆蓋全局變量,因此在5ub1()函數(shù)內(nèi),全局變量m,n是不可見的,在su
29、b1()對(duì)m,n操作的是局部變量,對(duì)全局變量不產(chǎn)生影響。但在sub2()函數(shù)內(nèi),由于沒有和全局變量變量重名,因此在此函數(shù)內(nèi),m,n是可見的。因此,第一個(gè)printf()打印的是全局變量m,n,故打印的是1,2,第二個(gè)printf(),調(diào)用sub1(),沒有修改全局變量m,n.故打印的是1,2,第三個(gè)printf(),之前調(diào)用了sub2(),修改了全局變量m,n。因此,打印的是2,4,故答案為A選項(xiàng)。33、有以下程序#include#includelongfun(chars)longn;intsign;for(;isspace(*s);s+);sign=(*s=-)?-1:1;if(*s=+|*
30、s=-)s+;for(n=0;isdigit(*s);s+)n=10*n+(*s-0);returnsign*n;main()chars=-26a3;printf(%dn”,fun(s);程序運(yùn)行后的輸出結(jié)果是TOC o 1-5 h z-26320-26參考答案:Disspace(c)檢査參數(shù)c是否為空格字符,也就是判斷是否為空格(),水平定位字符(t).歸位鍵(r)、換行(n),垂直定位字符(v)或翻頁(f)的情況。若參數(shù)c為空格字符,則返回TRUE,否則返回NULL(O)。Isdigit(c)函數(shù)檢査參數(shù)c是否為阿拉伯?dāng)?shù)字0到9。返回值若參數(shù)c為阿拉伯?dāng)?shù)字,則返回TRUE,否則返回NULL
31、(0)。fun()函數(shù)的第一個(gè)for循環(huán)判斷字符串是否負(fù)號(hào)。第二個(gè)for循環(huán)獲取符號(hào)后面的數(shù)字字符,并將它們轉(zhuǎn)化為整數(shù)。遇到了非數(shù)字的字符跳出,最后返回?cái)?shù)組的結(jié)果。因此,可知首先獲取負(fù)號(hào),緊接著獲取數(shù)值26,遇到了字符a,跳出返回-26,因此打印的結(jié)果是-26。故答案為D選項(xiàng)。34、設(shè)有定義:structcomplexintreal,unreal;data仁1,8,data2;則以下賦值語句中錯(cuò)誤的是data2=(2,6);data2=data1;data2.real=data1.real;data2.real=data1.unreal;參考答案:A結(jié)構(gòu)體變量建議在定義的時(shí)候進(jìn)行初始化。結(jié)構(gòu)體
32、常見的幾種初始化方法如下:structaal=.b=1,.c=2;structaal=b:1,c:2;structaal=1,2;計(jì)算機(jī)內(nèi)核喜歡用第一種,使用第一種和第二種時(shí),成員初始化順序可變。因此,可以判斷選項(xiàng)A錯(cuò)誤。35、有以下程序#inelude#defineS(x)x*x/xmain()intk=6,j=3;printf(%d,%dn,S(k+j+2),S(j+k+2);程序運(yùn)行后的輸出結(jié)果是TOC o 1-5 h z11,1129,2926,29121,121參考答案:B#define命令是C語言中的一個(gè)宏定義命令,標(biāo)識(shí)符一般使用大寫,為了區(qū)分其他標(biāo)識(shí)符,它用來將一個(gè)標(biāo)識(shí)符定義為一個(gè)字符串該標(biāo)識(shí)符被稱為宏名被定義的字符串稱為替換文本。宏定義不進(jìn)行其他操作,僅僅只是替換標(biāo)識(shí)符。S(k+j+2)=k+j+2*k+j+2/k+j+2,經(jīng)計(jì)算可得29,S(j+k+2)=j+k+2*k+j+2/j+k+2,計(jì)算可得29。因此輸出為29,29。答案為B選項(xiàng)。36、若有定義typedefint*T10;Ta;則以下選項(xiàng)與上述定義中a的類型完全相同的是A)int*a10;B)int(*a)10;C)in
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣州衛(wèi)生職業(yè)技術(shù)學(xué)院《Web應(yīng)用開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州鐵路職業(yè)技術(shù)學(xué)院《車輛電器與電子技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年陜西省安全員C證考試(專職安全員)題庫及答案
- 2025甘肅省安全員《A證》考試題庫
- 2025安徽省安全員《A證》考試題庫及答案
- 揚(yáng)州慢公開課課件2
- 《菱形的判定方法》課件
- 安全風(fēng)險(xiǎn)管控課件
- 《管理學(xué)院簡(jiǎn)介》課件
- 棉鞋里的陽光課件
- 桂枝加龍骨牡蠣湯_金匱要略卷上_方劑加減變化匯總
- 電機(jī)與電氣控制技術(shù)PPT課件
- 廢棄鉆井泥漿和壓裂返排液無害化處理研究報(bào)告
- 論文-基于單片機(jī)的搶答器.doc
- 《AFM簡(jiǎn)介實(shí)驗(yàn)》ppt課件
- 客運(yùn)公司崗位安全生產(chǎn)操作規(guī)程
- 便道及鋼板樁圍堰河道清淤專項(xiàng)施工方案
- 四年級(jí)乘法計(jì)算(精華版)
- 城市防災(zāi)減災(zāi)規(guī)劃-城市綜合防災(zāi)規(guī)劃的相關(guān)理論與實(shí)踐
- 中學(xué)學(xué)生評(píng)教實(shí)施方案
- 公司員工食堂管理制度(完整版)
評(píng)論
0/150
提交評(píng)論