




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷15(共9套)(共300題)國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第1套一、選擇題(本題共40題,每題1.0分,共40分。)1、關(guān)于C語(yǔ)言的變量,以下敘述中錯(cuò)誤的是A、所謂變量是指在程序運(yùn)行過程中其值可以被改變的量B、變量所占的存儲(chǔ)單元地址可以隨時(shí)改變C、程序中用到的所有變量都必須先定義后才能使用D、由三條下劃線構(gòu)成的符號(hào)名是合法的變量名標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:變最是指在程序運(yùn)行過程中其值可以改變的值,一個(gè)變量實(shí)質(zhì)上是代表了內(nèi)存中的某個(gè)存儲(chǔ)單元。在程序中對(duì)某個(gè)變量的操作實(shí)際上就是對(duì)這個(gè)存儲(chǔ)單元的操作,程序運(yùn)行期間,這個(gè)分配的存儲(chǔ)單元不會(huì)改變,但是其值可以變化。變量命名要符合標(biāo)識(shí)符的規(guī)定,其中下劃線是標(biāo)識(shí)符的組成字符。程序中所有變量都必須先定義后使用。2、C源程序中不能表示的數(shù)制是A、八進(jìn)制B、十進(jìn)制C、二進(jìn)制D、十六進(jìn)制標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在C語(yǔ)言的源程序中,數(shù)值可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制來(lái)表示。不用二進(jìn)制來(lái)表示。3、以下選項(xiàng)中非法的C語(yǔ)言字符常量是A、’\b’B、’\007’C、’aa’D、’\xaa’標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:一個(gè)字符常量代表ASCII字符集中的一個(gè)字符,在程序中用單引號(hào)把一個(gè)字符括起來(lái)作為字符常量。4、對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是A、冒泡排序?yàn)閚/2B、冒泡排序?yàn)閚C、快速排序?yàn)閚D、快速排序?yàn)閚(n-1)/2標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。5、在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E—R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()。A、需求分析階段B、概念設(shè)計(jì)階段C、邏輯設(shè)計(jì)階段D、物理設(shè)計(jì)階段標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:E—R圖轉(zhuǎn)換成關(guān)系模型數(shù)據(jù)則是把圖形分析出來(lái)的聯(lián)系反映到數(shù)據(jù)庫(kù)中,即設(shè)計(jì)出表,所以屬于邏輯設(shè)計(jì)階段。6、通常軟件測(cè)試實(shí)施的步驟是()。A、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試B、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試C、確認(rèn)測(cè)試、集成測(cè)試、單元測(cè)試D、單元測(cè)試、集成測(cè)試、回歸測(cè)試標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:軟件測(cè)試的實(shí)施過程主要有4個(gè)步驟:?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試(驗(yàn)收測(cè)試)和系統(tǒng)測(cè)試。7、數(shù)據(jù)庫(kù)中對(duì)概念模式內(nèi)容進(jìn)行說明的語(yǔ)言是()。A、數(shù)據(jù)控制語(yǔ)言B、數(shù)據(jù)操縱語(yǔ)言C、數(shù)據(jù)定義語(yǔ)言D、數(shù)據(jù)并發(fā)語(yǔ)言標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:概念模式主要描述數(shù)據(jù)的概念記錄類型以及它們間的關(guān)系,它還包括一些數(shù)據(jù)間的語(yǔ)義約束,對(duì)它的描述可用DDL語(yǔ)言(數(shù)據(jù)定義語(yǔ)言)定義。8、設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:m),初始狀態(tài)為front=rear=m。經(jīng)過一系列正常的操作后,front=1,rear=m。為了在該隊(duì)列中尋找值最大的元素,在最壞情況下需要的比較次數(shù)為A、mB、m-1C、m-2D、1標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:經(jīng)過一系列止常的操作后,front=1,rear=m,那么最壞情況下需要的比較次數(shù)為rear-front-1=m-1-1=m-2。9、以下關(guān)于C語(yǔ)言數(shù)據(jù)類型使用的敘述中錯(cuò)誤的是()。A、若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型B、若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類型C、若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型D、整數(shù)類型表示的自然數(shù)是準(zhǔn)確無(wú)誤差的標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語(yǔ)言中沒有邏輯類型,所以C錯(cuò)誤。若要保存帶有多位小數(shù)的數(shù)據(jù),可以用單精度類型,也可以用雙精度類型。處理包含不同類型的相關(guān)數(shù)據(jù)可以定義為結(jié)構(gòu)體類型。整數(shù)類型可以無(wú)誤差地表示自然數(shù)。10、若a是數(shù)值類型,則邏輯表達(dá)式(a==1)‖(a!=1)的值是A、0B、2C、1D、不知道a的值,不能確定標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在邏輯表達(dá)式中,a‖b,只有在a跟b都為0時(shí),表達(dá)式的結(jié)果才為0。在題中所給的表達(dá)式中a要么等于1,要么不等于1,肯定會(huì)有一方的值不為真,表達(dá)式值為1。11、有以下程序:#include#definePT3.5;#defineS(x)*x*xmain(){inta=1,b=2;prinff(“%4.1f\n”,S(a+b));}程序運(yùn)行后的輸出結(jié)果是()。A、31.5B、7.5C、程序有錯(cuò)無(wú)輸出結(jié)果D、14.0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:宏定義不是C語(yǔ)句,結(jié)尾不加“;”,所以該程序會(huì)出現(xiàn)編譯錯(cuò)誤,答案選C。12、數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的A、存儲(chǔ)問題B、共享問題C、安全問題D、保護(hù)問題標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有“集成”、“共享”之特點(diǎn),即數(shù)據(jù)庫(kù)集中了各種應(yīng)用的數(shù)據(jù),進(jìn)行統(tǒng)一地構(gòu)造與存儲(chǔ),而使它們能被不同的應(yīng)用程序所使用。因而數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是解決數(shù)據(jù)的共享問題。13、耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是A、提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性B、降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性C、耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度D、內(nèi)聚性是指模塊問互相連接的緊密程度標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:耦合性是反映模塊間互相連接的緊密程度,內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此接合的緊密程序。提高模塊的內(nèi)聚性,降低模塊的耦合性是有利于模塊的獨(dú)立性。14、一個(gè)教師講授多門課程,一門課程由多個(gè)教師講授。則實(shí)體教師和課程問的聯(lián)系是A、1:1聯(lián)系B、1:m聯(lián)系C、m:1聯(lián)系D、m:n聯(lián)系標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:一個(gè)教師可講授多門課程,一門課程可由多個(gè)教師講授,則實(shí)體教師和課程的聯(lián)系是多對(duì)多的聯(lián)系。15、軟件測(cè)試的目的是A、評(píng)估軟件可靠性B、發(fā)現(xiàn)并改正程序中的錯(cuò)誤C、改正程序中的錯(cuò)誤D、發(fā)現(xiàn)程序中的錯(cuò)誤標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:軟件測(cè)試的目的是為了發(fā)現(xiàn)程序中的錯(cuò)誤,而軟件調(diào)試是為了更正程序中的錯(cuò)誤。16、有以下程序:#includeintsum(intm){staticintn=1;returnn+=m:}main(){inti;for(i=1;i<=1;i++)prinff(“%d,”,sum(i));prinff(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。A、2,B、1,C、4,D、3,標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在輸出函數(shù)中,調(diào)用sum函數(shù),sum函數(shù)的作用是定義一個(gè)常數(shù)n=1,對(duì)n進(jìn)行疊加主函數(shù)傳遞的m值,隨后將和返回給主函數(shù),因此輸出為2,。17、有以下程序main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}A、1*1=11*2=21*3=32*1=22*2=43*1=3B、1*1=11*2=22*2=41*3=32*3=63*3=9C、1*1=11*2=21*3=32*2=42*3=63*3=9D、1*1=12*1=22*2=43*1=33*2=63*3=9標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:外層for循環(huán)的自變量i從1開始,每次循環(huán)后增1,直到i等于3結(jié)束。對(duì)于外層循環(huán)自變量i的每一個(gè)值,內(nèi)層循環(huán)的自變量i每次從i開始,每次循環(huán)后增1,直到j(luò)等于3結(jié)束。所以在每次外循環(huán)開始后,內(nèi)層循環(huán)在一行先打印i*j=兩個(gè)乘數(shù)的積,然后回車換行,下次循環(huán)從下一行開始打印輸出結(jié)果。18、有以下程序:#includevoidfun(char*c,intd){*c=*c+1:d=d+1:prinff(“%c,%c,”,*c,d);}main(){charb=’a’,a=’A’;fun(&b,a);printf(“%c,%c\n”,b,a);}程序的運(yùn)行結(jié)果是()。A、b,B,b,AB、b,B,B,AC、a,B,B,aD、a,B,a,B標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題重點(diǎn)考查函數(shù)的調(diào)用。首先要了解字母對(duì)應(yīng)的ASCII碼,例如A為65,a為97,字母+1可得到下一個(gè)字母。其次是函數(shù)形參和實(shí)參的問題,運(yùn)行過程如下:在fun(&b,a)中,*e=‘a(chǎn)’,d=65。*c+1=’b’,d+1=66,prinff(“%c,%c,”,*c,d);輸出b,B;因?yàn)橹羔榗指向地址的值為b,此時(shí)b=*c=’b’;函數(shù)返回執(zhí)行prinff(“%c,%c\n”,b,a);輸出b,A,因此A選項(xiàng)正確。19、關(guān)于子函數(shù)return語(yǔ)句的敘述中正確的是()。A、一個(gè)自定義函數(shù)中必須至少有一條return語(yǔ)句B、一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句C、定義成void類型的函數(shù)中可以有帶返回值的return語(yǔ)句D、沒有return語(yǔ)句的自定義函數(shù)執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:return語(yǔ)句主要用于返回函數(shù)的返回值。在一個(gè)自定義函數(shù)中,可以根據(jù)不同的情況設(shè)置多條return語(yǔ)句返回函數(shù)的值返回后面的語(yǔ)句不執(zhí)行。20、以下敘述中錯(cuò)誤的是A、用戶定義的函數(shù)中可以沒有return語(yǔ)句B、用戶定義的函數(shù)中若沒有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類型C、用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值D、函數(shù)的return語(yǔ)句中可以沒有表達(dá)式標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:函數(shù)值通過return語(yǔ)句返回,return語(yǔ)句的形式如下:return表達(dá)式或return(表達(dá)式);當(dāng)程序執(zhí)行到return語(yǔ)句時(shí),程序的流程就返回到調(diào)用該函數(shù)的地方,并帶回函數(shù)值。在同一函數(shù)內(nèi),可以根據(jù)需要,在多處出現(xiàn)return語(yǔ)句,在函數(shù)體的不同部位退出函數(shù)。無(wú)論函數(shù)體中有多少個(gè)return語(yǔ)句,return語(yǔ)句只可能執(zhí)行一次,返回一個(gè)函數(shù)值。return語(yǔ)句中也可以不含有表達(dá)式,這時(shí)必須定義函數(shù)為void類型,它的作用只是使流程返回到調(diào)用函數(shù),并沒有確定的函數(shù)值。函數(shù)體內(nèi)可以沒有return語(yǔ)句,這時(shí)也必須定義函數(shù)為void類型,程序的流程就一直執(zhí)行到函數(shù)末尾的“}”,然后返回調(diào)用函數(shù),也沒有確定的函數(shù)值帶回。21、有以下程序,在VC6平臺(tái)上編譯運(yùn)行,程序運(yùn)行后的輸出結(jié)果是#includeMain(){ints,t,A=10;doubleB=6;s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);}A、4,4B、2,4C、4,8D、10,6標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:關(guān)鍵字sizeof用于測(cè)試不同類型變量所占的內(nèi)存空間,返回所占的字節(jié)數(shù)。在VC編譯系統(tǒng)中,整型變量占用4個(gè)字節(jié)的內(nèi)存空間,而雙精度型變量占用8個(gè)字節(jié)的內(nèi)存空間。22、以下敘述中正確的是A、在賦值表達(dá)式中,賦值號(hào)的右邊可以是變量,也可以是任意表達(dá)式B、a是實(shí)型變量,a=10在C語(yǔ)言中是允許的,因此可以說:實(shí)型變量中可以存放整型數(shù)C、若有inta=4,b=9;執(zhí)行了a=b后,a的值已由原值改變?yōu)閎的值,b的值變?yōu)?D、若有inta=4,b=9;執(zhí)行了a=b;b=a;之后,a的值為9,b的值為4標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)B中a=10,在賦值時(shí)會(huì)把10自動(dòng)轉(zhuǎn)換為double類型然后賦值,實(shí)型變量中不可能存放整型。而選項(xiàng)C中執(zhí)行a=b后,b的值不變還是9,選項(xiàng)D中執(zhí)行a=b;b=a;后,a的值為9,b的值也為9。23、工廠生產(chǎn)中所需的零件可以存放在多個(gè)倉(cāng)庫(kù)中,而每一倉(cāng)庫(kù)中可存放多種零件。則實(shí)體倉(cāng)庫(kù)和零件間的聯(lián)系是A、多對(duì)多B、一對(duì)多C、多對(duì)一D、一對(duì)一標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:零件可以存放在多個(gè)倉(cāng)庫(kù)中,而每一倉(cāng)庫(kù)中可存放多種零件。則實(shí)體倉(cāng)庫(kù)和零件間的聯(lián)系是多對(duì)多的關(guān)系。選項(xiàng)A正確。24、有以下程序#includemain(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的運(yùn)行結(jié)果是A、0B、1C、2D、3標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在程序中,內(nèi)層循環(huán)判斷條件為“j<=i”,而j的初值為3,故當(dāng)外層循環(huán)變量i的值為1和2時(shí),內(nèi)層循環(huán)體都不會(huì)被執(zhí)行。只有當(dāng)i和i都等于3時(shí)循環(huán)才會(huì)執(zhí)行一次。因?yàn)閙的值為55對(duì)3求余結(jié)果為1。25、在函數(shù)調(diào)用過程中,如果函數(shù)如funA調(diào)用函數(shù)funB,函數(shù)funB又調(diào)用了函數(shù)如funA,則A、稱為函數(shù)的直接遞歸調(diào)用B、稱為函數(shù)的間接遞歸調(diào)用C、稱為函數(shù)的循環(huán)調(diào)用D、C語(yǔ)言中不允許這樣的遞歸調(diào)用標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查遞歸的概念,C語(yǔ)言中函數(shù)可以直接或間接調(diào)用自身,稱為遞歸調(diào)用。本題中funA調(diào)用funB,然后funB又調(diào)用funA,即funA間接調(diào)用了自身。26、以下選項(xiàng)中與if(a==1)a=b;elsea++;語(yǔ)句功能不同的switch語(yǔ)句是A、switch(a){case1:a=b;break;default:a++;}B、switch(a==1){case0:a=b;break;case1:a++:}C、switch(a){default:a++;break;case1:a=b;}D、switch(a==1){case1:a=b;break;case0:a++;}標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題主要考查if和switch結(jié)構(gòu)?!癷f(a==1)a=b;elsea++;”代碼段的功能是如果a等于則把b的值賦值給a,否則a++。選項(xiàng)A)使用switch對(duì)a進(jìn)行判斷,如果是1則a=b,跳出switvch,如果是其他值則a++;選項(xiàng)B)對(duì)a=1的結(jié)果進(jìn)行switch判斷,如果為0表示a不等于1則a=b,和題目要求不符合;選項(xiàng)C)和選項(xiàng)A)一樣;選項(xiàng)D)和選項(xiàng)case條件相反,滿足題目要求。27、若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是A、形參只是形式上的存在,不占用具體存儲(chǔ)單元B、函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元C、同名的實(shí)參和形參占同一存儲(chǔ)單元D、函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在C語(yǔ)言中,函數(shù)的實(shí)參單元與形參單元在內(nèi)存中分配不同的存儲(chǔ)單元。在調(diào)用函數(shù)時(shí),給形參分配臨時(shí)存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,在被調(diào)用函數(shù)中對(duì)形參存儲(chǔ)單元中的值進(jìn)行運(yùn)算,最后通過return語(yǔ)句把函數(shù)值返回調(diào)用函數(shù)。當(dāng)調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。28、以下敘述中錯(cuò)誤的是A、C程序在運(yùn)行過程中所有計(jì)算都以二進(jìn)制方式進(jìn)行B、所有C程序都需要編譯鏈接無(wú)誤后才能運(yùn)行C、C程序在運(yùn)行過程中所有計(jì)算都以十進(jìn)制方式進(jìn)行D、C程序中字符變量存放的是字符的ASCII值標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:計(jì)算機(jī)程序都是編譯為二進(jìn)制的代碼,計(jì)算機(jī)才會(huì)執(zhí)行。29、以下選項(xiàng)中,沒有編譯錯(cuò)誤的是A、charstr3[]={’d’,’e’,’b’,’u’,’g’,’\0’);B、charstr1[5]="pass",str2[6];str2=str1;C、charname[10];name="china";D、charstr4[];str4="helloworld":標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)A)是定義了字符數(shù)組str3[],并對(duì)其賦初值。選項(xiàng)B)中語(yǔ)句str2=str1非法,字符數(shù)組不能直接賦值。選項(xiàng)C),D)和選項(xiàng)B)一致。30、以下敘述中正確的是A、結(jié)構(gòu)體變量的地址不能作為實(shí)參傳給函數(shù)B、結(jié)構(gòu)體數(shù)組名不能作為實(shí)參傳給函數(shù)C、即使是同類型的結(jié)構(gòu)體變量,也不能進(jìn)行整體賦值D、結(jié)構(gòu)體中可以含有指向本結(jié)構(gòu)體的指針成員標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:一個(gè)結(jié)構(gòu)體變量包含若干成員,這些成員可以是數(shù)值類型、字符類型、數(shù)組類型,也可以是指針類型,甚至可以是正在定義的結(jié)構(gòu)體類型指針。用結(jié)構(gòu)體變量作實(shí)參時(shí),采取的是“值傳遞”的方式,將結(jié)構(gòu)體變量所占的內(nèi)存單元的內(nèi)容全部順序傳遞給形參。形參也必須是同類型的結(jié)構(gòu)體變量。結(jié)構(gòu)體數(shù)組作為參數(shù)時(shí),采取了“地址傳遞”的方式,形參須為同類型的結(jié)構(gòu)指針或者形參結(jié)構(gòu)數(shù)組。31、以下敘述中正確的是A、當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體內(nèi)時(shí),其作用是跳出該switch語(yǔ)句體,并中止循環(huán)體的執(zhí)行B、只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句C、continue語(yǔ)句的作用是:在執(zhí)行完本次循環(huán)體中剩余語(yǔ)句后,中止循環(huán)D、在while語(yǔ)句和do-while語(yǔ)句中無(wú)法使用continue語(yǔ)句標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:break語(yǔ)句可以使程序流程跳出switch語(yǔ)句體,也可用break語(yǔ)句在循環(huán)結(jié)構(gòu)中終止循環(huán)體,從而提前結(jié)束循環(huán),而當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳蹦該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行終l}=循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿足某種條件則跳出循環(huán)體。continue語(yǔ)句的作用是結(jié)束本次循環(huán),在while和do-while循環(huán)中,continue語(yǔ)句使得流程直接跳到循環(huán)控制條件的測(cè)試部分,然后決定循環(huán)是否繼續(xù)進(jìn)行。32、有以下程序#includemain(){charp[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+str1en(q),q);printf("%d\n",str1en(p));}程序運(yùn)行后的輸出結(jié)果是A、9B、11C、6D、7標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:字符串連接函數(shù)strcat(p,r)的功能是把字符數(shù)組p[]和r[]連接起來(lái),此時(shí)字符數(shù)組p[]的有效字符長(zhǎng)度為9,再執(zhí)行strcpy(p+str1en(q),q)字符串復(fù)制函數(shù),把字符數(shù)組q[]復(fù)制到字符數(shù)組p[]從p[3]開始到p[5]數(shù)組位置中,由于字符數(shù)組q[]中的內(nèi)容為字符串“abc”復(fù)制時(shí)把字符串結(jié)束標(biāo)志’\null’也復(fù)制到字符數(shù)組p[]中,這時(shí)字符函數(shù)str1en(p)返回字符數(shù)組p[]的有效字符長(zhǎng)度為6。33、有以下程序#include<stdio.h>#include<string.h>voidmain(){charstr[][20]={"One*World","One*Dream!"),*p=str[1];printf("%d,",strlen(p));printf("%s\11",p);}程序運(yùn)行后的輸出結(jié)果是A、9,One*Dream!B、10,One*Dream!C、9,One*WorldD、10,One*World標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在主函數(shù)中定義了二維字符數(shù)組str,并對(duì)它賦初值。定義字符指針p,并把字符串str[1]的地址賦給它一所以這時(shí)字符指針p指向字符串“One*Dream!”,然后在兩個(gè)輸出語(yǔ)句中,分別輸出這個(gè)字符串的長(zhǎng)度10和字符串本身。34、下面關(guān)于位運(yùn)算符的敘述,正確的是A、||表示"按位或"的運(yùn)算B、#表示"按位異或"的運(yùn)算C、&表示"按位與"的運(yùn)算D、~表示"按位異或"的運(yùn)算標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查位運(yùn)算。^為按位異或,|為按位或,~表示按位取反。所以C選項(xiàng)正確。35、在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A、可行性分析報(bào)告B、軟件需求規(guī)格說明書C、概要設(shè)計(jì)說明書D、集成測(cè)試計(jì)劃標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:A)錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。C)錯(cuò)誤,概要設(shè)計(jì)說明書是總體設(shè)計(jì)階段產(chǎn)生的文檔。D)錯(cuò)誤,集成測(cè)試計(jì)劃是在概要設(shè)計(jì)階段編寫的文檔。B)正確,需求規(guī)格說明書是后續(xù)工作如設(shè)計(jì)、編碼等需要的重要參考文檔。36、以下程序依次把從終端輸入的字符存放到f文件中,用捍作為結(jié)束輸入的標(biāo)志,則在橫線處應(yīng)填入的選項(xiàng)是#include<stdio.h>main(){FILE*fp;charch;fp=fopen("fname","w");while((ch=getchar())!=’#’)fputc(_______);fclose(fp);}A、fp,chB、chC、ch,"fname"D、ch,fp標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:fputc()是以字符(字節(jié))為單位的讀寫函數(shù)。每次可從文件讀出或向文件寫入一個(gè)字符。使用格式為“fputc(ch,f.p);”。其中ch是待輸出的某個(gè)字符,它可以是一個(gè)字符常量,也可以是一個(gè)字符變量:fp是文件指針。fputc(ch,fp)的功能是將字符ch寫到文件指針fp所指的文件中。如果輸出成功,fputc函數(shù)返回所輸出的字符;如果輸出失敗,則返回一個(gè)EOF值。EOF是在stdio.h庫(kù)函數(shù)文件中定義的符號(hào)常量,其值等于-1。37、有以下程序#includemain(){inta=2,b;b=a<<2;printf("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是()。A、8B、4C、6D、2標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:左移運(yùn)算符"<<"的運(yùn)算規(guī)則是把左邊運(yùn)算數(shù)的各二進(jìn)制位全部左移n位,n取決于"<<"右邊的數(shù)值,高位丟棄,低位補(bǔ)0。變量a的值為2,對(duì)應(yīng)二進(jìn)制數(shù)值為0010,左移2位后值為1000,對(duì)應(yīng)十進(jìn)制數(shù)值為8,所以輸出結(jié)果為8,答案選A。38、以下敘述中錯(cuò)誤的是()。A、可以通過typedef增加新的類型B、可以用typedef將已存在的類型用一個(gè)新的名字來(lái)代表C、用typedef定義新的類型名后,原有類型名仍有效D、用typedef可以為各種類型起別名,但不能為變量起別名標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:typedef為類型定義符,使用的一般形式為"typedef原類型名新類型名;",它用于給已知類型取別名,作用僅僅是用"新類型名"代替"原類型名",并沒有產(chǎn)生新的數(shù)據(jù)類型,答案選A。39、有以下程序#includeintfun(intA){intb=0;staticintc=3;a=(c++,b++);return(a);}main(){inta=2,i,k;for(i=0;i<2;i++)k=fun(a++);printf("%d\n",k);}程序的輸出結(jié)果是A、4B、0C、1D、2標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:題目中fun函數(shù)被執(zhí)行了兩次,兩次執(zhí)行后,都是返回了函數(shù)內(nèi)部的b值,所以答案為0,即B選項(xiàng)正確。40、有以下程序(strcpy為字符串復(fù)制函數(shù),strcat為字符串連接函數(shù))#include#includemain(){chara[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序運(yùn)行后的輸出結(jié)果是A、a12xyzB、bc2yzC、a2yzD、12yz標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查字符串處理函數(shù)strcpy和strcat,執(zhí)行完strcpy(a+1,b+2);后,a變?yōu)閍2,執(zhí)行完strcat(a,c+1)后,a變?yōu)閍2yz,所以答案為C選項(xiàng)。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第2套一、選擇題(本題共40題,每題1.0分,共40分。)1、算法的空間復(fù)雜度是指A、算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲(chǔ)空間B、算法所處理的數(shù)據(jù)量C、算法程序中的語(yǔ)句或指令條數(shù)D、算法在執(zhí)行過程中所需要的臨時(shí)工作單元數(shù)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。這個(gè)內(nèi)存空間包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行過程中所需要的額外空間。2、下列敘述中正確的是A、棧是一種先進(jìn)先出的線性表B、隊(duì)列是一種后進(jìn)先出的線性表C、棧與隊(duì)列都是非線性結(jié)構(gòu)D、棧與隊(duì)列都是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:棧是先進(jìn)后出,隊(duì)列是先進(jìn)先出。棧和隊(duì)列都是一種線性表,屬于線性結(jié)構(gòu)。3、以下語(yǔ)句中存在語(yǔ)法錯(cuò)誤的是()。A、charss[6][20];ss[1]=“right?”;B、charss[][20]={“right?”};C、char*ss[6];ss[1]=“right?”;D、char*ss[]={“right?”};標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:A項(xiàng)錯(cuò)誤,數(shù)組定義后,不能對(duì)數(shù)組整體賦值,ss是二維數(shù)組,ss[1]是一維字符數(shù)組,即字符串,字符串賦值可以使用“strcpy(ss[1],”right”);”的形式,但不能使用賦值的形式。B、D兩項(xiàng)正確,在定義時(shí)對(duì)數(shù)組同時(shí)進(jìn)行初始化;C項(xiàng)正確,將常量字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個(gè)元素。4、設(shè)有以下程序段:intx=2009,y=2010;printf("%d\n",(x,y));則以下敘述正確的是()。A、輸出語(yǔ)句中格式說明符的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),不能正確輸出B、運(yùn)行時(shí)產(chǎn)生錯(cuò)誤信息C、輸出值為2009D、輸出值為2010標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:程序段中的輸出項(xiàng)是一個(gè)逗號(hào)表達(dá)式(x,y),其值就是右邊變量y的值,因此輸出項(xiàng)的個(gè)數(shù)和控制轉(zhuǎn)換說明符的個(gè)數(shù)相等,輸出為2010。C語(yǔ)言規(guī)定,若輸出格式說明符的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù)時(shí),多余的輸出項(xiàng)不予輸出;若輸出格式說明符的個(gè)數(shù)多余輸出項(xiàng)的個(gè)數(shù)時(shí),則缺少的輸出項(xiàng)輸出不定值,并不產(chǎn)生出錯(cuò)信息。5、以下敘述中正確的是A、整型常量和實(shí)型常量都是數(shù)值型常量B、常量的類型不能從字面形式上區(qū)分,需要根據(jù)類型名來(lái)決定C、預(yù)定義的標(biāo)識(shí)符是C語(yǔ)言關(guān)鍵字的一種,不能另作它用D、只能在函數(shù)體內(nèi)定義變量,其他地方不允許定義變量標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:整型常量和實(shí)型常最都是數(shù)值型常量,選項(xiàng)A)止確;常量的類型可以從字面上區(qū)分,比如整型常量不能有小數(shù)點(diǎn),組成字符為0~9等,選項(xiàng)B)錯(cuò)誤;預(yù)定義標(biāo)識(shí)符,即預(yù)先定義并具有特定含義的標(biāo)識(shí)符,可以另作他用,不過更改了原有的含義,選項(xiàng)C)錯(cuò)誤;變量可以定義在程序中任何的地方,屬于不同的變量,選項(xiàng)D)錯(cuò)誤。6、以下選項(xiàng)中非法的C語(yǔ)言字符常量是A、’\b’B、’\007’C、’aa’D、’\xaa’標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:一個(gè)字符常量代表ASCII字符集中的一個(gè)字符,在程序中用單引號(hào)把一個(gè)字符括起來(lái)作為字符常量。7、下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是A、源程序要文檔化B、數(shù)據(jù)說明的次序要規(guī)范化C、避免濫用goto語(yǔ)句D、模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:一般來(lái)講,程序設(shè)計(jì)風(fēng)格是指編寫程序時(shí)所表現(xiàn)出的特點(diǎn)、習(xí)慣和邏輯思路。程序設(shè)計(jì)風(fēng)格總體而言應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,程序必須是可以理解的。可以認(rèn)為,著名的“清晰第一、效率第二”的論點(diǎn)己成為當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格。良好的程序設(shè)計(jì)風(fēng)格主要應(yīng)注重和考慮下列幾個(gè)因素:①源程序文檔化,包括下列三個(gè)方面:a.符號(hào)的命名應(yīng)具有一定的含義:b.正確的注釋能夠幫助讀者理解程序;c.視覺組織,可以在程序中利用空格、空行、縮進(jìn)等技巧使程序?qū)哟吻逦"跀?shù)據(jù)說明的方法,包括下列三個(gè)方面:a.數(shù)據(jù)說明的次序規(guī)范化;b.說明語(yǔ)句中變量安排有序化;c.使用注釋來(lái)說明復(fù)雜數(shù)據(jù)的結(jié)構(gòu)。③語(yǔ)句的結(jié)構(gòu)應(yīng)該簡(jiǎn)單直接,不應(yīng)該為提高效率而把語(yǔ)句復(fù)雜化。④輸入和輸出方式和風(fēng)格應(yīng)盡可能方便用戶的使用。8、下列敘述中正確的是A、算法的復(fù)雜度是指算法所處理的數(shù)據(jù)量B、算法的復(fù)雜度是指算法程序中指令的數(shù)量C、算法的復(fù)雜度是指算法控制結(jié)構(gòu)的復(fù)雜程度D、算法的復(fù)雜度包括時(shí)間復(fù)雜度與空間復(fù)雜度標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:算法分析的目的在于選擇合適算法和改進(jìn)算法。一個(gè)算法的評(píng)價(jià)主要從時(shí)間復(fù)雜度和空間復(fù)雜度來(lái)考慮。9、若有定義語(yǔ)句:intx=10;則表達(dá)式x-=x+x的值為A、-20B、0C、-10D、10標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:表達(dá)式x-=x+x等價(jià)于x=x.(x+x),整型變量x的初始值等于10,計(jì)算題同所求表達(dá)式的值時(shí),首先計(jì)算x與x的和等于20,然后再用10減去20等于-10,得到該表達(dá)式的值。10、以下選項(xiàng)中,值為1的表達(dá)式是()。A、1一‘0’B、1一‘\0’C、‘1’一0D、‘\0’一‘0’標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:\0,空值,其.ASCII碼值為0,所以B選項(xiàng)的值為1。字符0的ASCⅡ碼值為048,所以A、C、D選項(xiàng)的值均不為1。11、下列關(guān)于軟件工程的描述中正確的是A、軟件工程只是解決軟件項(xiàng)目的管理問題B、軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題C、軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則D、軟件工程只是解決軟件開發(fā)中的技術(shù)問題標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:軟件工程是建立并使用充善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法。軟件工程主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則。12、軟件工程的三要素是()。A、方法、工具和過程B、建模、方法和工具C、建模、方法和過程D、定義、方法和過程標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:軟件工程的三要素是方法、工具和過程,答案選A。13、以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是()。A、O.1e+6B、’cd’C、’’\a’’D、’\011’標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:要想表示字符串常量,應(yīng)該用雙引號(hào)表示,即’’ed’’,單引號(hào)用于表示字符常量,所以B選項(xiàng)中的表示方法錯(cuò)誤。14、軟件生命周期是指()。A、軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用、維護(hù)到停止使用退役的過程B、軟件的需求分析、設(shè)計(jì)與實(shí)現(xiàn)C、軟件的開發(fā)與管理D、軟件的實(shí)現(xiàn)和維護(hù)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:軟件的生命周期是指軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程,答案選A。15、C語(yǔ)言中允許用外部說明來(lái)指定變量、函數(shù)和其他標(biāo)識(shí)符的特征,這里所說的外部指的是()。A、冠以關(guān)鍵字externB、位置在函數(shù)體外部C、作用范圍是全程的D、位置在函數(shù)的外部標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C語(yǔ)言中允許用位置在函數(shù)外部的說明來(lái)指定變量、函數(shù)和其他標(biāo)識(shí)符的特征。16、若有定義intx,y;并已正確給變量賦值,則以下選項(xiàng)中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x-y)等價(jià)的是()。A、(x-y<0||x-y>0)B、(x-y<0)C、(x-y>0)D、(x-y=0)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:條件表達(dá)式“x=表達(dá)式1?表達(dá)式2:表達(dá)式3”的含義是:先求解表達(dá)式1,若為非0(真),則求解表達(dá)式2,將表達(dá)式2的值賦給x;若表達(dá)式1的值為0(假),則求解表達(dá)式3,將表達(dá)式3的值賦給x。本題中與條件表達(dá)式:(x-y)等價(jià)的是(x-y<0||x-y>0)。17、有以下程序#includemain(){inta=7;while(a--);printf(“%d\n”,a);}程序運(yùn)行后的輸出結(jié)果是A、0B、1C、-1D、7標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在while語(yǔ)句中,先判斷while后面的表達(dá)式是否為0,如果為0,則退出循環(huán),否則執(zhí)行循環(huán)體。在本題中,當(dāng)變量a的值經(jīng)過幾次循環(huán)后,其值等于0時(shí),退出while循環(huán)語(yǔ)句,變量a再執(zhí)行自減運(yùn)算,所以其值等于-1。18、下列關(guān)于return語(yǔ)句的敘述中正確的是()。A、一個(gè)自定義函數(shù)中必須有一條return語(yǔ)句B、一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句C、定義成void類型的函數(shù)中可以有帶返回值的return語(yǔ)句D、沒有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在函數(shù)中允許有多個(gè)return語(yǔ)句,但每次調(diào)用只能有一個(gè)return語(yǔ)句被執(zhí)行,因此只能返回一個(gè)函數(shù)值,A選項(xiàng)描述錯(cuò)誤。定義成void類型的函數(shù),不允許從該函數(shù)取得返回值,也不允許使用return語(yǔ)句,C選項(xiàng)描述錯(cuò)誤。沒有return語(yǔ)句的函數(shù)在執(zhí)行到函數(shù)的最后一條語(yǔ)句后會(huì)自動(dòng)返回到調(diào)用處,D選項(xiàng)描述錯(cuò)誤。因此B選項(xiàng)正確。19、設(shè)有如下關(guān)系表:則下列操作中正確的是A、T=R∩SB、T=R∪SC、T=R×SD、T=R/S標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:關(guān)系代數(shù)的并運(yùn)算是指:設(shè)關(guān)系R和S具有相同的關(guān)系模式,R和S的并是由屬于R或?qū)儆赟的元組組成的集合,記為R∪S。形式定義為:R∪S≡{t|t∈R∧t∈S},式中t是元組變量。本題中關(guān)系T是由屬于關(guān)系R的或者屬于關(guān)系S的元組組成,所以T是R∪S的結(jié)果。20、下列程序段中完全正確的是()。A、int*p;scanf(’’%d’’,&p);B、int*p;scanf(’’%d’’,p);C、intk,*p=&k;scanf(’’%d’’,p);D、intk,*p;*p=&k;scanf(’’%d’’,p);標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:A選項(xiàng)中錯(cuò)在沒有對(duì)指針進(jìn)行初始化,無(wú)效指針,并且在scanf(’’%d’’,&p)中無(wú)須再進(jìn)行取地址操作;B選項(xiàng)中沒有對(duì)指針進(jìn)行初始化,無(wú)效指針;D選項(xiàng)中語(yǔ)句*p=&k;的左端*p是指針?biāo)竷?nèi)存空間的值,&k是地址,應(yīng)為p=&k。C選項(xiàng)正確。21、以下選項(xiàng)中合法的實(shí)型常量是A、.914B、3.13e-2.1C、0D、2.0*10標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:實(shí)型常量又稱實(shí)數(shù)或浮點(diǎn)數(shù),一般用小數(shù)形式或指數(shù)形式來(lái)表示。實(shí)型常量分為以下兩種形式:①小數(shù)形式:小數(shù)形式是由數(shù)字和小數(shù)點(diǎn)組成的一種實(shí)數(shù)表示形式。例如0.345、.123、0.0等是合法的實(shí)數(shù)。這種表示形式必須要有小數(shù)點(diǎn)。②指數(shù)形式:在C語(yǔ)言中,用“e”或“E”后跟一個(gè)整數(shù)來(lái)表示以10為底的冪數(shù)。注意:字母“e”或“E”之前必須要有數(shù)字,后面的指數(shù)必須為整數(shù)。選項(xiàng)B)中e后必須為整數(shù),選項(xiàng)C)沒有小數(shù)點(diǎn),而選項(xiàng)D)則出現(xiàn)非法字符。22、能夠減少相同數(shù)據(jù)重復(fù)存儲(chǔ)的是A、數(shù)據(jù)庫(kù)B、字段C、文件D、記錄標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),它產(chǎn)生于距今六十多年前,隨著信息技術(shù)和市場(chǎng)的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫(kù)主要特點(diǎn):實(shí)現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)的冗余度、數(shù)據(jù)的獨(dú)立性、數(shù)據(jù)實(shí)現(xiàn)集中控制、數(shù)據(jù)一致性和可維護(hù)性,以確保數(shù)據(jù)的安全性和可靠性和故障恢復(fù)。23、以下選項(xiàng)中非法的C語(yǔ)言字符常量是A、’\b’B、’\007’C、’aa’D、’\xaa’標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:一個(gè)字符常量代表ASCII字符集中的一個(gè)字符,在程序中用單引號(hào)把一個(gè)字符括起來(lái)作為字符常量。24、表示關(guān)系式x≤Y≤z的C語(yǔ)言表達(dá)式的是A、(x<=y)‖(y<=x)B、(x<=y<=z)C、(x<=y)&&(y<=x)D、(x<=y)!(y<=x)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:表示三個(gè)變量的關(guān)系,要利用邏輯表達(dá)式,用邏輯與連接。25、有以下程序main(){inta=2,c=5:printf("a=%%d,b=%%d\n",a,c);}程序的輸出結(jié)果是A、a=%2,b=%5B、a=%d,b=%dC、a=2,b=5D、a=%%d,b=%%d標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:輸出“%”,可以在格式控制中用“%%”表示,將輸出一個(gè)“%”,而沒有%表示格式符的開始,%%d不能表示格式符,因此僅輸出:a=%d,b=%d。26、以下選項(xiàng)中能表示合法常量的是A、\007B、1.5E2.0C、’\’D、1,200標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)D,1200中間不能有逗號(hào),否則編譯時(shí)會(huì)認(rèn)為是1或出錯(cuò)。選項(xiàng)B,2.0錯(cuò)誤,必須為整數(shù)。選項(xiàng)C,要表示字符斜杠常量’\’,應(yīng)該在反斜杠的前面再加上一個(gè)反斜杠。選項(xiàng)A為字符串常量,為正確選項(xiàng)。27、有以下程序#includemain(){intn,*p=NULL;*p=&n;pr*ntf("Inputn:");scanf("%d",&p);printf("outputn:");printf("%d\n",p);}該程序試圖通過指針P為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是A、intn,*p=NULL;B、*p=&n;C、scanf(“%d”,&p)D、printf(“%d\n",p);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)A)表示在程序中,聲明定義變最語(yǔ)句“intn,*p=NULL;”定義了整型變量n和指針變量p,并且指針變量p初始化為空。其他的語(yǔ)句都是錯(cuò)誤的。其中選項(xiàng)B),&n的地址應(yīng)存放到指針變量p中,而選項(xiàng)C)中數(shù)據(jù)輸入項(xiàng)錯(cuò)誤.選項(xiàng)D)輸出地址信息。28、有以下程序(strcpy為字符串復(fù)制函數(shù),strcat為字符串連接函數(shù))#include<stdio.h>#include<string.h>main(){chara[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序運(yùn)行后的輸出結(jié)果是A、bc2yzB、a2yzC、a12xyzD、12yz標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:程序執(zhí)行“sfrcpy(a+1,b+2)”后,字符數(shù)組a的值為“a2”,再進(jìn)行字符串的連接“strcat(a,c+1)”,此時(shí)字符數(shù)組a的值為“a2vz”。29、有以下程序#includemain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b=b+3;continue;}b=b-5;}printf("%d\n",a);}程序的輸出結(jié)果是()。A、8B、10C、9D、7標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:考查break和continue的用法。break語(yǔ)句用于循環(huán)體,其作用是跳出當(dāng)前層循環(huán),continue語(yǔ)句是跳過當(dāng)前循環(huán)層余下未執(zhí)行的語(yǔ)句,繼續(xù)執(zhí)行下一次循環(huán)。該程序中的for語(yǔ)句的循環(huán)條件是a小于等于100,當(dāng)b的值大于等于20的時(shí)候就跳出循環(huán)并輸出當(dāng)前a的值。b值的變化邏輯是每次判定"b%3"的值若為1,則b自增3,否則,b自減5。其實(shí)該程序中,選擇語(yǔ)句"if(b%3==1)"的判定條件一直為真,所以b的值為"1+a*3",易求得滿足跳出條件的a值為8,答案選A。30、以下敘述中正確的是A、程序必須包含所有三種基本結(jié)構(gòu)才能成為一種算法B、如果算法非常復(fù)雜,則需要使用三種基本結(jié)構(gòu)之外的語(yǔ)句結(jié)構(gòu),才能準(zhǔn)確表達(dá)C、只有簡(jiǎn)單算法才能在有限的操作步驟之后結(jié)束D、我們所寫的每條C語(yǔ)句,經(jīng)過編譯最終都將轉(zhuǎn)換成二進(jìn)制的機(jī)器指令標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C語(yǔ)句構(gòu)成了函數(shù),函數(shù)構(gòu)成的程序,經(jīng)過編譯轉(zhuǎn)換成二進(jìn)制代碼后可以運(yùn)行,算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,可以利用代碼來(lái)描述算法,而算法+數(shù)據(jù)結(jié)構(gòu)才是程序,結(jié)構(gòu)化的程序由順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)三種基本結(jié)構(gòu)組成。由這三種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問題,反之則不一定,所有算法必須在有限步驟后結(jié)束。31、有以下程序段inti,n;for(i=0;i<8;i++){n=rand()%5;switch(n){case1:case3:printf("%d\n",n);break;case2:case4:printf("%d\n",n);continue;case0:exit(0);}printf("%d\n",n);}以下關(guān)于程序段執(zhí)行情況的敘述,正確的是A、當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)結(jié)束循環(huán)操作B、當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時(shí)不做任何操作C、當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時(shí)結(jié)束程序運(yùn)行D、for循環(huán)語(yǔ)句固定執(zhí)行8次標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:rand()函數(shù)功能為產(chǎn)生一個(gè)隨機(jī)數(shù),rand()%5,則產(chǎn)生0~4之間的任意隨機(jī)數(shù),當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時(shí),執(zhí)行“case0:exit(0)”這條語(yǔ)句,結(jié)束程序的運(yùn)行。32、若有以下程序#include#include#includetypedefstructstu{char*name,gender;intscore;}STU;voidf(char*p){p=(char*)malloc(10);strcpy(p,"Qian");}main(){STUa={NULL,’m’,290},b;=(char*)malloc(10);strcpy(,"Zhao");b=a;f();b.gender=’f’;b.score=350;printf("%s,%c,%d,",,a.gender,a.score);printf("%s,%c,%d\n",,b.gender,b.score);}則程序的輸出結(jié)果是A、Zhao,m,290,Qian,f,350B、Zhao,m,290,Zhao,f,350C、Qian,f,350,Qian,f,350D、Qian,m,290,Qian,f,350標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查結(jié)構(gòu)體變量中的引用,其中a的name為Zhao,b執(zhí)行函數(shù)f()后b的name并沒有改變,還是Zhao,所以答案為B選項(xiàng)。33、若有定義語(yǔ)句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;則錯(cuò)誤引用x數(shù)組元素的是A、*pB、x[5]C、*(p+1)D、*x標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查數(shù)組和指向數(shù)組的指針。x是一個(gè)二維double類型的數(shù)組,長(zhǎng)度為5,下標(biāo)范圍是0-4,指針p指向數(shù)組x。選項(xiàng)A)中*p是取數(shù)組首元素x[0]的值:選項(xiàng)B)下標(biāo)超出范圍:選項(xiàng)C),p+1表示x[1]的地址,因此*(p+1)是取x[1]元素值;選項(xiàng)D)中,數(shù)組名x本身代表數(shù)組的首地址,因此*x表示取元素x[0]的值。34、以下敘述中正確的是A、當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體內(nèi)時(shí),其作用是跳出該switch語(yǔ)句體,并中止循環(huán)體的執(zhí)行B、只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句C、continue語(yǔ)句的作用是:在執(zhí)行完本次循環(huán)體中剩余語(yǔ)句后,中止循環(huán)D、在while語(yǔ)句和do-while語(yǔ)句中無(wú)法使用continue語(yǔ)句標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:break語(yǔ)句可以使程序流程跳出switch語(yǔ)句體,也可用break語(yǔ)句在循環(huán)結(jié)構(gòu)中終止循環(huán)體,從而提前結(jié)束循環(huán),而當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行終止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿足某種條件則跳出循環(huán)體。continue語(yǔ)句的作用是結(jié)束本次循環(huán),在while和do—while循環(huán)中,continue語(yǔ)句使得流程直接跳到循環(huán)控制條件的測(cè)試部分,然后決定循環(huán)是否繼續(xù)進(jìn)行。35、有以下程序main(){inta[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf("%d",*(p++));printf("%d\n",**k);}程序運(yùn)行后的輸出結(jié)果是A、44B、24C、22D、46標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:主函數(shù)中指針變量p指向數(shù)組a中下標(biāo)為0的元素,k指向p,那么*(p++)的值為2,p指向數(shù)組中下標(biāo)為1的元素,k指向p,所以**k的值為4。36、設(shè)有以下定義chars1[]="0123";chars2[]={’0’,’1’,’2’,’3’};則以下敘述正確的是()。A、數(shù)組s1的長(zhǎng)度大于s2的長(zhǎng)度B、數(shù)組s1和s2的長(zhǎng)度相同C、數(shù)組s1的長(zhǎng)度小于s2的長(zhǎng)度D、數(shù)組s1和s2完全等價(jià)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:字符數(shù)組s2的末尾字符不為?\0?,所以存放的并不是字符串,所以s2的字符個(gè)數(shù)為4,數(shù)組長(zhǎng)度也為4;C語(yǔ)言中,若直接把一個(gè)字符串賦值給字符數(shù)組,系統(tǒng)會(huì)自動(dòng)在末尾加上結(jié)束標(biāo)識(shí)符?\0?并放置到該字符數(shù)組中,所以s1中的字符個(gè)數(shù)為5,數(shù)組長(zhǎng)度也為5,答案選A。37、有以下程序voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是A、abc,123B、123,abeC、321,cbaD、1bc,a23標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:函數(shù)voidswap(char*x,char*y)的功能是交換兩個(gè)字符*x和*y中的內(nèi)容。在主函數(shù)中字符指針s1指向字符串’abc’,s2指向字符串’123’。所以函數(shù)swap(s1,s2)的執(zhí)行結(jié)果就是字符’a’和’1’相互交換。38、有以下程序#includemain(){inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通過鍵盤輸入,使得a1的值為12,a2的值為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b則正確的輸入格式是(以下□代表空格,代表回車)A、12□a□34□bB、12,a,34,bC、12a34bD、12□a34□b標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查scanf語(yǔ)句。scanf()函數(shù)是格式化輸入函數(shù),它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)讀取輸入的信息。其調(diào)用格式為:scanf("<格式化字符串>",<地址表>)格式化字符串包括以下3類不同的字符;①格式化說明符:格式化說明符與前面用的printf()函數(shù)中的格式說明符基本相同。②空白字符:空白字符會(huì)使scanf()函數(shù)在讀操作中略去輸入中的一個(gè)或多個(gè)空白字符。③非空白字符:一個(gè)非空白字符會(huì)使scanf()函數(shù)在讀入時(shí)剔除掉與這個(gè)非空白字符相同的字符。由于在scanf函數(shù)中,幾個(gè)變量之間沒有39、以下敘述中正確的是A、指針變量只能通過求地址運(yùn)算符(&)來(lái)獲得地址值B、語(yǔ)句p=NULL;與p=\0;是等價(jià)的語(yǔ)句C、int*p1;int*p2;int*p3;都是合法的定義指針變量的語(yǔ)句D、語(yǔ)句p=NULL;執(zhí)行后,指針P指向地址為0的存儲(chǔ)單元標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:指針變量定義形式為:類型*指針變量名;其中*號(hào)的個(gè)數(shù)決定了幾級(jí)指針,指針變量賦地址值的方式有3種方式:①通過求地址運(yùn)算符(&)獲得地址值;②通過指針變量獲得地址值;③通過標(biāo)準(zhǔn)函數(shù)獲得地址值。另外NULL是在stdio.h頭文件中定義的預(yù)定義符。NULL的代碼值為0。可以給指針變量賦NULL值。例如p=NULL;賦值語(yǔ)句,稱p為空指針。這條語(yǔ)句等價(jià)于p=’\0’;或p=0;這時(shí),指針p并不是指向地址為0的存儲(chǔ)單元,而是具有一個(gè)確定的值——“空”。40、下列敘述中正確的是A、一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大B、一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小C、一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小D、算法的時(shí)間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的內(nèi)存空間,算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量,兩者之間并沒有直接關(guān)系,答案為D。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第3套一、選擇題(本題共40題,每題1.0分,共40分。)1、對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是A、隊(duì)頭指針是固定不變的B、隊(duì)頭指針一定大于隊(duì)尾指針C、隊(duì)頭指針一定小于隊(duì)尾指針D、隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間,供隊(duì)列循環(huán)使用。在循環(huán)隊(duì)列中,用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用隊(duì)頭指針front指向隊(duì)頭元素的前一個(gè)位置。循環(huán)隊(duì)列的主要操作是:入隊(duì)運(yùn)算和退隊(duì)運(yùn)算。每進(jìn)行一次入隊(duì)運(yùn)算,隊(duì)尾指針就進(jìn)一。每進(jìn)行一次退隊(duì)運(yùn)算,隊(duì)頭指針就進(jìn)一。當(dāng)rear或front等于隊(duì)列的長(zhǎng)度加1時(shí),就把rear或front值置為1。所以在循環(huán)隊(duì)列中,隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針。2、按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是A、隊(duì)列B、棧C、雙向鏈表D、二叉樹標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,也是最先被刪除的元素;棧底元素總是最先被插入的元素,也是最后才能被刪除的元素。即棧是按照“后進(jìn)先出”(LastInFirstOut,簡(jiǎn)稱LIFO)或“先進(jìn)后出”(FirstInLastOut,簡(jiǎn)稱FILO)的原則組織數(shù)據(jù)的。因此,棧也稱為“后進(jìn)先出表”或“先進(jìn)后出”表。3、關(guān)于C語(yǔ)言中數(shù)的表示,以下敘述正確的是A、只要允許范圍內(nèi)整型數(shù)和實(shí)型數(shù)都能精確的表示B、只有整型數(shù)在允許范圍內(nèi)能精確無(wú)誤的表示,實(shí)型數(shù)會(huì)有誤差C、只有實(shí)型數(shù)在允許范圍內(nèi)能精確無(wú)誤的表示,整型數(shù)會(huì)有誤差D、只有用八進(jìn)制表示的數(shù)才不會(huì)有誤差標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查c語(yǔ)言基本數(shù)據(jù)類型,整型數(shù)是有范圍的,只在允許的范圍內(nèi)才能精確無(wú)誤的表示,實(shí)型數(shù)由于存儲(chǔ)長(zhǎng)度限制存在誤差。4、對(duì)長(zhǎng)度為n的線性表做快速排序,在最壞情況下,比較次數(shù)為()。A、nB、n-1C、n(n一1)D、n(n一1)/2標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此稱為快速排序法。最壞情況下快速排序退化為冒泡排序。5、下面程序的輸出是()。main(){inti=9;for(;i>0;i--){if(i%3==0){printf("%d",--i);continue;}}}A、741B、852C、963D、875421標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查continue的應(yīng)用。程序中for循環(huán)體內(nèi)有一個(gè)continue語(yǔ)句,它的功能是提前結(jié)束本次循環(huán)體(即循環(huán)體的后半部分不執(zhí)行了),直接來(lái)到下一次循環(huán)的條件判斷。本題中,當(dāng)i值為3的倍數(shù)(9,6,3)時(shí),表達(dá)式i%3值為0,輸出--i(8,5,2),否則無(wú)輸出。第6次循環(huán)結(jié)束后,i--使i得0,此時(shí)i>0為假,循環(huán)結(jié)束。6、以下不能輸出字符A的語(yǔ)句是(注:字符A的ASCII碼值為65,字符a的ASCII碼值為97)A、printf("%c\n",’a’-32);B、printf(%d\n",’A’);C、printf("%c\n",65);D、printf("%c\n",’B’-1);標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在選項(xiàng)B的輸出函數(shù)中,大寫字符’A’以整型數(shù)據(jù)的形式輸出。7、設(shè)二叉樹的前序序列與中序序列均為ABCDEFGH,則該二叉樹的后序序列為A、HGFEDCBAB、ABCDEFGHC、ABCDHGFED、DCBAHGFE標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:前序遍歷(DLR)是二叉樹遍歷的一種,也叫做先根遍歷、先序遍歷、前序周游,可記做根左右;中序遍歷(LDR)是二叉樹遍歷的一種,也叫做中根遍歷、中序周游,可記做左根右:后序遍歷(LRD)是二叉樹遍歷的一種,也叫做后根遍歷、后序周游,可記做左右根。根據(jù)題中前序和中序序列均為ABCDEFGH,可畫出二叉樹,該二叉樹是一個(gè)子結(jié)點(diǎn)全部在右側(cè)二叉樹,然后根據(jù)后序遍歷方法,可得出后序遍歷為HGFEDCBA。8、下面描述中正確的是()。A、預(yù)處理命令可以放在程序中的任何位置B、預(yù)處理命令結(jié)尾需要加分號(hào)C、C語(yǔ)言中預(yù)處理是指完成宏替換和文件包含指定的文件的調(diào)用D、預(yù)處理指令只能位于C源程序文件的首部標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查C語(yǔ)言編譯預(yù)處理命令的相關(guān)知識(shí)。C語(yǔ)言中的預(yù)處理命令完成文件讀入和宏替換等任務(wù),另外還可以完成對(duì)編譯的一部分控制,如強(qiáng)行中斷編譯過程以及條件編譯等過程。故選項(xiàng)C)錯(cuò)誤。在程序的任何位置都可以使用預(yù)處理命令,故答案D)也錯(cuò)誤。預(yù)處理命令都必須以“撐”號(hào)開始,結(jié)尾不加分號(hào),故答案B)也錯(cuò)誤。9、設(shè)二叉樹的后序序列為DGHEBIJFCA,中序序列為DBGEHACIFJ。則前序序列為A、ABDEGHCFIJB、JIHGFEDCBAC、GHIJDEFBCAD、ABCDEFGHIJ標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:后序遍歷中,最后一個(gè)字母是根結(jié)點(diǎn),也就是A是根結(jié)點(diǎn);在中序遍歷中,根結(jié)點(diǎn)前面的是左子樹、后面的是右子樹。后序中C在A前面、中序中C在A的后面,說明C是A的右結(jié)點(diǎn);后序中F在C的前面、中序中在C后面,且后序和中序中,I均在F前面由此可確定,I為F的左結(jié)點(diǎn),F(xiàn)為C的右結(jié)點(diǎn)。同C理J為F的右結(jié)點(diǎn)。后續(xù)中B為左子樹的根結(jié)點(diǎn),因此B為A的左結(jié)點(diǎn),以此劃分,在中序中B前面的D為左結(jié)點(diǎn),后面的GEH為右子樹,后序中,E在最后,應(yīng)為剩下3個(gè)結(jié)點(diǎn)的根結(jié)點(diǎn),也就是B的右子樹,再根據(jù)中序中的順序,可得出G為E的左結(jié)點(diǎn),H為E的右結(jié)點(diǎn)。由此可畫出這個(gè)二叉樹,然后根據(jù)二叉樹可的前序序列為ABDEGHCFIJ。10、閱讀下面程序,程序執(zhí)行后的結(jié)果為()。#include"stdio.h"main(){char*str="abcdefghijklmnopq";while(*str++1=’e’);printf("%c\n",*str);}A、fB、aC、eD、q標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查的是取內(nèi)容運(yùn)算符“*”和自加運(yùn)算符“++”的優(yōu)先級(jí)問題。由于“++”的優(yōu)先級(jí)高于“*”,所以題干中“*str++!=’e’”,即“*(str++)!=’e’”,當(dāng)str指向字符“’e’”時(shí),while循環(huán)的條件不成立,但“str”已經(jīng)進(jìn)行了自加指向了字符“’f’”,所以“*str”輸出字符“’f’”。11、下面不屬于需求分析階段任務(wù)的是A、確定軟件系統(tǒng)的功能需求B、確定軟件系統(tǒng)的性能需求C、需求規(guī)格說明書評(píng)審D、制定軟件集成測(cè)試計(jì)劃標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:需求分析階段的工作可分為4個(gè)階段:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評(píng)審。12、有以下程序main(){inta=2,c=5;printf("a=%%d,b=%%dha",a,c);}程序的輸出結(jié)果是A、a=%2,b=%5B、a=%d,b=%dC、a=2,b=5D、a=%%d,b=%%d標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:輸出“%”,可以在格式控制中用“%%”表示,將輸出一個(gè)“%”,而沒有%表示格式符的開始,%%d不能表示格式符,因此儀輸出:a=%d’b=%d。13、若有定義inta;floatb;doublec;程序運(yùn)行時(shí)輸入:345能把值3輸入給變量a、4輸入給變量b、5輸入給變量C的語(yǔ)句是A、scanf("%d%lf%If",&a,&b,&c);B、scanf("%d%f%If",&a,&b,&c);C、scanf("%d%f%f",&a,&b,&c);D、scanf("%1f%lf%If",&a,&b,&c);標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:scanf函數(shù)進(jìn)行輸入的時(shí)候,默認(rèn)的輸入間隔為空格、跳格和回車,變量a、b和c均為數(shù)值型數(shù)據(jù),輸入時(shí)問隔為空格,因此seanf函數(shù)的第一個(gè)表示格式的參數(shù)之間不用加入分隔符,而要輸入double型數(shù)據(jù),格式控制必須用%If(或%le)。否則,數(shù)據(jù)不能正確輸入。14、表達(dá)式(int)((double)9/2)-9%2的值是()。A、0B、3C、4D、5標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:先將整型數(shù)據(jù)9強(qiáng)制轉(zhuǎn)換成double型,然后除以2,得到的結(jié)果與double型保持一致,即為4.5,然后將4.5強(qiáng)制轉(zhuǎn)換成整型數(shù)據(jù)4,然后計(jì)算9%2的值為1,最后計(jì)算4-1的值為3,所以選擇B選項(xiàng)。15、下面屬于整數(shù)類Ⅰ的實(shí)例的是A、229B、0.229C、2.29E+00D、229標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:整數(shù)的全體構(gòu)成整數(shù)集,整數(shù)集是一個(gè)數(shù)環(huán)。在整數(shù)系中,零和正整數(shù)統(tǒng)稱為自然數(shù)。-1、-2、-3、…、-n、…(n為非零自然數(shù))為負(fù)整數(shù)。則正整數(shù)、零與負(fù)整數(shù)構(gòu)成整數(shù)系。整數(shù)不包括小數(shù)、分?jǐn)?shù)。選項(xiàng)A是整數(shù);選項(xiàng)B是小數(shù);選項(xiàng)C是科學(xué)計(jì)數(shù)法;選項(xiàng)D是字符串。16、有以下程序:#include<stdio.h>main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf("%d,%d,%d,%d\n",a,b,c,d);}程序的運(yùn)行結(jié)果是()。A、1,1,2,0B、0,0,0,3C、編譯有錯(cuò)D、0,1,2,0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題中if(a=1)b=1;與elsed=3;之間多了語(yǔ)句c=2;,所以會(huì)出現(xiàn)else語(yǔ)句的位置錯(cuò)誤的編譯失敗提示。17、有以下程序:#include<stdio.h>main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf(’’%d’’,i);}printf(’’\n’’);}程序的運(yùn)行結(jié)果是()。A、5B、24C、32D、40標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題的含義是在1~40的整數(shù)范圍中,只有當(dāng)i的值能被5整除,且i+2的值能被8整除時(shí),打印i的值,滿足這個(gè)條件的只有32,所以選擇C選項(xiàng)。18、以下選項(xiàng)中不能用作C程序合法常量的是A、’\123’B、1,234C、123D、\X7D標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:選項(xiàng)B)中的1,234在兩側(cè)加雙引號(hào)才是C程序的合法字符串常量。19、有以下程序#includefun(inta,intb){intstaticm=0,i=2;i=i+m+1:m=i+a+b:returnm;}main(){intk=4,m=1,p;p=fun(k,m);printf("%d,",p);p=fun(k,m);printf("%d\n",p);}程序運(yùn)行后的輸出結(jié)果是A、8,17B、7,16C、8,8D、7,17標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查了靜態(tài)變量以及局部變量的同名問題。主函數(shù)中調(diào)用fun函數(shù)兩次,第一次調(diào)用fun(4,1),形參a和b接收以后。i值為3,m的值為8,調(diào)用結(jié)束返回8存放到p中并且輸出p的值為8,除了靜態(tài)變量m和i,變量a,b撤銷。第二次調(diào)用fun(4,1),接收實(shí)參值以后,i為3+8+1,而m為12+4+1,即輸出函數(shù)值17。20、若程序中有宏定義行:#defineN100,則下列敘述中正確的是()。A、宏定義行中定義了標(biāo)識(shí)符N的值為整數(shù)100B、在編澤程序?qū)源程序進(jìn)行預(yù)處理時(shí)用100替換標(biāo)識(shí)符NC、上述宏定義行實(shí)現(xiàn)將100賦給標(biāo)識(shí)符ND、在運(yùn)行時(shí)用100替換標(biāo)識(shí)符N標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查預(yù)編譯相關(guān)知識(shí),宏定義在編譯程序時(shí)做了一個(gè)簡(jiǎn)單的替換,所以B選項(xiàng)正確。21、有以下程序#includemain(){printf("%d\n",NULL);}程序運(yùn)行后的輸出結(jié)果是()。A、0B、變量無(wú)定義,輸出不確定C、-1D、1標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:NULL為一個(gè)符號(hào)常量,對(duì)應(yīng)的ASCII碼值為0,答案選A。22、有以下程序#includemain(){inta=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序運(yùn)行后輸出結(jié)果是A、0,2B、0,3C、1,3D、1,2標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題重點(diǎn)考察while語(yǔ)句,變量a和b分別賦初值為-2和1,while語(yǔ)句的語(yǔ)義是:計(jì)算表達(dá)式的值,當(dāng)值為真(非0)時(shí),執(zhí)行循環(huán)體語(yǔ)句。a++即a參與運(yùn)算后,a的值再自增1。++b即b自增1后再參與其它運(yùn)算。當(dāng)表達(dá)式的值為0時(shí),退出循環(huán),最后輸出a和b的值為1和2。因此D選項(xiàng)正確。23、有三個(gè)關(guān)系R、S和T如下:則由關(guān)系R和S得到關(guān)系T的操作是()。A、自然連接B、并C、交D、差標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:關(guān)系T中的元組是關(guān)系R中有而關(guān)系S中沒有的元組的集合,即從關(guān)系R中除去與關(guān)系S中相同元組后得到的關(guān)系T。所以做的是差運(yùn)算。24、以下敘述中正確的是()。A、在邏輯上,可以把二維數(shù)組看成是一個(gè)具有行和列的表格或矩陣B、語(yǔ)句inta[4][3]={1,2,4,5};是錯(cuò)誤的初始化形式C、語(yǔ)句inta[][3]={1,2,4,5};是錯(cuò)誤的初始化形式D、語(yǔ)句inta[4][3]={{1,2},{4,5}};是錯(cuò)誤的初始化形式標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:考查二維數(shù)組的初始化。初始化二維數(shù)組的時(shí)候可以對(duì)其部分元素賦初值,選項(xiàng)B)錯(cuò)。還可以對(duì)數(shù)組的全部元素賦初值,此時(shí)第一維的元素個(gè)數(shù)可以不指定,也可以分行賦值,只對(duì)部分元素賦初值,選項(xiàng)C)、D)錯(cuò)。A)的描述正確,答案選A)。25、以下選項(xiàng)中,不合法的C語(yǔ)言用戶標(biāo)識(shí)符是A、AaBcB、a-bC、a_bD、_1標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在C語(yǔ)言中的用戶標(biāo)識(shí)符只能由字母,數(shù)字和下劃母組成,并且第一個(gè)字符必須是字母或下劃線,在選項(xiàng)A中出現(xiàn)了非法的字符--。26、有以下程序voidfun(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intk[10]={1,2,3,4,5,6,7,8,9,10},i;fun(k,5);for(i=2;i<8;i++)printf("%d",k[i]);printf("\n");}程序的運(yùn)行結(jié)果是A、876543B、321678C、1098765D、345678標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:函數(shù)fun(inta[],intn)的功能是實(shí)現(xiàn)整型數(shù)組a[]元素的逆置操作。在主函數(shù)中當(dāng)執(zhí)行fhn(k,5)時(shí),對(duì)k[10]中的子數(shù)組k[5]={1,2,3,4,5}的首尾元素進(jìn)行逆置,此時(shí)k[10]={5,4,3,2,1,6,7,8,9,10}。所在循環(huán)語(yǔ)句中輸出從第2~7個(gè)數(shù)組元素時(shí),其值分別為321678。27、有以下程序#include<stdio.h>intfun(chars[]){char*p=s;while(*p=0)p++;return(p-s);}main(){printf("%d\n",fun("0ABCDEF"));}程序運(yùn)行后的輸出結(jié)果是A、6B、7C、1D、0標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:函數(shù)fun的主要功能是計(jì)算字符串中實(shí)際字符的個(gè)數(shù),因此主函數(shù)中調(diào)用。fun得到結(jié)果為7。28、下列語(yǔ)句組中,正確的是A、char*s;s="Olympic";B、chars[7];s="Olympic";C、char*s;s={"Olympic"};D、chars[7];s={"Olympic"};標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)A)中定義了指針變量s,通過賦值語(yǔ)句保存字符串常量的地址,而字符數(shù)組絕對(duì)不能賦值,而只能初始化或者輸入。29、若有以下程序#include#defineN4voidfun(inta[][N],intb[],intflag){inti,j;for(i=0;ia[i][j]):(b[i]<a[i][j]))b[i]=a[i][j];}}main(){intx[N][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},y[N],i;fun(x,y,1);for(i=0;iA、1,5,9,13,4,8,12,16,B、4,8,12,16,1,5,9,13,C、1,2,3,4,13,14,15,16,D、13,14,15,16,1,2,3,4,標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:考查數(shù)組名作為函數(shù)參數(shù)。函數(shù)fun()的作用是如果flag為1則用b[i]記錄a[i][0]至a[i][3](即當(dāng)前行)中最小的值,若flag為0,則用b[i]記錄a[i][0]至a[i][3](即當(dāng)前行)中最大的值。所以答案選A。30、有以下程序#includemain(){inti=0;i=~i;printf("%d\n",i);}程序運(yùn)行后的輸出結(jié)果是A、8B、0C、1D、-1標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查位運(yùn)算中按位取反,0按位取反就是-1,所以選項(xiàng)D正確。31、設(shè)有某函數(shù)的說明為int*func(inta[10],intn);則下列敘述中,正確的是A、說明中的a[10]寫成a[]或*a效果完全一樣B、形參a對(duì)應(yīng)的實(shí)參只能是數(shù)組名C、func的函數(shù)體中不能對(duì)a進(jìn)行移動(dòng)指針(如a++)的操作D、只有指向10個(gè)整數(shù)內(nèi)存單元的指針,才能作為實(shí)參傳給a標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:函數(shù)func為返回值為指針的函數(shù),有兩個(gè)形參,形參數(shù)組a為指針變量,保存實(shí)參數(shù)組的首地址,其元素個(gè)數(shù)由實(shí)參數(shù)組決定,因此說明中的a[10]寫成a[]或*a效果完全一樣。32、以下選項(xiàng)中有語(yǔ)法錯(cuò)誤的是A、charstr[3][10];str[1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)用設(shè)備運(yùn)輸合同范本
- 叉車臨時(shí)用工合同范本
- 和店面解約合同范本
- 公寓酒水配送合同范本
- 吊裝車租用合同范本
- 供銷商品合同范本
- 五星級(jí)酒店安保合同范例
- 廚房家電預(yù)售合同范本
- 書購(gòu)貨合同范本
- 發(fā)電玻璃租賃合同范本
- (2025春新教材)部編版七年級(jí)語(yǔ)文下冊(cè)全冊(cè)教案
- 2024年12月重慶大學(xué)醫(yī)院公開招聘醫(yī)生崗位2人(有編制)筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 主題班會(huì):新學(xué)期 新起點(diǎn) 新期待
- 2024 河北公務(wù)員考試(筆試、省直、A類、C類)4套真題及答案
- 統(tǒng)編版歷史 選擇性必修二第12課 《水陸交通的變遷》課件(共27張)
- 小學(xué)生雙擁活動(dòng)國(guó)防教育
- 消防風(fēng)道風(fēng)管施工方案
- 2025年湖南省煙草專賣局系統(tǒng)招聘336人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 和利時(shí)DCS系統(tǒng)課件
- 揚(yáng)塵防治(治理)監(jiān)理實(shí)施細(xì)則(范本)
- 2024年執(zhí)業(yè)藥師繼續(xù)教育專業(yè)答案
評(píng)論
0/150
提交評(píng)論