C語(yǔ)言二級(jí)考試試題及答案_第1頁(yè)
C語(yǔ)言二級(jí)考試試題及答案_第2頁(yè)
C語(yǔ)言二級(jí)考試試題及答案_第3頁(yè)
C語(yǔ)言二級(jí)考試試題及答案_第4頁(yè)
已閱讀5頁(yè),還剩116頁(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)介

C語(yǔ)言二級(jí)考試試題及答案計(jì)算機(jī)二級(jí)試題ー選擇題(1)下列敘述中正確的是A)算法的效率只與問(wèn)題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)B)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量0數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是ーー對(duì)應(yīng)的D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)(2)在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是A)各模塊應(yīng)包括盡量多的功能B)各模塊的規(guī)模應(yīng)盡量大0各模塊之間的聯(lián)系應(yīng)盡量緊密D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度(3)下列敘述中正確的是A)軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤B)軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置C)為了提高軟件測(cè)試的效率,最好由程序編制者自己來(lái)完成軟件測(cè)試的工作D)軟件測(cè)試是證明軟件沒(méi)有錯(cuò)誤(4)下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是A)繼承性B)多態(tài)性C)類(lèi)比性D)封閉性(5)下列對(duì)列的敘述正確的是A)隊(duì)列屬于非線性表B)隊(duì)列按“先進(jìn)后出’‘原則組織數(shù)據(jù)0隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D)隊(duì)列按“先進(jìn)先出''原則組織數(shù)據(jù)(6)對(duì)下列ニ叉樹(shù)進(jìn)行前序遍歷的結(jié)果為A)DYBEAFCZXB)YDEBFZXCA〇ABDYECFXZD)ABCDEFXYZ(7)某ニ叉樹(shù)中有n個(gè)度為2的結(jié)點(diǎn),則該ニ叉樹(shù)中的葉子結(jié)點(diǎn)為n+1B)n-1C)2nD)n/2(8)在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是A)并B)交C)投影D)笛卡兒乘積(9)在E-R圖中,用來(lái)表示實(shí)體之間聯(lián)系的圖形是A)矩形B)橢圓形C)菱形D)平行四邊形(10)下列敘述中錯(cuò)誤的是A)在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致B)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題C)數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)D)數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持(11)算法中,對(duì)需要執(zhí)行的每一步操作,必須給出清楚、嚴(yán)格的規(guī)定,這屬于算法的A)正當(dāng)性B)可行性〇確定性D)有窮性(12)下列敘述中錯(cuò)誤的是A)計(jì)算機(jī)不能直接執(zhí)行用C語(yǔ)言編寫(xiě)的源程序C程序經(jīng)C編譯后,生成后綴為.obj的文件是一個(gè)二進(jìn)制文件〇后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是ー個(gè)二進(jìn)制文件D)后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行(13)按照C語(yǔ)言規(guī)定的用戶(hù)標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是A)大寫(xiě)字母B)連接符C)數(shù)字字符D)下劃線(14)以下敘述中錯(cuò)誤的是A)C語(yǔ)言是ー種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言B)結(jié)構(gòu)化程序有順序、分支、循環(huán)三種基本結(jié)構(gòu)組成C)使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題D)結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法(15)對(duì)于ー個(gè)正常運(yùn)行的C程序,以下敘述中正確的是A)程序的執(zhí)行總是從main函數(shù)開(kāi)始,在main函數(shù)結(jié)束B(niǎo))程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在main函數(shù)結(jié)束C)程序的執(zhí)行總是從main函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束D)程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束(16)設(shè)變量均已正確定義,若要通過(guò)scanf("%d%c%d%c”,&al,&cl,&a2,&c2);語(yǔ)句為變量al和a2賦數(shù)值10和20,為變量c!和c2賦字符X和丫。以下所示的輸入形式正確的是(注:□代表空格字符)a)ionxn2ony〈回車(chē)〉b)ionx2onY〈回車(chē)〉oionx〈回車(chē)〉d)iox〈回車(chē)〉20DY〈回車(chē)〉20Y〈回車(chē)〉(17)若有代數(shù)式(其中e僅代表自然對(duì)數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的C語(yǔ)言表達(dá)式是A)sqrt(abs(n"x+e"x)) B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x,e))) D)sqrt(fabs(pow(x,nn)+exp(x)))(18)設(shè)有定義:intk=0;,以下選項(xiàng)的四個(gè)表達(dá)式中與其他三個(gè)表達(dá)式的值不相同的是A)k++B)k+=1C)++kDD)k+l(19)有以下程序,其中%u表示按無(wú)呼號(hào)整數(shù)輸出Main(){unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)?/Printf("%u\n",x);}程序運(yùn)行后的輸出結(jié)果是A)-1B)65535〇32767D)0XFFFF(20)設(shè)變量x和y均已正確定義并賦值,以下if語(yǔ)句中,在編譯時(shí)將產(chǎn)生錯(cuò)誤信息的是A)if(x++)B)if(x>y&y!=0);C)if(x>y)x D)if(y<0){1}elsey++:elsex++;(21)以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式A)x%2==lB)x/2C)x%2!=0D)x%2==0(22)以下敘述中正確的是A)break語(yǔ)句只能用于switch語(yǔ)句題中B)continue語(yǔ)句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)C)break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)D)在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同(23)有以下程序Main(){intk=5,n=0;do{switch(k){easel:case3:n+=l;break;Default;n=0;k―;Case2:case4:n+=2;k—;break;)Printf("%d",n);}while(k>0&&n<5);}程序運(yùn)行后的輸岀結(jié)果是A)235B)0235002356D)2356(24)有以下程序mian(){inti,j;for(i=l;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d”,i,j,i*j);Printf("\n");}}程序運(yùn)行后的輸出結(jié)果是*p=&n;Printf(aInputn:");scanf("%d",&p);printf(aoutputn:");printf(0%d\n",p);}該程序試圖通過(guò)指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是A)intn,*p=NULL;B)*p=&n;C)scanf&p)D)printf("%d\n",p);(31)以下程序中函數(shù)f的功能是:當(dāng)flag為4時(shí),進(jìn)行有小到大排序;當(dāng)flag為〇時(shí),進(jìn)行由大到小排序。voidf(intb[],intn,intflag){inti,j,t;for(i=0;i for (j=i+l;jif(flag?b[i]>b[j]:b[i]}main(){inta[10]={5,4,3,2,1,6,7,8,9,10},I;f(&a[2],5,0);f(a,5,1);for(i=0;i<10;i++)printf("%d,"a[i]);)程序運(yùn)行后的輸出結(jié)果是A)1,2,3,4,5,6,7,8,9,10,B)3,4,5,6, 7, 2, 1, 8, 9, 10,C)5, 4, 3, 2, 1, 6, 7,8, 9,10,D)10,8, 7, 6, 5, 4, 3, 2,1,(32)有以下程序voidf(intb[]){intI;for(i=2;i<6;i++)b[i]*=2;}main(){inta[10]={l,2,3,4,5,6,7,8,9,10},i;ffor(i=0;iく10;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是TOC\o"1-5"\h\zA)1, 2, 3, 4,5,6, 7, 8,9,10, B) 1, 2,6,8, 10,12,7,8, 9, 1001, 2, 3, 4,10,12, 14, 16, 9, 10, D)1,2, 6, 8, 10,12, 14,16, 9, 10,(33)有以下程序typedefstruct{intb,p;}A;voidf(Ac)/?注意:c是結(jié)構(gòu)變量名?/{intj;c.b+=l;c.p+=2;}main(){inti;Aa={l,2};fprintf("%d,%d\n”,a.b,a.p);}程序運(yùn)行后的輸岀結(jié)果是A)2,3B)2,4C)1,4D)1,2(34)有以下程序main(){inta[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,j,k,t;for(i=0;i<4;i++)for(j=0;j<3;j++)for(k=j+l;k<4;k++)if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/?按列排序?/for(i=0;iく4;i++)printf("%d,",a[i][j]);}程序運(yùn)行后的輸出結(jié)果是A)l,6,5,7, B)8,7,3,1, C)4,7,5,2,D)l,6,2,1,(35)有以下程序main(){inta[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,k,t;for(i=O;i<3;i++)for(k=i+i;k<4;k++)if(a[i][i]for(i=0;i<4;i++)printf(u%d,",a[0][i]);}程序運(yùn)行后的輸出結(jié)果是A)6,2,1,1,B)6,4,3,2,〇1,1,2,6,D)2,3,4,6,(36)有以下程序voidf(int*q){inti=0;for(iく5;i++)(*q)++;}mainO{inta[5]={l,2,3,4,5},i;ffor(i=0;i〈5;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是A)2,2,3,4,5,B)6,2,3,4,5,C)2,3,4,5,6,(37)有以下程序#includemain(){charp[20]={'a'b'c'd'},q口=“abc",r[]="abcde";Strcpy(p+strlen(q),r);strcat(p,q);Printf("%d%d\n",sizeof(p),strlen(p));}程序運(yùn)行后的輸出結(jié)果是A)209B)99C)2011D)ll11(38)有以下程序#includemain(){charp[20]={'a'b'c'd'},qロ=“abc",r[]="abode"strcat(p,r);Strcpy(p+strlen(q),q);Printf("%d\n",sizeof(p));}程序運(yùn)行后的輸出結(jié)果是A)9B)6OilD)7(39)有以下程序#includemain(){charp[20]={匕','b','c','d'},q[]="abc",r[]="abcde";Strcat(p,r);strcpy(p+strlen(q),q);Printf("%d\n",strlen(p));}程序運(yùn)行后的輸出結(jié)果是96〇11D)7else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++>s+=f(i);printf("%d\n",s);)程序運(yùn)行后的輸出結(jié)果是A)24B)28C)32D)36(43)有一個(gè)名為init.txt的文件,內(nèi)容如下:^defineHDY(A,B)A/BUdefinePRINT(Y)Printf(“尸%d\n.,Y)有以下程序^include"init.txt”main(){inta=l,b=2,c=3,d=4,k;K=HDY(a+c,b+d);PRINT(K);}下面針對(duì)該程序的敘述正確的是A)編譯有錯(cuò)B)運(yùn)行出錯(cuò)〇運(yùn)行結(jié)果為y=0D)運(yùn)行結(jié)果為y=6(44)有以下程序Main(){charch[]="uvwxyz",*pc;Pc=ch;printf("%c\n”,*(pc+5));}程序運(yùn)行后的輸出結(jié)果是A)zB)0C)元素ch[5]地址D)字符y的地址(45)有以下程序structS{intn;inta[2O」;};voidf(structS*P){inti,j,t;for(i=0;in-1;i++)for(j=j+l;jn-1;j++)程序運(yùn)行后的輸出結(jié)果是A)3B)4〇5D)6(49)有以下程序#includeMain(){FILE*fp;intI,a[6]={l,2,3,4,5,6};fp=fopen("d2.dat","w”);fprintf(fp,%d%d\nw,a[O],a[l],a[2]);fprintf(fp,"%d%d\n”,a[3],a[4],a[5]);fclose(fp);fp=fopen(ad2.dat","r");fscanf(fp,” “%d%d\n",&k,&n);printf("%d%d\n”,k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是A)12B)14C)1234D)123456(50)有以下程序^includemain(){fILE*fp;intI,a[6]={1,2,3,4,5,6k};fp=fopen("d3.dat",“w+b”);fwrite(a,size(int),6,fp);fseek(fp,sizeof(int)*3,SEEKSET);/?該語(yǔ)句使讀文件的位置指針從文件頭向后移動(dòng)3個(gè)int型數(shù)據(jù)?/fread(a,sizeof(int),3,fp);fclose(fp);for(i=0;i<6;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是A)4,5,6,4,5,6, B)1,2,3,4,5,6,C)4,5,6,1,2,3,D)6,5,4,3,2,1,二.填空題(每空2分,共40分)請(qǐng)將每ー個(gè)空的正確答案寫(xiě)在答題卡[1]至[20]序號(hào)的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須寫(xiě)完整(1)在深度為7的滿(mǎn)ニ叉樹(shù)中,度為2的結(jié)點(diǎn)個(gè)數(shù)為〇(2)軟件測(cè)試分為白箱(盒)測(cè)試和黑箱(盒)測(cè)試,等價(jià)類(lèi)劃分法屬于測(cè)試。(3)在數(shù)據(jù)庫(kù)系統(tǒng)中,實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為數(shù)據(jù)庫(kù)管理系統(tǒng)〇(4)軟件生命周期可分為多個(gè)階段,一般分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。編碼和測(cè)試屬于階段。(5)在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用對(duì)其中的圖形元素進(jìn)行確切解釋。(6)執(zhí)行以下程序后的輸出結(jié)果是main(){inta=10;a=(3*5,a+4);printf("a二%d\n",a);}(7)當(dāng)執(zhí)行以下程序時(shí),輸入1234567890く回車(chē)),則其中while循環(huán)體將執(zhí)行 次。#includemain(){charch;While((ch=getchar())==,〇')printf("#");)(8)以下程序的運(yùn)行結(jié)果是〇intk=0;voidfun(intm){ m+=k; k+=m;printf(am=%d\nk=%d”,m,k++);}main(){inti=4;fun(i++);printf("i=%dk二%d\n",i,k);)(9)以下程序的運(yùn)行結(jié)果是〇main(){inta二2,b二7,c二5;Switch(a>0){case1:switch(b<0){case1:switch("@");break;Case2:printf("!^);break;}Case0:switch(cニニ5){case0:printf("*");break;printf("#");break;printf("$");break;}default:printf("&");}Printf("\n");}(10)以下程序的輸出結(jié)果是includemain(){printf("%d\n",strlen("IBM\nO12\l\\"));}(11)已定義charch="$";inti=l,j;執(zhí)行j=!ch&&i++以后,i的值為(12)以下程序的輸出結(jié)果是includemain(){ charaロニ{(lán)'\1','\2' \3' \4',‘、O’};Printf("%d%d\n",sizeof,srelen);}(13)設(shè)有定義語(yǔ)句:inta[][3]二{{0},。},{2}};,則數(shù)組元素a[l][2]的值為 (14)以下程序的功能是:求出數(shù)組x中各相鄰兩個(gè)元素的和,依次存放到a數(shù)組中,然后輸出,請(qǐng)?zhí)羁?。Main(){intx[10],a[9],I;For(i二〇;iく10;i++)Scanf("%d”,&x[i]);For(i<10;i++)A[i-l]=x[i]+For(i=0;i<9;i++)Printf("%d",a[i]);Printf(“\n");(15)以下程序的功能是:利用指針指向三個(gè)整型變量,并通過(guò)指針運(yùn)算找出三個(gè)數(shù)中的最大值,輸出到屏幕上,請(qǐng)?zhí)羁?Main(){intx,y,z,max,*px,*py,*pz,*pmax;Scanf(a%d%d%dw,&x,&y,&z);Px=&x;Py=&y;Pz=&z;Pmax=&max;If(*pmaxく*py)*pmax=?py;If(*pmax<*pz)*pmax=*pz;Printf("max二%d\n",max);}(16)以下程序的輸出結(jié)果是Intfun(int*x,intn){if(n==0)Returnx[0];Elsereturnx[0]+fun(x+l,n-1);}Main(){inta[]={l,2,3,4,5,6,7};Printf("%d\n",fun(a,3));}(17)以下程序的輸出結(jié)果是#includeMain(){char*sl,*s2,m;SI二s2二(char*)malloc(sizeof(char));*sl=15;*s2=20;M=*sl+*s2;Printf("%d\n",m);}(18)設(shè)有說(shuō)明StructDATE{intyear;intmonth;intday;};請(qǐng)寫(xiě)出一條定義語(yǔ)句,該語(yǔ)句定義d為上述結(jié)構(gòu)體變量,并同時(shí)為其成員year、month、day依次賦初值2006、10、1:;(19)設(shè)有定義:FILE*fw;,請(qǐng)將以下打開(kāi)文件的語(yǔ)句補(bǔ)充完整,以便可以向文本文件readme.txt的最后續(xù)寫(xiě)內(nèi)容。fw=fopen("readme,txt","二級(jí)C語(yǔ)言筆試答案選擇題1-5:BDACD6-10:CABCA11-15:CDBCA16-20:DCABC21-25:DCABA26-30:ADCDA31-35:BBDDB36-40:DCACA41-45:DADAA46-50:ACBDA填空題1、632、黑盒3、數(shù)據(jù)庫(kù)管理系統(tǒng)4、開(kāi)發(fā)5、數(shù)據(jù)字典6、a=147、0,8、m=4k=4i=5k=59、n&10、911、112、5413、0i=lx[i-l]*pmax=*px17、1018、4019、structDATEd={2006,10,1}20、a計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試題及答案ー、選擇題((1)-(10)每題2分,(11)-(50)每題1分.共60分))下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)是正確的,請(qǐng)將正確選項(xiàng)涂寫(xiě)在答題卡上,答在試卷上不得分。(1)軟件是指A)程序B)程序和文檔〇算法加數(shù)據(jù)結(jié)構(gòu)D)程序、數(shù)據(jù)和相關(guān)文檔的集合(2)軟件調(diào)試的目的是A)發(fā)現(xiàn)錯(cuò)誤B)改正錯(cuò)誤C)改善軟件的性能D)驗(yàn)證軟件的正確性(3)在面向?qū)ο蠓椒ㄖ?實(shí)現(xiàn)信息隱蔽是依靠A)對(duì)象的繼承B)對(duì)象的多態(tài)〇對(duì)象的封裝D)對(duì)象的分類(lèi)(4)下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格的是A)程序的效率第一,清晰第二B)程序的可讀性好〇程序中有必要的注釋D)輸入數(shù)據(jù)前要有提ホ信息(5)下列敘述中正確的是A)程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)B)程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)〇程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D)以上三種說(shuō)法都不對(duì)(6)下列敘述中正確的是A)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是ーー對(duì)應(yīng)的B)由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu)C)程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線線結(jié)構(gòu)D)以上三種說(shuō)法都不對(duì)(7)冒泡排序在最壞情況下的比較次數(shù)是A)n(n+1)/2B)nlog2nC)n(n-1)/2D)n/2(8)一棵ニ叉樹(shù)中共有70個(gè)葉子結(jié)點(diǎn)與80個(gè)度為1的結(jié)點(diǎn),則該ニ叉樹(shù)中的總結(jié)點(diǎn)數(shù)為A)219B)2210229D)231(9)下列敘述中正確的是A)數(shù)據(jù)庫(kù)系統(tǒng)是ー個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持B)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題〇數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)D)以上三種說(shuō)法都不對(duì)(10)下列敘述中正確的是A)為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系B)表示關(guān)系的二維表中各元組的每ー個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式ー個(gè)關(guān)系可以包括多個(gè)二維表C語(yǔ)言源程序名的后綴是A).exeB).CC).objD).cp(12)可在C程序中用做用戶(hù)標(biāo)識(shí)符的ー組標(biāo)識(shí)符是A)andB)DateC)HiD)case2007y-m-dDr.TomBigl(13)以下選項(xiàng)中,合法的ー組C語(yǔ)言數(shù)值常量是A)028B)12.C).177D)0x8A.5e-30Xa234cl.510,000-Oxf4.5e0Oabc3.e5(14)以下敘述中正確的是A)C語(yǔ)言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開(kāi)始執(zhí)行B)可以在程序中由用戶(hù)指定任意ー個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_(kāi)始執(zhí)行C語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_(kāi)始執(zhí)行,在此結(jié)束main可作為用戶(hù)標(biāo)識(shí)符,用以命名任意ー個(gè)函數(shù)作為主函數(shù)(15)若在定義語(yǔ)句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是A ) scanfC%d”,a,b,c);scanf("%d%d%d”,a,b,c);scanf("%d”,p);D)scanf&p);(16)以下關(guān)于long、int和short類(lèi)型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是A)均占4個(gè)字節(jié)B)根據(jù)數(shù)據(jù)的大小來(lái)決定所占內(nèi)存的字節(jié)數(shù)〇由用戶(hù)自己定義D)由C語(yǔ)言編譯系統(tǒng)決定(17)若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是A)x=y==5;B)x=n%2.5;C)x+n=I;D)x=5=4+l;(18)有以下程序段intj;floaty;charname[50];scanf("%2d%f%s”,&j,&y,name);當(dāng)執(zhí)行上述程序段,從鍵盤(pán)上輸入555667777abe后,y的值為A)55566.0B)566.007777.0D)566777.0(19)若變量已正確定義,有以下程序段i二〇;doprintf("%d,”,i);while(i++);printf("%d\n",i)其輸出結(jié)果是A)0,0B)0,1C)1,1D)程序進(jìn)入無(wú)限循環(huán)(20)有以下計(jì)算公式rVx(x20)y=lV-x(x<0)若程序前面已在命令中包含math.h文件,不能夠正確計(jì)算上述公式的程序段是A)if(x>=0)y=sqrt(x);B)y=sqrt(x)elsey=sqrt(-x);if(x<0)y=sqrt(-x);C)if(x>=0)y=sqrt(x);D)y=sqrt(x>=O?x:-x);If(x<0)y=sqrt(-x);(21)設(shè)有條件表達(dá)式:(EXP)?i++;j—,則以下表達(dá)式中(EXP)完全等價(jià)的是A)(EXP==0)B)(EXP!=0)C)(EXP==1)D)(EXP!=1)(22)有以下程序#includemain(){inty=9;for(y>0;y--)if(y%3==0)printf(,z%d,z,--y);}程序的運(yùn)行結(jié)果是A)741B)9630852D)875421(23)已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫(xiě)字母的表達(dá)式是A)isupper(c)B)'A'<=c<=,VC)'A,く=C&&Cくニ’Z'D)c<=((29-32)&&(匕’-32)<=c(24)有以下程序^includemain(){inti,j,m=55;for(i=l;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的運(yùn)行結(jié)果是A)0B)!〇2D)3(25)若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是A)函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元B)形參只是形式上的存在,不占用具體存儲(chǔ)單元〇同名的實(shí)參和形參占同一存儲(chǔ)單元D)函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元(26)已知字符'A'的ASCII代碼值是65,字符變量cl的值是‘A',c2的值是‘D'o執(zhí)行語(yǔ)句printf(,z%d,%d〃,cl,c2-2);后,輸出結(jié)果是A)A,BB)A,68C)65,66D)65,68(27)以下敘述中錯(cuò)誤的是A)改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值B)函數(shù)可以返回地址值〇可以給指針變量賦ー個(gè)整數(shù)作為地址值D)當(dāng)在程序的開(kāi)頭包含文件stdio.h時(shí),可以給指針變量賦NULL(28)以下正確的字符串常量是A)"\\\"B),abc'C)01ympicGamesD)””(29)設(shè)有定義:charpロ={T','2','3'},*q=p;,以下不能計(jì)算出ー個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是A)sizeof(p)B)sizeof(char)C)sizeof(*q)D)sizeof(p[〇])(30)有以下函數(shù)intaaa(char*s){char*t=s;while(*t++);t—;return(t-s);)以下關(guān)于aaa函數(shù)的功能敘述正確的是A)求字符串s的長(zhǎng)度B)比較兩個(gè)串的大小〇將串s復(fù)制到串tD)求字符串s所占字節(jié)數(shù)(31)若有定義語(yǔ)句:inta[3][6];,按在內(nèi)存中的存放順序,a數(shù)組的第10個(gè)元素是A)a[0][4]B)a[l][3]C)a[0][3]D)a[l][4](32)有以下程序#includevoidfun(char**p){++p;printf("%s\n",*p);}main(){char*a[]=iMorning","Afternoon","Evening","Night"};fun(a);}程序的運(yùn)行結(jié)果是AfternoonB)fternoonC)MorningD)orning(33)若有定義語(yǔ)句:inta[2][3],*p[3];,則以下語(yǔ)句中正確的是A)p=a;B)p[0]=a;C)p[0]=&a[l][2];D)p[l]=&a;(34)有以下程序#includevoidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序?/{intt,i,j;for(i=0;ifor(j=i+l;jif(a)main(){intc[10]={l,2,3,4,5,6,7,8,9,0},i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,”,c);printf(〃、n〃);}程序運(yùn)行的結(jié)果是A ) 1,2,3,4,5,6,7,8,9,0,0,9,8,7,6,5,1,2,3,4,0,9,8,7,6,5,4,3,2,1,1,2,3,4,9,8,7,6,5,0,(35)有以下程序#includeintfun(chars[]){intn=0;while(*s<=,9'&&*s>=,〇’){n=10*n+*s-'O';s++;}return(n);}main(){chars[10]={'6','1' 4' 9','ボ/O',,*'};printf("%d\n”,fun(s));}程序運(yùn)行的結(jié)果是A)9B)61490061D)5(36)當(dāng)用戶(hù)要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是A)scanf()B)getchar()C)gets()D)getc()(37)以下關(guān)于字符串的敘述中正確的是A)C語(yǔ)言中有字符串類(lèi)型的常量和變量B)兩個(gè)字符串中的字符個(gè)數(shù)相同時(shí)才能進(jìn)行字符串大小的比較〇可以用關(guān)系運(yùn)算符對(duì)字符串的大小進(jìn)行比較D)空串ー定比空格打頭的字符串小(38)有以下程序:#includevoidfun(char*t,char*s)(while(*t!=0)t++;while((*t++=*s++)!=0);}main()(charss[10]="acc”,aa[10]="bbxxyy”;fun(ss,aa);printf("%s,%s\n”,ss,aa);}程序運(yùn)行結(jié)果是A)accxyy,bbxxyyB)acc,bbxxyyC)accxxyy,bbxxyyD)accbbxxyy,bbxxyy(39)有以下程序^include^includevoidfun(chars[][10],intn)chart;inti,j;for(i=0;ifor(j=i+1,j/*比較字符串的首字符大小,并交換字符串的首字符?/if(s[0])>s[j][0]{t=s[0];s[0]=s[j][0];s[j][0]=t;}}main()(charss[5][10]={"bcc",“bbcc“,“xy”,waaaacc”“aabcc”}fun(ss,5);printf("%s,%s\n",ss[〇],ss[4]);}程序運(yùn)行結(jié)果是A)xy,aaaaccB)aaaacc,xyC)xcc,aabccD)acc,xabcc(40)在ー個(gè)C語(yǔ)言源程序文件中所定義的全局變量,其作用域?yàn)?A)所在文件的全部范圍B)所在程序的全部范圍0所在函數(shù)的全部范圍D)由具體定義位置和extern說(shuō)明來(lái)決定范圍(41)有以下程序#includeinta=l;intf(intc){staticinta=2;c=c+l;return(a++)+c;}main(){inti,k=O;for(i=0;i<2;i++){inta=3;k+=f(a);}k+二a;printf("%d\n",k);}程序運(yùn)行結(jié)果是A)14B)15C)16D)17(42)有以下程序^includevoidfun(intn,int*p){intfl,f2;if(n==lI|n==2)*p=l;else{fun(n-l,&f1);fun(n-2,&f2);*p=f1+f2;}}main(){ints;fun(3,&s);printf("%d\n",s);}程序的運(yùn)行結(jié)果是A)2B)3C)4D)5(43)若程序中有宏定義行:#defineN100則以下敘述中正確的是A)宏定義行中定義了標(biāo)識(shí)符N的值為整數(shù)100B)在編譯程序?qū)源程序進(jìn)行預(yù)處理時(shí)用100替換標(biāo)識(shí)符NC)對(duì)C源程序進(jìn)行編譯時(shí)用100替換標(biāo)識(shí)符ND)在運(yùn)行時(shí)用100替換標(biāo)識(shí)符N(44)以下關(guān)于typedef的敘述錯(cuò)誤的是A)用typedef可以增加新類(lèi)型B)typedef只是將已存在的類(lèi)型用ー個(gè)新的名字來(lái)代表C)用typedef可以為各種類(lèi)型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名D)用typedef為類(lèi)型說(shuō)明一個(gè)新名,通??梢栽黾映绦虻目勺x性(45)有以下程序#includestructtt{intx;structtt*y;}*p;struct tta[4]={20,a+1,15,a+2,30,a+3,17,a);main(){inti;P二a;for(i=l;i<=2;i++){printf("%d,”,p->x);p=p->y;}}程序的運(yùn)行結(jié)果是A)20,30,B)30,17〇15,30,D)20,15,(46)有以下程序#include^includetypedefstruct{charname[9];charsex;floatscore[2];}STU;STUf(STUa){STUb={〃Zhao〃,'m',85.0,90.0};inti;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score=b.score;returna;}mainO{STUc={"Qian",'f',95.0,92.0},d;d=f(c);printf("%s,%c,%2.Of,%2.Of\n”,,d.sex,d.score[0],d.score[1]);}程序的運(yùn)行結(jié)果是A)Qian,f,95,92 B)Qian,m,85,90C)Zhao,m,85,90D)Zhao,f,95,92(47)設(shè)有以下定義uniondata{intdl;floatd2;}demo;則下面敘述中錯(cuò)誤的是A)變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同B)變量demo中各成員的地址相同C)變量demo和各成員的地址相同D)若給demo,dl賦99后,demo.d2中的值是99.0(48)有以下程序#includemain(){inta=l,b=2,c=3,x;x=(a^b)&c;printf("%d\n",x);}程序的運(yùn)行結(jié)果是A)0B)1C)2D)3(49)讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffer,size,count,fp);,其中buffer代表的是ー個(gè)文件指針,指向待讀取的文件ー個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)ー個(gè)內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址ー個(gè)內(nèi)存塊的字節(jié)數(shù)(50)有以下程序^includemain(){FILE*fp;inta[10]={l,2,3,0,0},i;fp=fopen("d2?dat,"wb");fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen("d2?dat","rb");fread(a,sizeof(int),10,fp);fclose(fp);for(i=。;iく10;i++)printf("%d”,a);}程序的運(yùn)行結(jié)果是1,2,3,0,0,0,0,0,0,0,1,2,3,1,2,3,0,0,0,0,〇123,0,0,0,0,123,0,0,0,0,D)1,2,3,0,0,1,2,3,0,0,二、填空題(每空2分,共40分)請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡[1]至[20]序號(hào)的橫線上,答在試卷上不得分.(1)軟件需求規(guī)格說(shuō)明書(shū)應(yīng)具有完整性、無(wú)歧義性、正確性、可驗(yàn)證性、可修改性等特性,其中最重要的」1].(2)在兩種基本測(cè)試方法中,_[2]測(cè)試的原則之一是保證所測(cè)模塊中每ー個(gè)獨(dú)立路徑至少要執(zhí)行一次.(3)線性表的存儲(chǔ)結(jié)構(gòu)主要分為順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu).隊(duì)列是ー種特殊的線性表,循環(huán)隊(duì)列是隊(duì)列的」3]存儲(chǔ)結(jié)構(gòu).(4)對(duì)下列ニ叉樹(shù)進(jìn)行中序遍歷的結(jié)果為_(kāi)[4](5)在E-R圖中距形表示」5](6)執(zhí)行以下程序時(shí)輸入1234567,則輸出結(jié)果是」6].#includemain(){inta=l,b;scanf("%2d%2d",&a&b);printf("%d%d\n”,a,b);}(7)以下程序的功能是:輸出a、b、c三個(gè)變量中的最小值.請(qǐng)?zhí)羁铡?includemain(){inta,b,c,tl,t2;scanf("%d%d%d",&a,&b,&c);tl=at2=cprintf(,z%d\nz,,t2);}(8)以下程序的輸出結(jié)果是」9].#includemain(){intn=12345,d;while(n!=O){ d=n%10;printf("%d”,d);n/=10;}}(9)有以下程序段,且變量已正確定義和賦值for(s=l.0,k=l;k<=n;k++)s=s+l.O/(k*(k+l));printf("s=%f\n\n",s);請(qǐng)?zhí)羁?使下面程序段的功能為完全相同s=l.O;k=l;while(_[10]){s=s+l.0/(k*(k+l));_[11] ;}printf("s=%f\n\n",s);(10)以下程序的輸出結(jié)果是ー[12].#includemain(){inti;for(i二'a';i<'f';i++,i++)printf("%c",i-'a'+'A');printf("\n");}(11)以下程序的輸出結(jié)果是ー[13].#include#includechar*fun(char*t){char*p二t;return(p+strlen(t)/2);)main(){char*str="abcdefgh";str=fun(str);puts(str);}(12)以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后ー個(gè)數(shù)對(duì)換.請(qǐng)?zhí)羁?#includeviodf(intx[],intn){intpO,pl,i,j,t,m;i=j=x[O];p0=pl=0;for(m=0;m{if(x[m]>i){i=x[m];pO=m;}elseif(x[m])t=x[pO];x[pO]=x[n-l];x[n-l]=t;t=x[pl];x[pl]= _[14];_[15] =t;}main(){inta[10],u;for(u=0;u<10;u++)scanf("%d",&a);f(a,10);for(u=0;u<10;u++)printf("%d”,a);printf(〃、n〃);}(13)以下程序統(tǒng)計(jì)從終端輸入的字符中大寫(xiě)字母的個(gè)數(shù),num[0]中統(tǒng)計(jì)字母A的個(gè)數(shù),num[l]中統(tǒng)計(jì)字母B的個(gè)數(shù),其它依次類(lèi)推.用#號(hào)結(jié)束輸入,請(qǐng)?zhí)羁?#include#includemain(){intnum[26]={0},i;charc;while((_[16])!='#')if(isupper(c)) num[c-'A']+=_[17] ;for(i=0;i<26;i++)Printf("%c:%d\n”,i+'A',num);}(14)執(zhí)行以下程序的輸出結(jié)果是」18].^includemain(){inti,n[4]={l};for(i=l;i<=3;i++){n=n[i-l]*2+l;printf("%d",n);}}(15)以下程序的輸出結(jié)果是ー[19].^include^defineM5ftdefineNM+Mmain(){intk;k=N*N*5;printf("%d\n",k);}(16)函數(shù)main()的功能是:在帶頭結(jié)點(diǎn)的單鏈表中查找數(shù)據(jù)域中值最小的結(jié)點(diǎn).請(qǐng)?zhí)羁誢includestructnode{intdata;structnode*next;);intmin(structnode*first)/*指針first為鏈表頭指針?/{strctnode*p;intm;p=first->next;m=p->data;p=p->next;for(;p!=NULL;p=_[20].)if(p->datadata;returnm;ー、選擇題1-10DBCAD CCABD 11?20 BABCCDABBB21?30BCBBDCCDAA31?40 BDCDC CDDDD41?50 AABADCDDCD二、選擇題1.無(wú)歧義性 2.白盒3.順序4.ACBDFEHGP5.實(shí)體6.12347.a:bc:tl8.54321 9.k<=nk++10.ACE11.efgh12.x[0]x[0] 13.c=getchar() 114.37 15 15.55 16.p->next全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷C語(yǔ)言程序設(shè)計(jì)(考試時(shí)間90分鐘,滿(mǎn)分100分)ー、選擇題(共70分)下列各題A),B),〇,D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分。(1)程序流程圖中指有箭頭的線段表示的是A)圖元關(guān)系B)數(shù)據(jù)流〇控制流D)調(diào)用關(guān)系(2)結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括A)多態(tài)性B)自頂向下C)模塊化D)逐步求精(3)軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)髙內(nèi)聚髙耦合(4)在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是A)可行性分析報(bào)告B)軟件需求規(guī)格說(shuō)明書(shū)〇概要設(shè)計(jì)說(shuō)明書(shū)D)集成測(cè)試計(jì)劃(5)算法的有窮性是指A)算法程序的運(yùn)行時(shí)間是有限的B)算法程序所處理的數(shù)據(jù)量是有限的〇算法程序的長(zhǎng)度是有限的D)算法只能被有限的用戶(hù)使用(6)對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序〇直接插入排序D)堆排序(7)下列關(guān)于棧的敘述正確的是A)棧按“先進(jìn)先出”組織數(shù)據(jù)B)棧按“先進(jìn)后出”組織數(shù)據(jù)〇只能在棧底插入數(shù)據(jù)D)不能刪除數(shù)據(jù)(8)在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E?R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于[C]A)需求分析階段B)概念設(shè)計(jì)階段〇邏輯設(shè)計(jì)階段D)物理設(shè)計(jì)階段(9)有三個(gè)關(guān)系R、S和T如下:TBCDa0k1RSBCDaOk1b1n1BCDf3h2aOk1n2x1有關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為A)并B)自然連接C)笛卡爾積D)交(10)設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表SC的關(guān)鍵字(鍵或碼)為A)課號(hào),成績(jī)B)學(xué)號(hào),成績(jī)C)學(xué)號(hào),課號(hào)D)學(xué)號(hào),姓名,成績(jī)(11)以下敘述中正確的是A)C程序中的注釋只能出現(xiàn)在程序的開(kāi)始位置和語(yǔ)句的后面B)C程序書(shū)寫(xiě)格式嚴(yán)格,要求一行內(nèi)只能寫(xiě)ー個(gè)語(yǔ)句C)C程序書(shū)寫(xiě)格式自由,ー個(gè)語(yǔ)句可以寫(xiě)在多行卜D)用C語(yǔ)言編寫(xiě)的程序只能放在ー個(gè)程序文件中(12)以下選項(xiàng)中不合法的標(biāo)識(shí)符是A)printB)FORC)&aD)_00(13)以下選項(xiàng)中不屬于字符常量的是A)CB)"C"C)へxCCO,D)へ072,(14)設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0(15)以下定義語(yǔ)句中正確的是A)inta=b=0;B)charA=65+1,b='bf;C)floata=1,*b=&a,*c=&b;D)doublea=0.0,b=1.1;(16)有以下程序段charch;intk;chゴa';k=12;printf(M%c,%d,",ch,ch,k);printf(Mk=%d\nM,k);已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是A)因變量類(lèi)型與格式描述符的類(lèi)型不匹配輸出無(wú)定值B)輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值C)a,97,12k=12D)a,97,k=12(17)已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫(xiě)字母的表達(dá)式是A)kk>=*A,&&kk<='Z,B)!(kk>='A'IIkkv=Z)C)(kk+32)>=,a,&&(kk+32)<=,z,D)isalpha(kk)&&(kk<91)(18)當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是A)(c==2)II(c==4)II(c==6)B)(c>=2&&c<=6)II(c!=3)II(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)(19)若變量已正確定義,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf(,,%d,%d,%d\nHJa,b,c);其輸出結(jié)果是A)程序段有語(yǔ)法錯(cuò)B)3,5,3C)3,5,5D)3,5,7(20)有以下程序#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;b++;break;}a++;b++;break;a++;b++;}printf(ua=%d,b=%d\n,,,a,b);}程序的運(yùn)行結(jié)果是A)a=1fb=0B)a=2,b=2C)a=1,b=1D)a=2,b=1(21)有以下程序#include<stdio.h>main(){intx=8;for(;x>0;x??){if(x%3){printf(u%d,,,,X--);continue;}printf(u%d,,,,-x);}}程序的運(yùn)行結(jié)果是A)7,4,2B)8,7,5,2C)9,7,6,4D)8,5,4,2(22)以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或者語(yǔ)句組是A)n=0;B)n=0;do{++n;}while(n<=0);while(1){n++;}C)n=10;D)for(n=0,i=1;;i++)n+=i;while(n);{n-;}(23)有以下程序#include<stdio.h>main(){inta[]={1,2,3,4},y,*p=&a[3];-p;y=*p;printf(uy=%d\n,,,y);}程序的運(yùn)行結(jié)果是y=0B)y=1C)y=2D)y=3(24)以下錯(cuò)誤的定義語(yǔ)句是A)intx[][3]={{0},{1},{1,2,3}};B)intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3});〇!ntx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D)intx[][3]={1,2,3,4};(25)設(shè)有如下程序段chars[20]=^Bejingn/p;P=s;則執(zhí)行p=s;語(yǔ)句后,以下敘述正確的是A)可以用?p表示s[〇]s數(shù)組中元素的個(gè)數(shù)和p所指字符串長(zhǎng)度相等s和p都是指針變量D)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等(26)若有定義:inta[2][3];,以下選項(xiàng)中對(duì)a數(shù)組元素正確引用的是A)a[2][!1]B)a[2][3]C)a[0][3]D)a[1>2][!1](27)有定義語(yǔ)句:chars口〇];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是A)gets(&s[O]);B)scanf(u%s,J,s+1);C)gets(s);D)scanf(u%s,,,s[1]);(28)以下敘述中錯(cuò)誤的是A)在程序中凡是以“#”開(kāi)始的語(yǔ)句行都是預(yù)處理命令行B)預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束#defineMAX是合法的宏定義命令行C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過(guò)程中進(jìn)行的(29)以下結(jié)構(gòu)體類(lèi)型說(shuō)明和變量定義中正確的是A)typedefstructB)structREC;{intn;charc;}REC;{intn;charc;};RECt1,t2;RECt1,t2;C)typedefstructREC;D)struct{intn=O;charc=,A,;}t1,t2;{intn;charc;}RECt1,t2;(30)以下敘述中錯(cuò)誤的是gets函數(shù)用于從終端讀入字符串getchar函數(shù)用于從磁盤(pán)文件讀入字符C)fputs函數(shù)用于把字符串輸出到文件D)fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件(31)有以下程序#include<stdio.h>main(){ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++)c[s[i]]++;for(i=1;i<5;i++)printf(u%d,,,c[i]);printf(u\n,J);}程序的運(yùn)行結(jié)果是A)1234B)2344C)4332D)1123(32)有以下程序#include<stdio.h>voidfun(int*s,intnl,intn2){inti,j,t;i=nl;j=n2;while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j-;})main(){inta[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3);fun(a,4,9);fun(a,0,9);for(k=0;k<10;k++)printf(u%d,,,a[k]);printf(“\n”);)程序運(yùn)行的結(jié)果是A)0987654321B)43210987650)5678901234D)0987651234(33)有以下程序#include<stdio.h>#include<string.h>voidfun(char*s[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;}}main(){char*ss[尸{“bcc”,“bbcc",“xy”,“aaaacc”,”aabcc”};fun(ss,5);printf(u%s,%s\n,,,ss[0],ss[4]);}程序的運(yùn)行結(jié)果是A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc(34)有以下程序#include<stdio.h>intf(intx){inty;if(x==0||x==1)return(3);y=x*x-f(x-2);returny;)main(){intz;z=f(3);printf(u%d\n,J,z);}程序的運(yùn)行結(jié)果是A)0B)9C)6D)8(35)有以下程序#include<stdio.h>voidfun(char*a,char*b){while(*a==,*J)a++;while(*b=*a){b++;a++;}}main(){char*s=?****a*b****,,,t[80];fun(s,t);puts(t);}程序的運(yùn)行結(jié)果是A)*****a*bB)a*bC)a*b****D)ab(36)有以程序#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;floatscore[2];}STU;voidf(STUa){STUb={“Zhao”;m185.〇,90.〇};inti;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];)main(){STUc={uQian,,,,p,,95.0,92.0};f(c);printf(u%s,%c,%2.0f,%2.0f\n,,,,c.sex,c.score[0]jC.score[1]);)程序的運(yùn)行結(jié)果是A)Qian,f,95,92B)Qian,m,85,90Zhao,f,95,92D)Zhao,m,85,90(37)有以下程序#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen(“dl.dae',"w");for(i=0;iv3;i++)fprintf(fp,"%d”,a[i]);fprintf(fp,,,\nM);fclose(fp);fp=fopen(“dl.daゼ’Jr”);fscanf(fp,"%d",&n);fclose(fp);printf(u%d\n",n);)程序的運(yùn)行結(jié)果是A)12300B)123C)1D)321(38)變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是A)aAbB)a|bC)a&bD)a?4(39)在C語(yǔ)言中,只有在使用時(shí)オ占用內(nèi)存單元的變量,其存儲(chǔ)類(lèi)型是A)auto和registerB)extern和registerC)auto和staticD)static和register(40)設(shè)有定義語(yǔ)句int(*f)(int);,則以下敘述正確的是A)f是基類(lèi)型為int的指針變量B)f是指向函數(shù)的指針變量,該函數(shù)具有一個(gè)!nt類(lèi)型的形參C)f是指向int類(lèi)型ー維數(shù)組的指針變量D)f是函數(shù)名,該函數(shù)的返回值是基類(lèi)型為int類(lèi)型的地址二、填空題(每空2分,共30分)請(qǐng)將每ー個(gè)空的正確答案些在答題卡【1】至【15】序號(hào)的橫線上,答在試卷上不得分。(1)測(cè)試用例包括輸入值集和【1】值集。(2)深度為5的滿(mǎn)ニ叉樹(shù)有【2】個(gè)葉子結(jié)點(diǎn)。(3)設(shè)某循環(huán)隊(duì)列的容量為50,頭指針front=5(指向隊(duì)頭元素的前一位置),尾指針rear=29(指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有13】個(gè)元素。(4)在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是【4】。(5)在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)定義語(yǔ)言、數(shù)據(jù)操縱語(yǔ)言和數(shù)據(jù)控制語(yǔ)言中,15】負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。(6)已有定義:charcゴ’;inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為【6】〇(7)設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為[7j〇(8)若有定義:intk;,以下程序段的輸出結(jié)果是[8I〇for(k=2;k<6;k++,k++)printf("##%d,,,k);(9)以下程序段的定義語(yǔ)句中,x口]的初值是【9],程序運(yùn)行后輸出的內(nèi)容是[10I〇#include<stdio.h>main(){intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*P[4],i;for(i=0;i<4;i++){p[i]=&x[2*i+1];printf(u%d"向i][〇]);}printf(“\n”);}(10)以下程序的輸出結(jié)果是【11】〇#include<stdio.h>voidswap(int*a,int*b){int*t;t=a;a=b;b=t;}main(){inti=3,j=5,*p=&i,*q=&j;swap(p,q);printf("%d%d\n,,,*p,*q);}(11)以下程序的輸出結(jié)果是【12】〇#include<stdio.h>main(){inta[5]={2,4,6,8,10),*p;P=a;p++;printf(u%d,,,*p);}(12)以下程序的輸出結(jié)果是[13I〇#include<stdio.h>voidfun(intx){if(x/2>0)fun(x/2);printf(u%d”,x);}main(){fun(3);printf("\n”);}(13)以下程序中函數(shù)fun的功能是:統(tǒng)計(jì)person所指結(jié)構(gòu)體數(shù)組中所有性別(sex)為M的記錄的個(gè)數(shù),存入變量n中,并做為函數(shù)值返回。請(qǐng)?zhí)羁?#include<stdio.h>#defineN3typedefstruct{intnum;charnam[10];charsex;}SS;intfun(SSperson[]){inti,n=0;for(i=0;i<N;i++)if([14]==JM5)n++;returnn;}main(){SSW[N]={{1,“AA",'F'},{2JBB'','M/{3JCC",'M5}};intn;n=fun(W);printf(un=%d\n,,,n);}(14)以下程序從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁?#include<stdio.h>main(){FILE*fp;charch;fp=fopen([15]);ch=fgetc(fp);whlie(!feof(fp)){putchar(ch);ch=fgetc(fp);}putchar(t\n,);fclose(fp);}參考答案:ー、選擇題1-10:CABBADBCDC11-20:CCBCBDBBBD21-30:DADCADDDAB31-40:CCACCABAAB二、填空題:1、輸出2、163、244、關(guān)系5、數(shù)據(jù)定義語(yǔ)言6、07、38、##2##49、210、246811、3512、413、1314、person[i].sex15、“filea.daビ,”ピ全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷C語(yǔ)言程序設(shè)計(jì)(考試時(shí)間90分鐘,滿(mǎn)分100分)ー、選擇題下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分。(1)一個(gè)棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是A)12345ABCDE B)EDCBA54321C)ABCDE12345 D)54321EDCBA(2)下列敘述中正確的是A)循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線性結(jié)構(gòu)B)在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反應(yīng)隊(duì)列中元素的動(dòng)態(tài)變化情況〇在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反應(yīng)隊(duì)列中元素的動(dòng)態(tài)變化情況D)循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭和隊(duì)尾指針共同決定(3)在長(zhǎng)度為n的有序線性表中進(jìn)行二分査找,最壞情況下需要比較的次數(shù)是A)0(N) B)0(n2) C)0(log2n) D)0(nlog2n)(4)下列敘述中正確的是A)順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的B)順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)C)順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表D)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間(5)數(shù)據(jù)流圖中帶有箭頭的線段表示的是A)控制流 B)事件驅(qū)動(dòng) 〇模塊調(diào)用 D)數(shù)據(jù)流(6)在軟件開(kāi)發(fā)中,需求分析階段可以使用的工具是

