版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
C語言二級考試試題及答案計算機二級試題ー選擇題(1)下列敘述中正確的是A)算法的效率只與問題的規(guī)模有關,而與數(shù)據(jù)的存儲結(jié)構無關B)算法的時間復雜度是指執(zhí)行算法所需要的計算工作量0數(shù)據(jù)的邏輯結(jié)構與存儲結(jié)構是ーー對應的D)算法的時間復雜度與空間復雜度一定相關(2)在結(jié)構化程序設計中,模塊劃分的原則是A)各模塊應包括盡量多的功能B)各模塊的規(guī)模應盡量大0各模塊之間的聯(lián)系應盡量緊密D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度(3)下列敘述中正確的是A)軟件測試的主要目的是發(fā)現(xiàn)程序中的錯誤B)軟件測試的主要目的是確定程序中錯誤的位置C)為了提高軟件測試的效率,最好由程序編制者自己來完成軟件測試的工作D)軟件測試是證明軟件沒有錯誤(4)下面選項中不屬于面向?qū)ο蟪绦蛟O計特征的是A)繼承性B)多態(tài)性C)類比性D)封閉性(5)下列對列的敘述正確的是A)隊列屬于非線性表B)隊列按“先進后出’‘原則組織數(shù)據(jù)0隊列在隊尾刪除數(shù)據(jù)D)隊列按“先進先出''原則組織數(shù)據(jù)(6)對下列ニ叉樹進行前序遍歷的結(jié)果為A)DYBEAFCZXB)YDEBFZXCA〇ABDYECFXZD)ABCDEFXYZ(7)某ニ叉樹中有n個度為2的結(jié)點,則該ニ叉樹中的葉子結(jié)點為n+1B)n-1C)2nD)n/2(8)在下列關系運算中,不改變關系表中的屬性個數(shù)但能減少元組個數(shù)的是A)并B)交C)投影D)笛卡兒乘積(9)在E-R圖中,用來表示實體之間聯(lián)系的圖形是A)矩形B)橢圓形C)菱形D)平行四邊形(10)下列敘述中錯誤的是A)在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構必須與邏輯結(jié)構一致B)數(shù)據(jù)庫技術的根本目標是要解決數(shù)據(jù)的共享問題C)數(shù)據(jù)庫設計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎上建立數(shù)據(jù)庫D)數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持(11)算法中,對需要執(zhí)行的每一步操作,必須給出清楚、嚴格的規(guī)定,這屬于算法的A)正當性B)可行性〇確定性D)有窮性(12)下列敘述中錯誤的是A)計算機不能直接執(zhí)行用C語言編寫的源程序C程序經(jīng)C編譯后,生成后綴為.obj的文件是一個二進制文件〇后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是ー個二進制文件D)后綴為.obj和.exe的二進制文件都可以直接運行(13)按照C語言規(guī)定的用戶標識符命名規(guī)則,不能出現(xiàn)在標識符中的是A)大寫字母B)連接符C)數(shù)字字符D)下劃線(14)以下敘述中錯誤的是A)C語言是ー種結(jié)構化程序設計語言B)結(jié)構化程序有順序、分支、循環(huán)三種基本結(jié)構組成C)使用三種基本結(jié)構構成的程序只能解決簡單問題D)結(jié)構化程序設計提倡模塊化的設計方法(15)對于ー個正常運行的C程序,以下敘述中正確的是A)程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束B)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束C)程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束D)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束(16)設變量均已正確定義,若要通過scanf("%d%c%d%c”,&al,&cl,&a2,&c2);語句為變量al和a2賦數(shù)值10和20,為變量c!和c2賦字符X和丫。以下所示的輸入形式正確的是(注:□代表空格字符)a)ionxn2ony〈回車〉b)ionx2onY〈回車〉oionx〈回車〉d)iox〈回車〉20DY〈回車〉20Y〈回車〉(17)若有代數(shù)式(其中e僅代表自然對數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的C語言表達式是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)設有定義:intk=0;,以下選項的四個表達式中與其他三個表達式的值不相同的是A)k++B)k+=1C)++kDD)k+l(19)有以下程序,其中%u表示按無呼號整數(shù)輸出Main(){unsignedintx=0xFFFF;/*x的初值為十六進制數(shù)?/Printf("%u\n",x);}程序運行后的輸出結(jié)果是A)-1B)65535〇32767D)0XFFFF(20)設變量x和y均已正確定義并賦值,以下if語句中,在編譯時將產(chǎn)生錯誤信息的是A)if(x++)B)if(x>y&y!=0);C)if(x>y)x D)if(y<0){1}elsey++:elsex++;(21)以下選項中,當x為大于1的奇數(shù)時,值為0的表達式A)x%2==lB)x/2C)x%2!=0D)x%2==0(22)以下敘述中正確的是A)break語句只能用于switch語句題中B)continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)C)break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)D)在循環(huán)體內(nèi)使用break語句和continue語句的作用相同(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);}程序運行后的輸岀結(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");}}程序運行后的輸出結(jié)果是*p=&n;Printf(aInputn:");scanf("%d",&p);printf(aoutputn:");printf(0%d\n",p);}該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯誤,以下語句正確的是A)intn,*p=NULL;B)*p=&n;C)scanf&p)D)printf("%d\n",p);(31)以下程序中函數(shù)f的功能是:當flag為4時,進行有小到大排序;當flag為〇時,進行由大到小排序。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]);)程序運行后的輸出結(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]);}程序運行后的輸出結(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é)構變量名?/{intj;c.b+=l;c.p+=2;}main(){inti;Aa={l,2};fprintf("%d,%d\n”,a.b,a.p);}程序運行后的輸岀結(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]);}程序運行后的輸出結(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]);}程序運行后的輸出結(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]);}程序運行后的輸出結(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));}程序運行后的輸出結(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));}程序運行后的輸出結(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));}程序運行后的輸出結(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);)程序運行后的輸出結(jié)果是A)24B)28C)32D)36(43)有一個名為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);}下面針對該程序的敘述正確的是A)編譯有錯B)運行出錯〇運行結(jié)果為y=0D)運行結(jié)果為y=6(44)有以下程序Main(){charch[]="uvwxyz",*pc;Pc=ch;printf("%c\n”,*(pc+5));}程序運行后的輸出結(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++)程序運行后的輸出結(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);}程序運行后的輸出結(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);/?該語句使讀文件的位置指針從文件頭向后移動3個int型數(shù)據(jù)?/fread(a,sizeof(int),3,fp);fclose(fp);for(i=0;i<6;i++)printf("%d,",a[i]);}程序運行后的輸出結(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分)請將每ー個空的正確答案寫在答題卡[1]至[20]序號的橫線上,答在試卷上不得分。注意:以命令關鍵字填空的必須寫完整(1)在深度為7的滿ニ叉樹中,度為2的結(jié)點個數(shù)為〇(2)軟件測試分為白箱(盒)測試和黑箱(盒)測試,等價類劃分法屬于測試。(3)在數(shù)據(jù)庫系統(tǒng)中,實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為數(shù)據(jù)庫管理系統(tǒng)〇(4)軟件生命周期可分為多個階段,一般分為定義階段、開發(fā)階段和維護階段。編碼和測試屬于階段。(5)在結(jié)構化分析使用的數(shù)據(jù)流圖(DFD)中,利用對其中的圖形元素進行確切解釋。(6)執(zhí)行以下程序后的輸出結(jié)果是main(){inta=10;a=(3*5,a+4);printf("a二%d\n",a);}(7)當執(zhí)行以下程序時,輸入1234567890く回車),則其中while循環(huán)體將執(zhí)行 次。#includemain(){charch;While((ch=getchar())==,〇')printf("#");)(8)以下程序的運行結(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)以下程序的運行結(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ロニ{'\1','\2' \3' \4',‘、O’};Printf("%d%d\n",sizeof,srelen);}(13)設有定義語句:inta[][3]二{{0},。},{2}};,則數(shù)組元素a[l][2]的值為 (14)以下程序的功能是:求出數(shù)組x中各相鄰兩個元素的和,依次存放到a數(shù)組中,然后輸出,請?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)以下程序的功能是:利用指針指向三個整型變量,并通過指針運算找出三個數(shù)中的最大值,輸出到屏幕上,請?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)設有說明StructDATE{intyear;intmonth;intday;};請寫出一條定義語句,該語句定義d為上述結(jié)構體變量,并同時為其成員year、month、day依次賦初值2006、10、1:;(19)設有定義:FILE*fw;,請將以下打開文件的語句補充完整,以便可以向文本文件readme.txt的最后續(xù)寫內(nèi)容。fw=fopen("readme,txt","二級C語言筆試答案選擇題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ù)庫管理系統(tǒng)4、開發(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計算機等級考試二級C語言筆試題及答案ー、選擇題((1)-(10)每題2分,(11)-(50)每題1分.共60分))下列各題A)、B)、C)、D)四個選項中,只有一個是正確的,請將正確選項涂寫在答題卡上,答在試卷上不得分。(1)軟件是指A)程序B)程序和文檔〇算法加數(shù)據(jù)結(jié)構D)程序、數(shù)據(jù)和相關文檔的集合(2)軟件調(diào)試的目的是A)發(fā)現(xiàn)錯誤B)改正錯誤C)改善軟件的性能D)驗證軟件的正確性(3)在面向?qū)ο蠓椒ㄖ?實現(xiàn)信息隱蔽是依靠A)對象的繼承B)對象的多態(tài)〇對象的封裝D)對象的分類(4)下列敘述中,不符合良好程序設計風格的是A)程序的效率第一,清晰第二B)程序的可讀性好〇程序中有必要的注釋D)輸入數(shù)據(jù)前要有提ホ信息(5)下列敘述中正確的是A)程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構密切相關B)程序執(zhí)行的效率只取決于程序的控制結(jié)構〇程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D)以上三種說法都不對(6)下列敘述中正確的是A)數(shù)據(jù)的邏輯結(jié)構與存儲結(jié)構必定是ーー對應的B)由于計算機存儲空間是向量式的存儲結(jié)構,因此,數(shù)據(jù)的存儲結(jié)構一定是線性結(jié)構C)程序設計語言中的數(shù)組一般是順序存儲結(jié)構,因此,利用數(shù)組只能處理線線結(jié)構D)以上三種說法都不對(7)冒泡排序在最壞情況下的比較次數(shù)是A)n(n+1)/2B)nlog2nC)n(n-1)/2D)n/2(8)一棵ニ叉樹中共有70個葉子結(jié)點與80個度為1的結(jié)點,則該ニ叉樹中的總結(jié)點數(shù)為A)219B)2210229D)231(9)下列敘述中正確的是A)數(shù)據(jù)庫系統(tǒng)是ー個獨立的系統(tǒng),不需要操作系統(tǒng)的支持B)數(shù)據(jù)庫技術的根本目標是要解決數(shù)據(jù)的共享問題〇數(shù)據(jù)庫管理系統(tǒng)就是數(shù)據(jù)庫系統(tǒng)D)以上三種說法都不對(10)下列敘述中正確的是A)為了建立一個關系,首先要構造數(shù)據(jù)的邏輯關系B)表示關系的二維表中各元組的每ー個分量還可以分成若干數(shù)據(jù)項一個關系的屬性名表稱為關系模式ー個關系可以包括多個二維表C語言源程序名的后綴是A).exeB).CC).objD).cp(12)可在C程序中用做用戶標識符的ー組標識符是A)andB)DateC)HiD)case2007y-m-dDr.TomBigl(13)以下選項中,合法的ー組C語言數(shù)值常量是A)028B)12.C).177D)0x8A.5e-30Xa234cl.510,000-Oxf4.5e0Oabc3.e5(14)以下敘述中正確的是A)C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行B)可以在程序中由用戶指定任意ー個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束main可作為用戶標識符,用以命名任意ー個函數(shù)作為主函數(shù)(15)若在定義語句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是A ) scanfC%d”,a,b,c);scanf("%d%d%d”,a,b,c);scanf("%d”,p);D)scanf&p);(16)以下關于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是A)均占4個字節(jié)B)根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)〇由用戶自己定義D)由C語言編譯系統(tǒng)決定(17)若變量均已正確定義并賦值,以下合法的C語言賦值語句是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);當執(zhí)行上述程序段,從鍵盤上輸入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)程序進入無限循環(huán)(20)有以下計算公式rVx(x20)y=lV-x(x<0)若程序前面已在命令中包含math.h文件,不能夠正確計算上述公式的程序段是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)設有條件表達式:(EXP)?i++;j—,則以下表達式中(EXP)完全等價的是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);}程序的運行結(jié)果是A)741B)9630852D)875421(23)已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字母的表達式是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);}程序的運行結(jié)果是A)0B)!〇2D)3(25)若函數(shù)調(diào)用時的實參為變量時,以下關于函數(shù)形參和實參的敘述中正確的是A)函數(shù)的實參和其對應的形參共占同一存儲單元B)形參只是形式上的存在,不占用具體存儲單元〇同名的實參和形參占同一存儲單元D)函數(shù)的形參和實參分別占用不同的存儲單元(26)已知字符'A'的ASCII代碼值是65,字符變量cl的值是‘A',c2的值是‘D'o執(zhí)行語句printf(,z%d,%d〃,cl,c2-2);后,輸出結(jié)果是A)A,BB)A,68C)65,66D)65,68(27)以下敘述中錯誤的是A)改變函數(shù)形參的值,不會改變對應實參的值B)函數(shù)可以返回地址值〇可以給指針變量賦ー個整數(shù)作為地址值D)當在程序的開頭包含文件stdio.h時,可以給指針變量賦NULL(28)以下正確的字符串常量是A)"\\\"B),abc'C)01ympicGamesD)””(29)設有定義:charpロ={T','2','3'},*q=p;,以下不能計算出ー個char型數(shù)據(jù)所占字節(jié)數(shù)的表達式是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);)以下關于aaa函數(shù)的功能敘述正確的是A)求字符串s的長度B)比較兩個串的大小〇將串s復制到串tD)求字符串s所占字節(jié)數(shù)(31)若有定義語句:inta[3][6];,按在內(nèi)存中的存放順序,a數(shù)組的第10個元素是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);}程序的運行結(jié)果是AfternoonB)fternoonC)MorningD)orning(33)若有定義語句:inta[2][3],*p[3];,則以下語句中正確的是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〃);}程序運行的結(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));}程序運行的結(jié)果是A)9B)61490061D)5(36)當用戶要求輸入的字符串中含有空格時,應使用的輸入函數(shù)是A)scanf()B)getchar()C)gets()D)getc()(37)以下關于字符串的敘述中正確的是A)C語言中有字符串類型的常量和變量B)兩個字符串中的字符個數(shù)相同時才能進行字符串大小的比較〇可以用關系運算符對字符串的大小進行比較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);}程序運行結(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]);}程序運行結(jié)果是A)xy,aaaaccB)aaaacc,xyC)xcc,aabccD)acc,xabcc(40)在ー個C語言源程序文件中所定義的全局變量,其作用域為:A)所在文件的全部范圍B)所在程序的全部范圍0所在函數(shù)的全部范圍D)由具體定義位置和extern說明來決定范圍(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);}程序運行結(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);}程序的運行結(jié)果是A)2B)3C)4D)5(43)若程序中有宏定義行:#defineN100則以下敘述中正確的是A)宏定義行中定義了標識符N的值為整數(shù)100B)在編譯程序?qū)源程序進行預處理時用100替換標識符NC)對C源程序進行編譯時用100替換標識符ND)在運行時用100替換標識符N(44)以下關于typedef的敘述錯誤的是A)用typedef可以增加新類型B)typedef只是將已存在的類型用ー個新的名字來代表C)用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名D)用typedef為類型說明一個新名,通??梢栽黾映绦虻目勺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;}}程序的運行結(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]);}程序的運行結(jié)果是A)Qian,f,95,92 B)Qian,m,85,90C)Zhao,m,85,90D)Zhao,f,95,92(47)設有以下定義uniondata{intdl;floatd2;}demo;則下面敘述中錯誤的是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);}程序的運行結(jié)果是A)0B)1C)2D)3(49)讀取二進制文件的函數(shù)調(diào)用形式為:fread(buffer,size,count,fp);,其中buffer代表的是ー個文件指針,指向待讀取的文件ー個整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)ー個內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址ー個內(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);}程序的運行結(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分)請將每一個空的正確答案寫在答題卡[1]至[20]序號的橫線上,答在試卷上不得分.(1)軟件需求規(guī)格說明書應具有完整性、無歧義性、正確性、可驗證性、可修改性等特性,其中最重要的」1].(2)在兩種基本測試方法中,_[2]測試的原則之一是保證所測模塊中每ー個獨立路徑至少要執(zhí)行一次.(3)線性表的存儲結(jié)構主要分為順序存儲結(jié)構和鏈式存儲結(jié)構.隊列是ー種特殊的線性表,循環(huán)隊列是隊列的」3]存儲結(jié)構.(4)對下列ニ叉樹進行中序遍歷的結(jié)果為_[4](5)在E-R圖中距形表示」5](6)執(zhí)行以下程序時輸入1234567,則輸出結(jié)果是」6].#includemain(){inta=l,b;scanf("%2d%2d",&a&b);printf("%d%d\n”,a,b);}(7)以下程序的功能是:輸出a、b、c三個變量中的最小值.請?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);請?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個數(shù)(假定n個數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后ー個數(shù)對換.請?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)計從終端輸入的字符中大寫字母的個數(shù),num[0]中統(tǒng)計字母A的個數(shù),num[l]中統(tǒng)計字母B的個數(shù),其它依次類推.用#號結(jié)束輸入,請?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é)點的單鏈表中查找數(shù)據(jù)域中值最小的結(jié)點.請?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.無歧義性 2.白盒3.順序4.ACBDFEHGP5.實體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全國計算機等級考試二級筆試試卷C語言程序設計(考試時間90分鐘,滿分100分)ー、選擇題(共70分)下列各題A),B),〇,D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)程序流程圖中指有箭頭的線段表示的是A)圖元關系B)數(shù)據(jù)流〇控制流D)調(diào)用關系(2)結(jié)構化程序設計的基本原則不包括A)多態(tài)性B)自頂向下C)模塊化D)逐步求精(3)軟件設計中模塊劃分應遵循的準則是A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)髙內(nèi)聚髙耦合(4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是A)可行性分析報告B)軟件需求規(guī)格說明書〇概要設計說明書D)集成測試計劃(5)算法的有窮性是指A)算法程序的運行時間是有限的B)算法程序所處理的數(shù)據(jù)量是有限的〇算法程序的長度是有限的D)算法只能被有限的用戶使用(6)對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序〇直接插入排序D)堆排序(7)下列關于棧的敘述正確的是A)棧按“先進先出”組織數(shù)據(jù)B)棧按“先進后出”組織數(shù)據(jù)〇只能在棧底插入數(shù)據(jù)D)不能刪除數(shù)據(jù)(8)在數(shù)據(jù)庫設計中,將E?R圖轉(zhuǎn)換成關系數(shù)據(jù)模型的過程屬于[C]A)需求分析階段B)概念設計階段〇邏輯設計階段D)物理設計階段(9)有三個關系R、S和T如下:TBCDa0k1RSBCDaOk1b1n1BCDf3h2aOk1n2x1有關系R和S通過運算得到關系T,則所使用的運算為A)并B)自然連接C)笛卡爾積D)交(10)設有表示學生選課的三張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績),則表SC的關鍵字(鍵或碼)為A)課號,成績B)學號,成績C)學號,課號D)學號,姓名,成績(11)以下敘述中正確的是A)C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面B)C程序書寫格式嚴格,要求一行內(nèi)只能寫ー個語句C)C程序書寫格式自由,ー個語句可以寫在多行卜D)用C語言編寫的程序只能放在ー個程序文件中(12)以下選項中不合法的標識符是A)printB)FORC)&aD)_00(13)以下選項中不屬于字符常量的是A)CB)"C"C)へxCCO,D)へ072,(14)設變量已正確定義并賦值,以下正確的表達式是A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0(15)以下定義語句中正確的是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十進制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是A)因變量類型與格式描述符的類型不匹配輸出無定值B)輸出項與格式描述符個數(shù)不符,輸出為零值或不定值C)a,97,12k=12D)a,97,k=12(17)已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達式是A)kk>=*A,&&kk<='Z,B)!(kk>='A'IIkkv=Z)C)(kk+32)>=,a,&&(kk+32)<=,z,D)isalpha(kk)&&(kk<91)(18)當變量c的值不為2、4、6時,值也為“真”的表達式是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)程序段有語法錯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);}程序的運行結(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);}}程序的運行結(jié)果是A)7,4,2B)8,7,5,2C)9,7,6,4D)8,5,4,2(22)以下不構成無限循環(huán)的語句或者語句組是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);}程序的運行結(jié)果是y=0B)y=1C)y=2D)y=3(24)以下錯誤的定義語句是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)設有如下程序段chars[20]=^Bejingn/p;P=s;則執(zhí)行p=s;語句后,以下敘述正確的是A)可以用?p表示s[〇]s數(shù)組中元素的個數(shù)和p所指字符串長度相等s和p都是指針變量D)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等(26)若有定義:inta[2][3];,以下選項中對a數(shù)組元素正確引用的是A)a[2][!1]B)a[2][3]C)a[0][3]D)a[1>2][!1](27)有定義語句:chars口〇];,若要從終端給s輸入5個字符,錯誤的輸入語句是A)gets(&s[O]);B)scanf(u%s,J,s+1);C)gets(s);D)scanf(u%s,,,s[1]);(28)以下敘述中錯誤的是A)在程序中凡是以“#”開始的語句行都是預處理命令行B)預處理命令行的最后不能以分號表示結(jié)束#defineMAX是合法的宏定義命令行C程序?qū)︻A處理命令行的處理是在程序執(zhí)行的過程中進行的(29)以下結(jié)構體類型說明和變量定義中正確的是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)以下敘述中錯誤的是gets函數(shù)用于從終端讀入字符串getchar函數(shù)用于從磁盤文件讀入字符C)fputs函數(shù)用于把字符串輸出到文件D)fwrite函數(shù)用于以二進制形式輸出數(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);}程序的運行結(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”);)程序運行的結(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]);}程序的運行結(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);}程序的運行結(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);}程序的運行結(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]);)程序的運行結(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);)程序的運行結(jié)果是A)12300B)123C)1D)321(38)變量a中的數(shù)據(jù)用二進制表示的形式是01011101,變量b中的數(shù)據(jù)用二進制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運算是A)aAbB)a|bC)a&bD)a?4(39)在C語言中,只有在使用時オ占用內(nèi)存單元的變量,其存儲類型是A)auto和registerB)extern和registerC)auto和staticD)static和register(40)設有定義語句int(*f)(int);,則以下敘述正確的是A)f是基類型為int的指針變量B)f是指向函數(shù)的指針變量,該函數(shù)具有一個!nt類型的形參C)f是指向int類型ー維數(shù)組的指針變量D)f是函數(shù)名,該函數(shù)的返回值是基類型為int類型的地址二、填空題(每空2分,共30分)請將每ー個空的正確答案些在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。(1)測試用例包括輸入值集和【1】值集。(2)深度為5的滿ニ叉樹有【2】個葉子結(jié)點。(3)設某循環(huán)隊列的容量為50,頭指針front=5(指向隊頭元素的前一位置),尾指針rear=29(指向隊尾元素),則該循環(huán)隊列中共有13】個元素。(4)在關系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是【4】。(5)在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言中,15】負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構建。(6)已有定義:charcゴ’;inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為【6】〇(7)設變量已正確定義為整型,則表達式n=i=2,++i,i++的值為[7j〇(8)若有定義:intk;,以下程序段的輸出結(jié)果是[8I〇for(k=2;k<6;k++,k++)printf("##%d,,,k);(9)以下程序段的定義語句中,x口]的初值是【9],程序運行后輸出的內(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)計person所指結(jié)構體數(shù)組中所有性別(sex)為M的記錄的個數(shù),存入變量n中,并做為函數(shù)值返回。請?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的文本文件中逐個讀入字符并顯示在屏幕上。請?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、關系5、數(shù)據(jù)定義語言6、07、38、##2##49、210、246811、3512、413、1314、person[i].sex15、“filea.daビ,”ピ全國計算機等級考試二級筆試試卷C語言程序設計(考試時間90分鐘,滿分100分)ー、選擇題下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是A)12345ABCDE B)EDCBA54321C)ABCDE12345 D)54321EDCBA(2)下列敘述中正確的是A)循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構B)在循環(huán)隊列中,只需要隊頭指針就能反應隊列中元素的動態(tài)變化情況〇在循環(huán)隊列中,只需要隊尾指針就能反應隊列中元素的動態(tài)變化情況D)循環(huán)隊列中元素的個數(shù)是由隊頭和隊尾指針共同決定(3)在長度為n的有序線性表中進行二分査找,最壞情況下需要比較的次數(shù)是A)0(N) B)0(n2) C)0(log2n) D)0(nlog2n)(4)下列敘述中正確的是A)順序存儲結(jié)構的存儲一定是連續(xù)的,鏈式存儲結(jié)構的存儲空間不一定是連續(xù)的B)順序存儲結(jié)構只針對線性結(jié)構,鏈式存儲結(jié)構只針對非線性結(jié)構C)順序存儲結(jié)構能存儲有序表,鏈式存儲結(jié)構不能存儲有序表D)鏈式存儲結(jié)構比順序存儲結(jié)構節(jié)省存儲空間(5)數(shù)據(jù)流圖中帶有箭頭的線段表示的是A)控制流 B)事件驅(qū)動 〇模塊調(diào)用 D)數(shù)據(jù)流(6)在軟件開發(fā)中,需求分析階段可以使用的工具是
A)N-S圖B)DFD圖C)PAD圖D)程序流程圖(7)在面向?qū)ο蠓椒ㄖ?不屬于“對象”基本特點的是A)一致性 B)分類性 〇多態(tài)性 D)標識唯一性一間宿舍可住多個學生,則實體宿舍和學生之間的聯(lián)系是A)ー對ー B)一對多 〇多對ー D)多對多(9)在數(shù)據(jù)管理技術發(fā)展的三個階段中,數(shù)據(jù)共享最好的是A)人工管理階段 B)文件系統(tǒng)階段〇數(shù)據(jù)庫系統(tǒng)階段 D)三個階段相同(10)有三個關系R、S和T如下:ABCm13R STABm1n2BC1335由關系R和S通過運算得到關系T,則所使用的運算為C)并 D)B)C程序中每一行只C)并 D)B)C程序中每一行只D)C語句必須在ー〇匯編程自然連接(11)以下敘述中正確的是A)C程序的基本組成單位是語句能寫一條語句〇簡單C語句必須以分號結(jié)束行內(nèi)寫完(12)計算機能直接執(zhí)行的程序是A)源程序 B)目標程序序 D)可執(zhí)行程序(13)以下選項中不能作為C語言合法常量的是A)'cd' B)0.le+6 C)"\a" D)”\011”(14)以下選項中正確的定義語句是A)doublea;b; B)doublea=b=7; C)doublea=7,b=7; D)double,a,b;(15)以下不能正確表示代數(shù)式的C語言表達式是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)二進制 B)ハ進制 〇十進制 D)十六進制(17)若有表達式(w)?(―x):(++y),則其中與w等價的表達式是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型,要通過語句scanf(“%d,%d,%d”,&a,&b,&c);給a賦值1,給b賦值2,給c賦值3,以下輸入形式中錯誤的是(u代表一個空格符)A)uuul,2,3く回車〉 B)Iu2u3く回車)01,uuu2,uuu3く回車> D)1,2,3く回車)(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若有定義語句:int mロ={5,4,3,2,1},i=4;,則下面對m數(shù)組元素的引用中錯誤的是A)m[—i] B)m[2*2] C)D)m[m](22)下面的函數(shù)調(diào)用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 綜合素養(yǎng)提升的跨領域?qū)W習策略研究
- 科技驅(qū)動的校園環(huán)境改善策略
- IT行業(yè)保密協(xié)議(2024版)
- 2025年度智能廚電一體化購銷合同二零二五3篇
- 二零二五年度自助餐廳經(jīng)營承包合同3篇
- 漯河2024年河南漯河市沙澧河建設運行保障中心人才引進5人筆試歷年參考題庫附帶答案詳解
- 滁州安徽滁州明光市司法局招聘司法協(xié)理員7人筆試歷年參考題庫附帶答案詳解
- 高效能實驗的關鍵儀器的科學使用方法
- 淮安2025年江蘇淮安漣水縣公安局警務輔助人員招聘87人(一)筆試歷年參考題庫附帶答案詳解
- 二零二五年度蟲草產(chǎn)品研發(fā)與創(chuàng)新合同3篇
- 2024年小升初語文入學分班測試卷四(統(tǒng)編版)
- 流行文化對青少年價值觀的影響研究
- 2024年代理記賬工作總結(jié)6篇
- 電氣工程預算實例:清單與計價樣本
- VOC廢氣治理工程中電化學氧化技術的研究與應用
- 煤礦機電設備培訓課件
- 科技論文圖表等規(guī)范表達
- 高考寫作指導議論文標準語段寫作課件32張
- 2021年普通高等學校招生全國英語統(tǒng)一考試模擬演練八省聯(lián)考解析
- 紅色研學旅行課程的設計與實踐
- 幼兒園保育教育質(zhì)量指南評估指標考核試題及答案
評論
0/150
提交評論