C語言開發(fā)基礎(chǔ)(習(xí)題卷20)_第1頁
C語言開發(fā)基礎(chǔ)(習(xí)題卷20)_第2頁
C語言開發(fā)基礎(chǔ)(習(xí)題卷20)_第3頁
C語言開發(fā)基礎(chǔ)(習(xí)題卷20)_第4頁
C語言開發(fā)基礎(chǔ)(習(xí)題卷20)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

試卷科目:C語言開發(fā)基礎(chǔ)C語言開發(fā)基礎(chǔ)(習(xí)題卷20)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC語言開發(fā)基礎(chǔ)第1部分:單項選擇題,共73題,每題只有一個正確答案,多選或少選均不得分。[單選題]1.下列關(guān)于do…while語句與while語句描述正確的是()。A)while和do…while循環(huán)體可能都不執(zhí)行B)do…while語句中的循環(huán)體至少無條件執(zhí)行一次,while語句中的循環(huán)體可能都不執(zhí)行C)do…while語句中的循環(huán)體可使用break語句,while語句中的循環(huán)體不允許出現(xiàn)break語句D)do…while語句只適用于循環(huán)次數(shù)已知的場合,while語句只適用于循環(huán)次數(shù)未知的場合答案:B解析:dowhile語句是先執(zhí)行循環(huán)體后判斷,所以至少執(zhí)行1次[單選題]2.復(fù)合語句的定界符是()A)[]B)()C)*/D){}答案:D解析:[單選題]3.以下選項中,不能對主函數(shù)中變量i和j的值進行交換的程序是()。A)#includevoidswap(int*p,int*q){int*t;*t=*p;*p=*q;*q=*t;}main(){inti=10,j=20,*a=&i,*b=&j;swap(a,b);printf("i=%dj=%d\n",i,j);}B)#includevoidswap(int*p,int*q){intt;t=*p;*p=*q;*q=t;}main(){inti=10,j=20,*a=&i,*b=&j;swap(a,b);printf("i=%dj=%d\n",i,j);}C)#include#includevoidswap(int*p,int*q){int*t;t=(int*)malloc(sizeof(int));*t=*p;*p=*q;*q=*t;free(t);}main(){inti=10,j=20;swap(&i,&j);printf("i=%dj=%d\n",i,j);}D)#includevoidswap(int*p,int*q){intt;t=*p;*p=*q;*q=t;}main(){inti=10,j=20,*x=&i,*y=&j;swap(x,y);printf("i=%dj=%d\n",i,j);}答案:A解析:A項,定義了一個臨時指針t,實現(xiàn)兩個指針地址的交換,而傳入的參數(shù)是兩個變量i和j的地址,但是函數(shù)內(nèi)部交換的是地址值,并沒有交換主函數(shù)中變量i與j的值;B項,調(diào)用函數(shù)傳入的是i與j地址,函數(shù)體內(nèi)交換的是地址內(nèi)元素,臨時變量t為整型變量,能實現(xiàn)i與j值交換;C項,調(diào)用函數(shù)傳入的是i與j地址,函數(shù)體內(nèi)交換的是地址內(nèi)元素,臨時變量t為整型指針,且已正確開辟內(nèi)存,能實現(xiàn)i與j值交換;D項與B項相同,能實現(xiàn)i與j值交換。答案選擇A選項。[單選題]4.以下不是算法的特性的是()。A)有窮性B)確定性C)1個到多個輸入D)1個到多個輸出答案:C解析:[單選題]5.設(shè)有如下關(guān)系表,由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為()。A)T=R∩SB)T=R∪SC)T=R×SD)T=R/S答案:B解析:交運算和并運算用于屬性相同的兩個關(guān)系間,其中交運算的結(jié)果是既屬于關(guān)系R也屬于關(guān)系S的集合,并運算將結(jié)構(gòu)相同的兩個關(guān)系合并,合并后的關(guān)系包含兩個關(guān)系中的所有元組。答案選擇B選項。[單選題]6.已知inta=1,b=2,c=3;以下語句執(zhí)行后a,b,c的值是()。If(a>b)C=a;a=b;b=c;A)a=1,b=2,c=3B)a=2,b=3,c=3C)a=2,b=3,c=1D)a=2,b=3,c=2答案:B解析:[單選題]7.設(shè)a為整型變量,不能正確表達數(shù)學(xué)關(guān)系:2<a<5的C語言表達式是()A)a>2&&a<5B)!(a<=2)&&!(a>=5)C)2<a<5D)a==3||a==4答案:C解析:[單選題]8.若有說明:inta[3][4];則數(shù)組a中各元素()。A)可在程序的運行階段得到初值0B)可在程序的編譯階段得到初值0C)不能得到確定的初值D)可在程序的編譯或運行階段得到初值0答案:C解析:[單選題]9.89、若有說明語句?inta[5],*p=a;?,則對數(shù)組元素的正確引用是()。A)a[p]B)p[a]C)*(p+2)D)p+2答案:C解析:[單選題]10.有以下函數(shù)Fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}Return(*a-*b);}該函數(shù)的功能是______。A)計算a和b所指字符串的長度之差B)將b所指字符串連接到a所指字符串中C)將b所指字符串連接到a所指字符串后面D)比較a和b所指字符串的大小答案:D解析:[單選題]11.以下選項中不屬于C語言類型的是()。A)signedB)unsignedC)unsignedD)long答案:D解析:[單選題]12.算法空間復(fù)雜度的度量方法是()。A)算法程序的長度B)算法所處理的數(shù)據(jù)量C)執(zhí)行算法所需要的工作單元D)執(zhí)行算法所需要的存儲空間答案:D解析:算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的計算機存儲空間。包括算法程序所占空間,輸入的初始數(shù)據(jù)所占空間和執(zhí)行過程中所需要的額外空間。答案選擇D選項。[單選題]13.以下選項中,能用作用戶標(biāo)識符的()。A)voidB)8_8C)_0_D)unsigned答案:C解析:標(biāo)識符是由若干個字符組成的字符序列,用來命名程序的一些實體。C語言定義標(biāo)識符應(yīng)遵循以下六種規(guī)則:①標(biāo)識符由字母、數(shù)字或下劃線組成;②第一個字符必須是字母或下劃線;③標(biāo)識符最多由274個字符組成;④在標(biāo)識符中嚴(yán)格區(qū)分大小寫字母;⑥關(guān)鍵字不能作為自定義的標(biāo)識符在程序中使用。A、D項皆為C語言的關(guān)鍵字,B項第一個字符為數(shù)字,錯誤。答案選擇C選項。[單選題]14.若程序中有宏定義行:#defineN100則以下敘述中正確的是______。A)宏定義行中定義了標(biāo)識符N的值為整數(shù)100B)在編譯程序?qū)源程序進行預(yù)處理時用100替換標(biāo)識符NC)對C源程序進行編譯時用100替換標(biāo)識符ND)在運行時用100替換標(biāo)識符N答案:B解析:[單選題]15.設(shè)有如下程序段Intx=2002,y=2003;Cout<<(x,y)<<endl;則以下敘述中正確的是()。A)輸出語句中格式說明符的個數(shù)少于輸出項的個數(shù),不能正確輸出B)運行時產(chǎn)生出錯信息C)輸出值為2002D)輸出值為2003答案:D解析:[單選題]16.C程序中若有文字*/,則其作用是:A)是程序的可執(zhí)行語句B)解釋說明C)沒有意義D)屬于程序定義答案:B解析:[單選題]17.有如下程序:Main(){Intn=9;While(n>5)n--;printf("%d",n);}A)5B)876C)8765D)9876答案:A解析:[單選題]18.以下各選項企圖說明一種新的類型名,其中正確的是()。A)typedefv1int;B)typedefv2=int;C)typedefintv3;D)typedefv4:int;答案:C解析:[單選題]19.以下程序代碼運行的結(jié)果是?inti=0;do{Console.WriteLine(i);}while(i++);Console.WriteLine(i);A)0,0B)0,1C)1,1D)死循環(huán)答案:D解析:[單選題]20.在C語言中,字符型數(shù)據(jù)在內(nèi)存中以()形式存放A)BCD碼B)國標(biāo)碼C)ASCII碼D)反碼答案:C解析:[單選題]21.關(guān)于C語言數(shù)據(jù)類型,敘述正確的是()。A)變量使用前應(yīng)定義相應(yīng)的數(shù)據(jù)類型B)不允許使用空類型C)指針類型屬于基本類型D)結(jié)構(gòu)類型并不是構(gòu)造類型答案:A解析:[單選題]22.()。若有以下定義,inta,b;floatx;則正確的賦值語句是。A)a=1,b=2B)b++;C)a=b=5D)b=int(x);答案:B解析:[單選題]23.有定義:floata=123.45;,執(zhí)行語句printf("%4.2f\n",a);后,屏幕輸出結(jié)果是____。A)123.45B)123.4C)23.45D)123.450000答案:A解析:[單選題]24.下列關(guān)于指針說法的選項中,正確的是()A)指針是用來存儲變量值的類型B)指針一旦定義就不能再指向別的變量C)指針當(dāng)中存儲的是變量的內(nèi)存地址D)指針一旦定義必須要指向某一個變量答案:C解析:[單選題]25.()。以下程序的運行結(jié)果是。main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf(?n%?d,d);elseif((c-1>=d)==1)printf(?n%?d,d+1);elseprintf("%d\n",d+2);}A)2B)3C)4D)編譯有錯,無結(jié)果。答案:B解析:[單選題]26.軟件設(shè)計中劃分模塊的一個準(zhǔn)則是()。A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合答案:B解析:耦合性和內(nèi)聚性是模塊獨立性的兩個定性標(biāo)準(zhǔn)。內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求每個模塊的內(nèi)部都具有很強的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個模塊與其他模塊的耦合性越強則該模塊的獨立性越弱。一般優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。答案選擇B選項。[單選題]27.定義一個名為s的字符型數(shù)組,并賦初值為字符串"1234",以下4個語句中錯誤的是()。A)chars[5]={'1','2','3','4','\0'};B)chars[5]={"1234"};C)chars[5]={"1234\n"};D)chars[5]={'1','2','3','4'};答案:C解析:[單選題]28.若變量a,b,t已正確定義,要將a和b中的數(shù)進行交換,以下選項中不正確的語句是()。A)a=a+b;b=a-b;a=a-b;B)t=a;a=b;b=t;C)a=t;t=b;b=a;D)t=b;b=a;a=t;答案:C解析:[單選題]29.下列程序執(zhí)行后的輸出結(jié)果是____()___.#include<stdio.h>voidmain(){inta=5,b=60,c;if(a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A)60/5=12B)300C)60*5=300D)12答案:C解析:[單選題]30.對于條件表達式(M)?(a++):(a--),其中的表達式M等價于_______。A)M==0B)M==1C)M!=0D)M!=1答案:C解析:[單選題]31.以下能對具有10個元素的一維數(shù)組a進行正確初始化的語句是()A)nta[10]={};B)inta[10]=(0,0,0,0,0);C)inta[10]={10*1};D)inta[]={0};答案:C解析:[單選題]32.從鍵盤輸入整數(shù)n(n<=100),輸出1+2+3+5+…前n項的和。流程圖如圖所示。2處應(yīng)填入的算法步驟為()A)sum+1=>sumB)sum+i=>iC)sum+i=>sumD)sum*i=>sum答案:C解析:[單選題]33.若有定義:inta[10];則對a數(shù)組有效元素的正確引用是___。A)a[10]B)a[3.5]C)a(5)D)a[10-10]答案:D解析:[單選題]34.關(guān)于形參和實參的關(guān)系,不正確的是____。A)實參可以是常量、變量或表達式B)實參與形參的個數(shù)必須相等C)形參和對應(yīng)的實參的類型必須一致D)形參可以是常量、變量或表達式答案:D解析:[單選題]35.已有函數(shù)?intfun(int*p){return*p;}?,則調(diào)用該函數(shù)后,函數(shù)的返回值是_。A)不確定的值B)形參p中存放的值C)形參p所指存儲單元中的值D)形參p的地址值答案:C解析:[單選題]36.由以下while構(gòu)成的循環(huán),循環(huán)體執(zhí)行的次數(shù)是______。intk=0;while(k=1)k++;A)無限次B)一次也不執(zhí)行C)執(zhí)行一次D)有語法錯,不能執(zhí)行答案:A解析:[單選題]37.下面程序段的循環(huán)次數(shù)是()。for(i=2;i==0;)printf("%d",i--);A)無限次B)0次C)1次D)2次答案:B解析:[單選題]38.若有說明語句:charc='\72'則變量c().A)包含1個字符B)包含2個字符C)包含3個字符D)說明不合法,c的值不確定答案:A解析:[單選題]39.以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯誤的是()。A)若只處理?真?和?假?兩種邏輯值,應(yīng)使用邏輯類型B)若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類型C)若要處理如?人員信息?等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型D)整數(shù)類型表示的自然數(shù)是準(zhǔn)確無誤差的答案:A解析:A項錯誤,C語言中沒有邏輯類型,在C++中才引入的;B項正確,float類型稱為單精度類型,double類型稱為雙精度類型,一般系統(tǒng)中,為float類型的變量分配4個字節(jié)的存儲單元,為double類型的變量分配8個字節(jié)的存儲單元。C項正確,struct結(jié)構(gòu)體,可以用來描述包含多種基本類型的復(fù)雜對象。D項正確,整數(shù)的表示是不存在誤差的。答案選擇A選項。[單選題]40.有以下程序段:inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d",a,b,c);程序的輸出結(jié)果是()。A)a=10b=50c=30B)a=10b=50c=10C)a=10b=30c=10D)a=50b=30c=50答案:B解析:因為a=10,b=50,所以a<b,if語句判斷條件不成立,于是執(zhí)行c=a,得到c=10,a和b的值不變。答案選擇B選項。[單選題]41.以下合法的用戶標(biāo)識符是()。A)456pB)www.wC)p101pD)http://答案:C解析:[單選題]42.main(){inti;intx[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;<3;i++)printf("%d",x[][2-i]);}的運行結(jié)果是()。A)159B)147C)357D)369答案:C解析:[單選題]43.下列敘述正確的是____。A)函數(shù)可以調(diào)用自身B)函數(shù)必須有返回值C)主函數(shù)不允許有返回值D)主函數(shù)不允許有參數(shù)答案:A解析:[單選題]44.18、下列可以正確表示字符型常量的是()。A)?\t?B)?a?C)?\n?D)297答案:A解析:[單選題]45.以下選項中,對指針變量p正確的操作是____。A)inta[5],*p;p=a;B)inta[5],*p;p=&a;C)inta[5];int*p=a=1000;D)inta[5];int*p1,*p2=1;*p1=*p2;答案:A解析:[單選題]46.在C#中,有一數(shù)組int[]a=newint[10],若要將數(shù)組中第3個元素賦值為30,則正確的語句為()A)a[2]=30B)a[3]=30C)a[4]=30D)a[5]=30答案:A解析:[單選題]47.下列語句組中,正確的是()。A)char*s;s="Olympic";B)chars[7];s="Olympic";C)char*s;s={"Olympic"};D)chars[7];s={"Olympic"};答案:A解析:字符型指針變量可以用選項A、的賦值方法:char*s;s="Olympic",選項C)的寫法:char*s,s={"Olympic"};是錯誤的。字符數(shù)組可以在定義的時候初始化:chars[]={"Olympic"};?或者chars[]="Olympic",都是正確的。但是不可以在定義字符數(shù)組后,對數(shù)組名賦值。(數(shù)組名是常量,代表數(shù)組首地址)所以選項B)和選項D、都是錯誤的。對于本例,選項B)、D、中字符數(shù)組s的大小至少為8,才能存放下字符串。(字符串的末尾都有結(jié)束標(biāo)志"\0")。[單選題]48.下面關(guān)于變量x、y定義及初始化正確的語句是______。A)intx=y=10;B)charx='\n',chary='b';C)floatx=3;inty=2;D)doublex=0.5;y=4.5;答案:C解析:[單選題]49.C語言規(guī)定,程序中各函數(shù)之間()。A)既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用B)不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用C)允許直接遞歸調(diào)用不允許間接遞歸調(diào)用D)不允許直接遞歸調(diào)用允許間接遞歸調(diào)用答案:A解析:[單選題]50.已有定義intx=3,y=4,z=5;則表達式!(x+y)+z-1&&y+z/2的值是()。A)6B)2C)1D)0答案:C解析:[單選題]51.若調(diào)用fputc函數(shù)輸出字符成功,則其返回值是()。A)EOFB)1C)0D)輸出的字符答案:D解析:[單選題]52.設(shè)有定義:longx=-123456L;,則以下能夠正確輸出變量x值的語句是()A)printf("x=%d\n",x);B)printf("x=%ld\n",x);C)printf("x=%8dL\n",x);D)printf("x=%LD\n",x);答案:B解析:[單選題]53.若有表達式(w)?(--x):(++y),則其中與w等價的表達式是______。A)w==1B)w==0C)w!=1D)w!=0答案:D解析:[單選題]54.有如下程序段:Int*p,a=10,b=1;P=&a;a=*p+b;執(zhí)行該程序段后,a的值是()。A)12B)11C)10D)編譯出錯答案:B解析:[單選題]55.某二叉樹的前序序列為ABCDEFG,中序序列為DCBAEFG,則該二叉樹的后序序列為()。A)EFGDCBAB)DCBEFGAC)BCDGFEAD)DCBGFEA答案:D解析:二叉樹的前序序列為ABCDEFG,A為根結(jié)點。中序序列為DCBAEFG,可知DCB為左子樹結(jié)點,EFG為右子樹結(jié)點。依此類推,畫出該二叉樹,二叉樹的后序序列為DCBGFEA。答案選擇D選項。[單選題]56.有兩個關(guān)系R和S如下:則由關(guān)系R得到關(guān)系S的操作是()。A)選擇B)投影C)自然連接D)并答案:A解析:選擇又稱為限制,它是在關(guān)系R中選擇滿足給定條件的元組。關(guān)系R上的投影則是指從R中選擇出若干屬性列組成新的關(guān)系。這兩種運算都是單目運算。而交和并是雙目運算。連接也稱為θ連接,它是從兩個關(guān)系的笛卡兒積中選取屬性間滿足一定條件的元組。答案選擇A選項。[單選題]57.對文件操作的一般步驟是_______。A)讀寫文件->打開文件->關(guān)閉文件B)讀文件->寫文件->關(guān)閉文件C)打開文件->操作文件->關(guān)閉文件D)操作文件->打開文件->關(guān)閉文件答案:C解析:[單選題]58.下面敘述中,錯誤的是A)C語言基本的算術(shù)運算符不包含模運算符"%"B)算術(shù)運算符的優(yōu)先級高于關(guān)系運算符C)自加和自減運算符的結(jié)合方向是"自右至左"D)C語言規(guī)定在表達式求值時,按其中運算符的優(yōu)先級先高后低的次序進行答案:A解析:[單選題]59.有以下程序(字母A的ASCII代碼為65)#includemain(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}程序運行后的輸出結(jié)果是()。A)輸出格式不合法,輸出出錯信息B)A,YC)65,90D)65,89答案:D解析:考查字符型數(shù)據(jù)。字符常量與其ASCII碼值一一對應(yīng),在計算的時候,一般是字符數(shù)據(jù)對應(yīng)的ASCII碼參與運算,輸出時會根據(jù)格式控制符輸出對應(yīng)的字符或者ASCII碼。程序中%d表示以十進制整數(shù)形式輸出c1,c2,對應(yīng)的ASCII碼為65和89。答案選擇D選項。[單選題]60.有以下程序,程序運行后的輸出結(jié)果是()。#include?stdio.h?Main(){Inta=15,b=21,m=0;Switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}Printf(?%d\n?,m);}A)1B)2C)3D)4答案:A解析:[單選題]61.在C語言中,退格符是()。A)\nB)\tC)\vD)\b答案:D解析:[單選題]62.要求以下程序的功能是計算:s=1+1/2+1/3+…+1/10。Main(){intn;floats;S=1.0;For(n=10;n>1;n--)S=s+1/n;Printf("%6.4f\n",s);}程序運行后輸出結(jié)果錯誤,導(dǎo)致錯誤結(jié)果的程序行是______。A)s=1.0;B)for(n=10;n>1;n--)C)s=s+1/n;D)printf("%6.4f\n",s);答案:C解析:[單選題]63.算術(shù)運算符、賦值運算符和關(guān)系運算符的運算優(yōu)先級按從高到低的順序依次為().A)算術(shù)運算、賦值運算、關(guān)系運算B)關(guān)系運算、賦值運算、算術(shù)運算C)算術(shù)運算、關(guān)系運算、賦值運算D)關(guān)系運算、算術(shù)運算、賦值運算答案:C解析:[單選題]64.若二維數(shù)組a有n行m列,則計算任一元素a[i][j]在數(shù)組中位置的公式為()。(假設(shè)a[0][0]位于數(shù)組的第0個位置上。)A)i*m+jB)i*n+jC)i*m+j-1D)i*m+j+1答案:A解析:[單選題]65.有以下函數(shù):Intfun(char*s){char*t=s;while(*t++);return(t-s);}該函數(shù)的功能是()A)計算s所指字符串的長度B)比較兩個字符串的大小C)計算s所指字符串占用內(nèi)存字節(jié)的個數(shù)D)將s所指字符串復(fù)制到字符串t中答案:A解析:首先char*s接受一個字符型數(shù)組的首地址并將這個首地址賦給另一個字符型指針char*t,while(*t++)不斷循環(huán)直到*t為'\0',再將t-1,這時字符指針t指向字符串的最后一個字符,又因為s指向字符數(shù)組的首地址即字符串的首地址所以return(t-s)便是返回字符數(shù)組中字符串的長度。[單選題]66.正確地引用了數(shù)組a中的基本元素已有定義?inta[2][3]?,下面選項中_____正確地引用了數(shù)組a中的基本元()A)a[1>2][!1]B)a[2][0]C)a[1]D)a答案:A解析:[單選題]67.下列關(guān)于單目運算符++、--的敘述中正確的是()。A)它們的運算對象可以是任何變量和常量B)它們的運算對象可以是char型變量和int型變量,但不能是float型變量C)它們的運算對象可以是int型變量,但不能是double型變量和float型變量D)它們的運算對象可以是char型變量、int型變量和float型變量答案:D解析:[單選題]68.以下敘述中錯誤的是()。A)C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令B)C程序經(jīng)過編譯、鏈接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件C)用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中D)C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序答案:A解析:A項錯誤,注釋語句不會被翻譯成二進制的機器指令。C源程序經(jīng)過C編譯程序編譯之后生成后綴為.obj的二進制文件(稱為目標(biāo)文件),然后由?鏈接程序?(Link)的軟件把.obj文件與各種庫函數(shù)連接起來生成一個后綴為.exe的可執(zhí)行文件。答案選擇A選項。[單選題]69.若有定義語句:doublea,*p=&a;以下敘述中錯誤的是A)定義語句中的*號是一個間址運算符B)定義語句中的*號是一個說明符C)定義語句中的p只能存放double類型變量的地址D)定義語句中,*p=&a把變量a的地址作為初值賦給指針變量p答案:A解析:[單選題]70.二叉樹的中序序列為BDCA,后序序列為DCBA,則前序序列為()。A)DCBAB)BDCAC)ABCDD)BADC答案:C解析:本題中中序序列為BDCA,后序序列為DCBA,可知A為根節(jié)點,BDC為左側(cè)節(jié)點,C是B右子節(jié)點,D是C左子節(jié)點,故前序序列為ABCD,答案選擇C選項。第2部分:多項選擇題,共4題,每題至少兩個正確答案,多選或少選均不得分。[多選題]71.C語言可應(yīng)用在()方面。A)應(yīng)用C語言設(shè)計簡單的應(yīng)用程序系統(tǒng)B)應(yīng)用C語言解決邏輯思維的抽象問題C)應(yīng)用C語言解決計算問題D)應(yīng)用C語言化復(fù)雜問題為簡單問題答案:ABCD解析:[多選題]72.125、以下程序運行后的輸出結(jié)果錯誤的是()。main(){doubled;floatf;longl;inti;i=f=l=d=20/3;printf("%d%ld%.1f%.1f\n",i,l,f,d);}A)666.06.0B)666.76.7C)666.06.7D)666.76.0答案:BCD解析:[多選題]73.以下描述正確的是().A)使用while和do-while循環(huán)時,循環(huán)變量初始話的操作應(yīng)在循環(huán)體語句之前完成B)while循環(huán)是先判斷表達式,后執(zhí)行循環(huán)語句C)do-while和for循環(huán)均是先執(zhí)行循環(huán)語句,后判斷表達式D)for,while和do-while循環(huán)中的循環(huán)體均可以由空語句構(gòu)成答案:ABD解析:[多選題]74.已知inti;,則執(zhí)行語句i=2.6;后,i的值錯誤的是()。A)2B)3C)2.6D)不確定答案:BCD解析:第3部分:填空題,共2題,請在空白處填寫正確答案。[填空題]75.以下程序的功能是求數(shù)組num中小于零的數(shù)據(jù)之和。請分析程序填空。main(){intnum[20]={2,-3,51,-72,86,4,0,-23,3,-65,-1,0,5,8,2,-4,-7,-9,4,-8};intsum=0,i;for(i=0;i<20;i++){if(【1】)sum=【2】;}printf("sum=%d\n",sum);}答案:【1】num[i]<0【2】sum+num[i]解析:[填空題]76.下面程序段是找出整數(shù)的所有因子,請分析程序填空。scanf("%d",&x);for(i=1;;i++)if(x%i==0)printf("%3d",i);答案:i<=x解析:第4部分:判斷題,共8題,請判斷題目是否正確。[判斷題]77.對二維數(shù)組a[3][4],a+1與a[1]都是第一行的首址。答案:錯解析:[判斷題]78.在C語言中,實型數(shù)據(jù)可以用%d輸出,輸出時系統(tǒng)自動取整。A)正確B)錯誤答案:錯解析:[判斷題]79.字符數(shù)組charc[]="string";有6個數(shù)組元素答案:錯解析:[判斷題]80.在C程序中,不同函數(shù)中所定義的變量允許同名答案:對解析:[判斷題]81.函數(shù)調(diào)用時,如果把數(shù)組名作實參,則形參數(shù)組元素的值發(fā)生變化時,實參數(shù)組元素的值不發(fā)生變化。A)正確B)錯誤答案:錯解析://C6函數(shù)與編譯預(yù)處理/C63數(shù)組名作為函數(shù)參數(shù)T[判斷題]82.若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)答案:錯解析:[判斷題]83.08是正確的整型常量。A)正確B)錯誤答案:錯解析:[判斷題]84.對于一個具體的函數(shù)來說,實參與形參必須一一對應(yīng)。A)正確B)錯誤答案:對解析://C6函數(shù)與編譯預(yù)處理/C63參數(shù)匹配T第5部分:問答題,共13題,請在空白處填寫正確答案。[問答題]85.功能:輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。答案:#include<stdio.h>Main(){intx,y,z,t;scanf(?%d%d%d?,&x,&y,&z);if(x>y){?}→t=x;x=y;y=t;if(x>z){?}→t=z;z=x;x=t;if(y>z){?}→t=y;y=z;z=t;printf(?smalltobig:%d%d%d\n?,x,y,z);解析:[問答題]86.若想通過以下輸入語句使a=5.0,b=4,c=3,則輸入數(shù)據(jù)的形式應(yīng)該是【1】?!璱ntB,c;floata;scanf("%f,%d,c=%d",&a,&b,&c);……答案:【1】5.0,4,c=3或5,4,c=3解析:輸入時c=修飾字符絕對不能少。[問答題]87.將數(shù)組a的首地址賦給指針變量p的語句是【1】.答案:p=a;解析:[問答題]88.利用條件運算符的嵌套來完成此題:學(xué)習(xí)成績>=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。答案:main(){intscore;chargrade;printf("pleaseinputascore\n");scanf("%d",&score);grade=score>=90?'A':(score>=60?'B':'C');printf("%dbelongsto%c",score,grade);}解析:[問答題]89.若有語句:inta[5];則將數(shù)組第一個元素賦值為2的語句應(yīng)寫成____。答案:a[0]=2;或者*a=2;解析:[問答題]90.以下程序段的運行結(jié)果是()charstr[3][2]={'a','b','c','d','e','f'};str[2][0]='\0';printf("%s",str[0]);答案:abcd解析:[問答題]91.描述一下gcc的編譯過程?答案:gcc編譯過程分為4個階段:預(yù)處理、編譯、匯編、鏈接。預(yù)處理:頭文件包含、宏替換、條件編譯、刪除注釋編譯:主要進行詞法、語句、語義分析等,檢查無誤

溫馨提示

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

評論

0/150

提交評論