A)N-S圖B)DFD圖C)PAD圖D)程序流程圖(7)在面向?qū)ο蠓椒ㄖ?不屬于“對(duì)象”基本特點(diǎn)的是A)一致性 B)分類(lèi)性 〇多態(tài)性 D)標(biāo)識(shí)唯一性一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是A)ー對(duì)ー B)一對(duì)多 〇多對(duì)ー D)多對(duì)多(9)在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是A)人工管理階段 B)文件系統(tǒng)階段〇數(shù)據(jù)庫(kù)系統(tǒng)階段 D)三個(gè)階段相同(10)有三個(gè)關(guān)系R、S和T如下:ABCm13R STABm1n2BC1335由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為C)并 D)B)C程序中每一行只C)并 D)B)C程序中每一行只D)C語(yǔ)句必須在ー〇匯編程自然連接(11)以下敘述中正確的是A)C程序的基本組成單位是語(yǔ)句能寫(xiě)一條語(yǔ)句〇簡(jiǎn)單C語(yǔ)句必須以分號(hào)結(jié)束行內(nèi)寫(xiě)完(12)計(jì)算機(jī)能直接執(zhí)行的程序是A)源程序 B)目標(biāo)程序序 D)可執(zhí)行程序(13)以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是A)'cd' B)0.le+6 C)"\a" D)”\011”(14)以下選項(xiàng)中正確的定義語(yǔ)句是A)doublea;b; B)doublea=b=7; C)doublea=7,b=7; D)double,a,b;(15)以下不能正確表示代數(shù)式的C語(yǔ)言表達(dá)式是A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*dC源程序中不能表示的數(shù)制是A)二進(jìn)制 B)ハ進(jìn)制 〇十進(jìn)制 D)十六進(jìn)制(17)若有表達(dá)式(w)?(―x):(++y),則其中與w等價(jià)的表達(dá)式是A)w==1 B)w==0 C)w!=l D)w!=0(18)執(zhí)行以下程序段后,w的值為intw='A',x=14,y=15;w=((x||y)&&(w<,a'));A)-1 B)NULL C)D)0(19)若變量已正確定義為int型,要通過(guò)語(yǔ)句scanf(“%d,%d,%d”,&a,&b,&c);給a賦值1,給b賦值2,給c賦值3,以下輸入形式中錯(cuò)誤的是(u代表一個(gè)空格符)A)uuul,2,3く回車(chē)〉 B)Iu2u3く回車(chē))01,uuu2,uuu3く回車(chē)> D)1,2,3く回車(chē))(20)有以下程序段inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n”,a,b,c);程序的輸出結(jié)果是TOC\o"1-5"\h\zA) a=10 b=50 c=10 B) a=10 b=50c=30C) a=10 b=30 c=10 D) a=50 b=30c=50若有定義語(yǔ)句:int mロ={5,4,3,2,1},i=4;,則下面對(duì)m數(shù)組元素的引用中錯(cuò)誤的是A)m[—i] B)m[2*2] C)D)m[m](22)下面的函數(shù)調(diào)用

溫馨提示

  • 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)論