版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2005年4月全國計算機(jī)等級考試二級C語言筆試試題及答案一、選擇題(1~10每小題2分,11~50每小題1分,共60分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)數(shù)據(jù)的存儲結(jié)構(gòu)是指。A)存儲在外存中的數(shù)據(jù)B)數(shù)據(jù)所占的存儲空間量C)數(shù)據(jù)在計算機(jī)中的順序存儲方式D)數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示(2)下列關(guān)于棧的描述中錯誤的是_ _oA)棧是先進(jìn)后出的線性表B)棧只能順序存儲C)棧具有記憶作用D)對棧的插入與刪除操作中,不需要改變棧底指針(3)對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是A)冒泡排序為n/2B)冒泡排序為nC)快速排序為nD)快速排序為n(n-l)/2(4)對長度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為A)log2nB)n/2C)nD)n+1(5)下列對于線性鏈表的描述中正確的是。A)存儲空間不一定是連續(xù),且各元素的存儲順序是任意的B)存儲空間不一定是連續(xù),且前件元素一定存儲在后件元素的前面C)存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D)存儲空間必須連續(xù),且各元素的存儲順序是任意的(6)下列對于軟件測試的描述中正確的是.A)軟件測試的目的是證明程序是否正確B)軟件測試的目的是使程序運行結(jié)果正確C)軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤D)軟件測試的目的是使程序符合結(jié)構(gòu)化原則(7)為了使模塊盡可能獨立,要求?A)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)B)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱D)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)(8)下列描述中正確的是。A)程序就是軟件B)軟件開發(fā)不受計算機(jī)系統(tǒng)的限制C)軟件既是邏輯實體,又是物理實體D)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合(9)數(shù)據(jù)獨立性是數(shù)據(jù)庫技術(shù)的重要特點之一,所謂數(shù)據(jù)獨立性是指。A)數(shù)據(jù)與程序獨立存放B)不同的數(shù)據(jù)被存放在不同的文件中C)不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用D)以上三種說法都不對(10)用樹形結(jié)構(gòu)表示實體之間聯(lián)系的模型是。A)關(guān)系模型B)網(wǎng)狀模型C)層次模型D)以上三個都是(11)算法具有五個特性,以下選項中不屬于算法特性的是OA)有窮性B)簡潔性C)可行性D)確定性(12)以下選項中可作為C語言合法常量的是。A)-80.B)-0800-8el.0D)-80.0e(13)以下敘述中正確的是。A)用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作B)用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須耍輸入C)用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出D)用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出(14)以下不能定義為用戶標(biāo)識符的是。A)MainB)_0C)_intD)sizeof(15)以下選項中不能作為合法常量的是=A)J.234eO4B)1.234eO,4C)l.234e+4D)1.234e0(16)數(shù)字字符0的ASCII值為48,若有以下程序main(){chara=,V,b=,2,;printf("%c,",b++);printf("/d\n",b~a);)程序運行后的輸出結(jié)果是。A)3,2B)50,2C)2,2D)2,50(17)有以下程序mainO{intm=12,n=34;printf("%d%d”,m++,++n);printf(z,%d%d\n,z,n++,++m);)程序運行后的輸出結(jié)果是。A)12353514B)12353513C)12343514D)12343513(18)有定義語句:intb;charc[10]則正確的輸入語句是。A)scanf("%d%s”,&b,&c);B)scanf(z,%d%szz,&b,c);C)scanf b,c);D)scanf(/,%d%s,z,b,&c);(19)有以下程序main(){intm,n,p;scanf(//m=%dn=%dp=%d//,&m,&n,&p);printf(z,%d%d%d\n,z,m,n,p);)若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是oA)m=123n=456p=789B)m=123n=456p=789C)m=123,n=456,p=789D)123456789(20)有以下程序main(){inta,b,d=25;a=d/10%9;b=a&&(-l);printf("%d,%d\n”,a,b);)程序運行后的輸出結(jié)果是0A)6,1B)2,1C)6,0D)2,0(21)有以下程序main()(inti=l,j=2,k=3;if(i++==l&&(++j==3||k++==3))printf(/z%d%d%d\n//,i,j,k);)程序運行后的輸出結(jié)果是。A)123B)234C)223D)233(22)若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達(dá)式aA)1B)2C)3D)4(23)有以下程序main()(intp[8]={ll,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("刎\n",j);)程序運行后的輸出結(jié)果是.A)42B)45C)56D)60(24)有以下程序main()(chara[7]=*a0\0a0\0*;inti,j;i=sizeof(a);j=strlen(a);printf(/z%d%d\n*,i,j);)程序運行后的輸出結(jié)果是OA)22B)76C)72D)62(25)以下能正確定義?維數(shù)組的選項是。A)inta[5]={0,1,2,3,4,5};B)chara[]={0,1,2,3,4,5};C)chara={'A','B','C'};D)inta[5]="0123”;(26)有以下程序intfl(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main()inta=4,b=3,c=5,d=2,e,f,g;e=f2(fl(a,b),fl(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf(*%d,%d,%d\n”,e,f,g);)程序運行后的輸出結(jié)果是0A)4,3,7B)3,4,7C)5,2,7D)2,5,7(27)已有定義:chara[]="xyz",b[]={'x','y','z');,以下敘述中正確的是A)數(shù)組a和b的長度相同B)a數(shù)組長度小于b數(shù)組長度C)a數(shù)組長度大于b數(shù)組長度D)上述說法都不對(28)有以下程序voidf(int*x,int*y)]intt;t=*x:*x=*y;*y=t;)main()(inta[8]={l,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p{f(p,q);p++;q-;}for(i=0;i<8;i++)printf(*%d,*,a[i]);}程序運行后的輸出結(jié)果是O8,2,3,4,5,6,7,1,B)5,6,7,8,1,2,3,4,1,2,3,4,5,6,7,8,D)8,7,6,5,4,3,2,1,(29)有以下程序main()(inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printfa[l][i]);}程序運行后的輸出結(jié)果是.A)012B)123C)234D)345(30)以下敘述中錯誤的是oA)對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出B)數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變C)當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越界”的出錯信息D)可以通過賦初值的方式確定數(shù)組元素的個數(shù)(31)有以下程序ttdefineN20fun(inta口,intn,intm){inti,j;for(i=m;i>=n;i-)a[i+l]=a[i];)main()(inti,a[N]={l,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)printfa[i]);}程序運行后的輸出結(jié)果是OA)10234B)12344C)12334D)12234(32)有以下程序main(){inta[3][2]={0},(*ptr)[2],i,j;for(i=0;i<2;i++){ptr=a+i;scanfptr);ptr++;}for(i=0;i<3;i++){for(j=0;j<2;j++)printf("%2d”,a[i][j]);printf('\n");))若運行時輸入:123〈回車〉,則輸出結(jié)果是。A)產(chǎn)生錯誤信息B)10C)12D)10203020000030(33)有以下程序prt(int*m,intn){inti;for(i=0;i}main()(int= 2,3,4,5},i;prt(a,5);for(i=0;i<5;i++)printf("%d,",a[i]);}程序運行后的輸出結(jié)果是。A)1,2,3,4,5,B)2,3,4,5,6,C)3,4,5,6,7,D)2,3,4,5,1,(34)有以下程序mainO{inta[]={l,2,3,4,5,6,7,8,9,0},*p;for(p=a;p}程序運行后的輸出結(jié)果是OA)1,2,3,4,5,6,7,8,9,0,B)2,3,4,5,6,7,8,9,10,1,C)0,1,2,3,4,5,6,7,8,9,D)1,1,1,1,1,1,1,1,1,1,(35)有以下程序^defineP3voidF(intx){return(P*x*x);}main(){printf("%d\n”,F(3+5));}程序運行后的輸出結(jié)果是OA)192B)29C)25D)編譯出錯(36)有以下程序main(){intc=35;printf("%d\n”,c&c);}程序運行后的輸出結(jié)果是。A)0B)70C)35D)1(37)以下敘述中正確的是oA)預(yù)處理命令行必須位于源文件的開頭B)在源文件的一行上可以有多條預(yù)處理命令C)宏名必須用大寫字母表示D)宏替換不占用程序的運行時間(38)若有以下說明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯誤的是OA)data的每個成員起始地址都相同B)變量data所占的內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等C)程序段:data.a=5;printf("%f\n”,data,c);輸出結(jié)果為5.000000data可以作為函數(shù)的實參(39)以下語句或語句組中,能正確進(jìn)行字符串賦值的是oA)char*sp;*sp="right!”;B)chars[10];s=/,right!";C)chars[10];*s=*right!*;D)char*sp="right!”;(40)設(shè)有如下說明typedefstructST{longa;intb;charc[2];}NEW;則下面敘述中正確的是OA)以上的說明形式非法B)ST是一個結(jié)構(gòu)體類型C)NEW是?個結(jié)構(gòu)體類型D)NEW是一個結(jié)構(gòu)體變量(41)有以下程序main(){inta=l,b;for(b=l;b<=10;b++){if(a>=8)break;if(a%2==l){a+=5;continue;}a-=3;printf("%d\n”,b);)程序運行后的輸出結(jié)果是.A)3B)4C)5D)6(42)有以下程序main(){chars[]=/z159/z,*p;p=s;printf("%c”,*p++);printf("%c”,*p++);)程序運行后的輸出結(jié)果是。A)15B)16C)12D)59(43)有以下函數(shù)fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a-*b);)該函數(shù)的功能是oA)計算a和b所指字符串的長度之差B)將b所指字符串連接到a所指字符串中C)將b所指字符串連接到a所指字符串后面D)比較a和b所指字符串的大小(44)有以下程序main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<=i;j++)printf(*%4c*,**);for(j=;j<4;j++)printfC%4d/Z,num[i][j]);printf("\n");若要按以下形式輸出數(shù)組右上半三角1234678111216則在程序下劃線處應(yīng)填入的是A)i-1B)iC)i+1D)4-i(45)有以下程序point(char*p){p+=3;}main(){charb[4]={'a','b','c','d'},*p=b;point(p);printf(〃%c\n〃,*p);程序運行后的輸出結(jié)果是oA)aB)bC)cD)d(46)程序中若有如下說明和定義語句charfun(char*);main()(char*s="one”,a[5]={0},(*fl)()=fun,ch;以下選項中對函數(shù)fun的正確調(diào)用語句是oA)(*f1)(a);B)*f1(*s);C)fun(&a);D)ch=*f1(s);(47)有以下結(jié)構(gòu)體說明和變量定義,如圖所示:datanext datanext datanext ?IT .I ?IT >tp tqtrstructnode{intdata;structnode*next;}*p,*q,*r;現(xiàn)要將q所指結(jié)點從鏈表中刪除,同時要保持鏈表的連續(xù),以下不能完成指定操作的語句是oA)P->next=q->next;B)p->next=p->next->next;C)p->next=r;D)p=q->next;(48)以下對結(jié)構(gòu)體類型變量td的定義中,錯誤的是oA)typedefstructaaB)structaa{intn;{intn;floatm;floatm;}AA;}td;AAtd;structaatd;C)structD)struct{intn;{intn;floatm;floatm;}aa;}td;structaatd;(49)以下與函數(shù)fseek(fp,OL,SEEK_SET)有相同作用的是。A)feof(fp)B)ftell(fp)C)fgetc(fp)D)rewind(fp)(50)有以下程序#includevoidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,"w");fputs(str,fp);fclose(fp);)main()(WriteStr("tl.dat","start");WriteStr("tl.dat","end");)程序運行后,文件tl.dat中的內(nèi)容是oA)startB)endC)startendD)endrt二、填空題(每空2分,共40分)請將每空的正確答案寫在【1】至[20]序號的橫線上,答在試卷上不得分。(1)某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【1】個葉子結(jié)點。(2)在面向?qū)ο蠓椒ㄖ?,類的實例稱為[2]o(3)診斷和改正程序中錯誤的工作通常稱為【3】。(4)在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個二維表稱為【4】。(5)問題處理方案的正確而完整的描述稱為區(qū)。(6)以下程序運行時,若從鍵盤輸入:102030〈回車〉,輸出的結(jié)果是[6】#includemain(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf(,,%d%d%d\n/,,i,j,k);)(7)以下程序運行后的輸出結(jié)果是[7】。#defineS(x)4*x*x+lmain(){inti=6,j=8;printf(",%d\n,/,S(i+j)):(8)以下程序運行后的輸出結(jié)果是一【8】omain(){inta=3,b=4,c=5,t=99;if(bif(aprintf(z/%d%d%d\nz\a,b,c);)(9)以下程序運行后的輸出結(jié)果是一【9】,main(){inta,b,c;a=10;b=20;c=(a%b<l)||(a/b>l);printf(z,%d%d%d\n”,a,b,c);)(10)以下程序運行后的輸出結(jié)果是.【10】。main(){charcl,c2;for(cl=,0),c2=,9,;clprintf("\n");)(11)已知字符A的ASCII代碼值為65,以下程序運行時若從鍵盤輸入:B33<回車),則輸出結(jié)果是.【11】。#includemain(){chara,b;a=getchar();scanf&b);A'+'O';b=b*2;printf(z/%c%c\n”,a,b);}(12)以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值。請?zhí)羁?。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,l}},b[3],i;fun(3,4,a,b);for(i=0;i<3;i++)printf("%4d",b[i]);printf('\n");}voidfun(intm,intn,intar[][4],int*br){inti,j,x;for(i=0;i{x=ar[i][0];for(j=0;j【12】二x;})(13)以下程序運行后的輸出結(jié)果是【1310voidswap(intx,inty){intt;t=x;x=y;y=t;printfC%d%d”,x,y);)main(){inta=3,b=4;swap(a,b);printf("%d%d”,a,b);)(14)以下程序運行后的輸出結(jié)果是【14]。Sincludevoidfun(char*s,intp,intk){inti;for(i=p;i}main(){chars[]="abcdefg”;fun(s,3,strlen(s));puts(s);}(15)以下程序運行后的輸出結(jié)果是【15】oSincludemain(){charch□=”abc〃,x[3][4];inti;for(i=0;i<3;i++)strcpy(x[i],ch);for(i=0;i<3;i++)printf&x[i][i]);printf(〃\n〃);)(16)以下程序運行后的輸出結(jié)果是一【16】。fun(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);)main(){inti,a=5;for(i=0;i<3;i++)printfi,fun(a));printf('\n");)(17)以下程序運行后的輸出結(jié)果是structNODE{intk;structNODE*1ink;);main(){structNODEm[5],*p=m,*q=m+4;inti=0;while(p!=q){p->k=++i;p++;q->k=i++;q-;)q->k=i;for(i=0;i<5;i++)printf("%d",m[i].k);printf('\n");)(18)以下程序中函數(shù)huiwen的功能是檢查一個字符串是否是回文,當(dāng)字符串是回文時,函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)輸出,所謂回文即正向與反向的拼寫都一樣,例如:adgdao請?zhí)羁铡?includechar*huiwen(char*str){char*pl,*p2;inti,t=0;pl=str;p2=[18];for(i=0;i<=strlen(str)/2;i++)if(*pl++!=*p2-){t=l;break;}if【19】return("yes!");elsereturn("no!〃);)main(){charstr[50];printf("Input:");scanf(〃%s〃,str);printf(〃%s\n〃,[20]);2005年4月全國計算機(jī)等級考試二級C語言筆試答案一、選擇題1-5DBDCA6-10CBDDC11-15BACDB16-20CABAB21-25DABCB26-30ACDDC31-35CBBAD36-40CDCDC41-45BADBA46-50ADCDB二、填空題(1)19 (2)對象 (3)程序調(diào)試 (4)關(guān)系(5)算法(6)10300(7)81 (8)4599 (9)10200 (10)0918273645 (11)1B(12)br[i](13)4334 (14)abcfg(15)abcbcc(16)010111212(17)13431 (18)str+strlen(str)-l(19)t==0或!t(20)huiwen(str)2005年9月全國計算機(jī)等級考試二級C語言筆試試題及答案一、選擇題(1—10每題2分,11—50每題1分,共60分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列敘述中正確的是A.程序設(shè)計就是編制程序B.程序的測試必須由程序員自己去完成C.程序經(jīng)調(diào)試改錯后還應(yīng)進(jìn)行再測試D.程序經(jīng)調(diào)試改錯后不必進(jìn)行再測試(2)下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是A.順序存儲的有序線性表B.線性鏈表C.二叉鏈表D.有序線性鏈表(3)下列關(guān)于棧的描述正確的是A.在棧中只能插入元素而不能刪除元素B.在棧中只能刪除元素而不能插入元素C.棧是特殊的線性表,只能在一端插入或刪除元素D.棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素(4)下列敘述中正確的是A.一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)B.數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)不影響數(shù)據(jù)處理的效率一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率(5)下列描述中正確的是A.軟件工程只是解決軟件項目的管理問題B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題(6)在軟件設(shè)計中,不屬于過程設(shè)計工具的是PDL(過程設(shè)計語言)PAD圖N-S圖DFD圖(7)下列敘述中正確的是A.軟件交付使用后還需要進(jìn)行維護(hù)B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)C.軟件交付使用后其生命周期就結(jié)束D.軟件維護(hù)是指修復(fù)程序中被破壞的指令(8)數(shù)據(jù)庫設(shè)計的根本目標(biāo)是要解決A.數(shù)據(jù)共享問題B.數(shù)據(jù)安全問題C.大量數(shù)據(jù)存儲問題D.簡化數(shù)據(jù)維護(hù)(9)設(shè)有如下關(guān)系表:R S T則下列操作中正確的是()0A)T=RCSB)T=RUSC)T=RXSD)T=R,S(10)數(shù)據(jù)庫系統(tǒng)的核心是A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員(11)以下敘述中錯誤的是A.用戶所定義的標(biāo)識符允許使用關(guān)鍵字B.用戶所定義的標(biāo)識符應(yīng)盡量做到“見名知意”C.用戶所定義的標(biāo)識符必須以字母或下劃線開頭D.用戶定義的標(biāo)識符中,大、小寫字母代表不同標(biāo)識(12)以下敘述中錯誤的是A.C語句必須以分號結(jié)束B.復(fù)合語句在語法上被看作一條語句C.空語句出現(xiàn)在任何位置都不會影響程序運行D.賦值表達(dá)式末尾加分號就構(gòu)成賦值語句(13)以下敘述中正確的是A.調(diào)用printf函數(shù)時,必須要有輸出項B.使用putchar函數(shù)時,必須在之前包含頭文件stdio.hC.在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出D.調(diào)用getchar函數(shù)讀入字符時,可以從鍵盤上輸入字符所對應(yīng)的ASCII碼(14)以下關(guān)于函數(shù)的敘述中正確的是A.每個函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))B.每個函數(shù)都可以被單獨編譯C.每個函數(shù)都可以單獨運行D.在一個函數(shù)內(nèi)部可以定義另一個函數(shù)(15)若有語句:char*line[5];,以下敘述中正確的是A.定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為char的指針變量B.定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組C.定義line是一個指針數(shù)組,語句中的*號稱為間址運算符D.定義line是一個指向字符型函數(shù)的指針(16)有以下程序段typedefstructNODE{intnum;structNODE*next;}OLD;以下敘述中正確的是A.以上的說明形式非法NODE是…個結(jié)構(gòu)體類型OLD是一個結(jié)構(gòu)體類型OLD是一個結(jié)構(gòu)體變量(17)以下敘述中錯誤的是C語言中對二進(jìn)制文件的訪問速度比文本文件快C語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲數(shù)據(jù)C.語句FILEfp;定義了一個名為fp的文件指針D.C語言中的文本文件以ASCII碼形式存儲數(shù)據(jù)(18)當(dāng)把以下四個表達(dá)式用作if語句的控制表達(dá)式時,有一個選項與其它三個選項含義不同,這個選項是k%2k%2==l(k%2)!=0!k%2==l(19)以下不能正確計算代數(shù)式值的C語言表達(dá)式是l/3*sin(l/2)*sin(l/2)sin(0.5)*sin(0.5)/3pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)(20)以下能正確定義且賦初值的語句是intnl=n2=10;charc=32;floatf=f+l.1;doublex=12.3E2.5;(21)以下程序的功能是:給r輸入數(shù)據(jù)后計算半徑為r的圓面積s。程序在編譯時出錯。main()/*Beginning*/{intr;floats;scanf("刎",&r);s=*p*r*r;printf("s=/f\n”,s);)出錯的原因是A.注釋語句書寫位置錯誤B.存放圓半徑的變量r不應(yīng)該定義為整型C.輸出語句中格式描述符非法D.計算圓面積的賦值語句中使用了非法變量(22)設(shè)有定義:intk=l,m=2;floatf=7;,則以下選項中錯誤的表達(dá)式是
k=k>=k-k++k%int(f)k>=f>=m(23)設(shè)有定義:inta=2,b=3,c=4;,則以下選項中值為0的表達(dá)式是(!a==l)&&(!b==O)(aa&&ba||(b+b)&&(c-a)(24)有以下程序段intk=0,a=l,b=2,c=3;k=ac?c:k;執(zhí)行該程序段后,k的值是A.3B.2C.1D.0(25)設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語句if(a<b)if(c==d) y=0;elsey=l;該語句所表示的含義是a<bil.c^da^b且3d。之a(chǎn)<bil.c^da^b且3d。之6且cwd且a<AJic*d且a<AJic*d° 〃<6且。=1D)1y=,ic*d(26)有以下程序段intn,t=l,s=0;scanf&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)(27)設(shè)變量已正確定義,則以下能正確計算f=n!的程序段是f=0;for(i=l;i<=n;i++)f*=i;f=l;for(i=l;i<=n;i++)f*=i;f=l;for(i=l;i>l:i++)f*=i;f=l;for(i=n;i>=2;i )f*=i;(28)設(shè)有定義:intnl=0,n2,*p=&n2,*q=&nl;,以下賦值語句中與n2=nl;語句等價的是*p=*q;p=q;*p=&nl;p=*q;(29)若有定義:intx=0,*p=&x:,則語句printf("%d\n",*p);的輸出結(jié)果是A.隨機(jī)值0x的地址p的地址(30)設(shè)函數(shù)fun的定義形式為voidfun(charch,floatx){…}則以下對函數(shù)fun的調(diào)用語句中,正確的是fun("abc”,3.0);t=funCD',16.5);fun('65',2.8);fun(32,32);(31)有以下程序main(){inta[10]={l,2,3,4,5,6,7,8,9,10),*p=&a[3],*q=p+2;printf("刎\n",*p+*q);)程序運行后的輸出結(jié)果是161086(32)有以下程序main(){charp[]={'a,,b',,c'},qD=〃abc”;printf(z,%d%d\n”,sizeof(p),sizeof(q)););程序運行后的輸出結(jié)果是44333443(33)有以下程序#definef(x)(x*x)main(){intil,i2;il=f(8)/f(4);i2=f(4+4)/f(2+2);printf(,z%d,%d\n”,i1,i2);程序運行后的輸出結(jié)果是64,284,44,364,64(34)有以下程序main(){charal-M',a2=*m';printf (al,a2));}以下敘述中正確的是A.程序輸出大寫字母MB.程序輸出小寫字母mC.格式說明符不足,編譯出錯D.程序運行時產(chǎn)生出錯信息(35)有以下程序#includemain(){charcl='l',c2='2);cl=getchar();c2=getchar();putchar(cl);putchar(c2);)當(dāng)運行時輸入:a<回車〉后,以下敘述正確的是A.變量cl被賦予字符a,c2被賦予回車符B.程序?qū)⒌却脩糨斎氲?個字符C.變量cl被賦予字符a,c2中仍是原有字符2D.變量cl被賦予字符a,c2中將無確定值(36)有以下程序main(){intk=5,n=0;while(k>0){switch(k){default:break;:n+=k;::n+=k;)k一;)printf(%d\n”,n);)程序運行后的輸出結(jié)果是A.0467(37)有以下程序main(){inta[]={2,4,6,8,10},y=0,x,*p;p=&a[l];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);)程序運行后的輸出結(jié)果是10111415(38)有以下程序voidsort(inta口,intn){inti,j,t;for(i=0;ifor(j=i+l;jif(a[i])main(){intaa[10]={l,2,3,4,5,6,7,8,9,10},i;sort(aa+2,5);for(i=0;i<10;i++)printf("%d,”,aa[i]);printf("\n");)程序運行后的輸出結(jié)果是TOC\o"1-5"\h\z1,2,3,4,5, 6, 7,8,9, 10,1,2,7,6,3, 4, 5,8,9, 10,1,2,7,6,5, 4, 3,8,9, 10,1,2,9,8,7, 6, 5,4,3, 10,(39)有以下程序voidsum(inta[]){a[0]=a[-l]+a[l]:}main(){inta[10]={l,2,314,5,6,7,8,9,10};sum(&a[2]);printf("%d\n",a[2]);)程序運行后的輸出結(jié)果是6758(40)有以下程序voidswapl(intcOL],intcl[]){intt;t=c0[0];c0[0]=cl[0];cl[0]=t;)voidswap2(int*c0,int*cl){intt;t=*c0;*c0=*cl;*cl=t;)main(){inta[2]={3,5},b[2]={3,5};swapl(a,a+1);swap2(&b[0],&b[l]);printfC%d%d%d%d\n*,a[0],a[l],b[0],b[l]):)程序運行后的輸出結(jié)果是TOC\o"1-5"\h\z3 5 5 35 3 3 53 5 3 55 3 5 3(41)有以下程序#includemain(){charp[]={'a','b','c'},q[10]={'a','b','c'};printf(w%d%d\n”,strlen(p),strlen(q));)以下敘述中正確的是A.在給p和q數(shù)組置初值時,系統(tǒng)會自動添加字符串結(jié)束符,故輸出的長度都為3B.由于p數(shù)組中沒有字符串結(jié)束符,長度不能確定;但q數(shù)組中字符串長度為3C.由于q數(shù)組中沒有字符串結(jié)束符,長度不能確定;但P數(shù)組中字符串長度為3D.由于p和q數(shù)組中都沒有字符串結(jié)束符,故長度都不能確定(42)有以下程序,其中函數(shù)f的功能是將多個字符串按字典順序排序Sincludevoidf(char*p[],intn){char*t;inti,j;for(i=0;ifor(j=i+l;jif(strcmp(p[i],p[j])>0){t=p[i];p[i]=p[j];p[j]=t;}main(){char*p[5]={"abc","aabdfg","abbd","dcdbe","cd"};f(p,5);printf(z,%d\nz,,strlen(p[l]));)程序運行后的輸出結(jié)果是2364(43)有以下程序#includevoidf(char*s,char*t){chark;k=*s;*s=*t;*t=k;s++;t—;if(*s)f(s,t);)main(){charstr[10]=,,abcdefgz/,*p;p=str+strlen(str)/2+1;f(p,p-2);printf(zz%s\nz,,str);}程序運行后的輸出結(jié)果是abcdefggfedcbagbcdefaabedcfg(44)有以下程序floatfl(floatn){returnn*n;}floatf2(floatn){return2*n;}main(){float(*pl)(float),(*p2)(float),(*t)(float),yl,y2;pl=f1;p2=f2;yl=p2(pl(2.0));t=pl;pl=p2;p2=t;y2=p2(pl(2.0));printf("%3.Of,%3.0f\n”,yl,y2);)程序運行后的輸出結(jié)果是8,168,816,164,8(45)有以下程序inta=2;intf(intn){staticinta=3;intt=0;if(n%2){staticinta=4;t+=a++;}else{staticinta=5;t+=a++;}returnt+a++;)main(){ints=a,i;for(i=0;i<3;i++)s+=f(i);printf(飛d\n”,s);)程序運行后的輸出結(jié)果是26282924(46)有以下程序#includestructSTU{intnum;floatTotalScore;};voidf(structSTUp){structSTUs[2]={{20044,550},{20045,537}};p.num=s[l].num;p.TotalScore=s[lLTotalScore;)main(){structSTUs[2]={{20041,703},{20042,580}};f(s[0]);printf("%d%3.0f\n”,s[0].num,s[0].TotalScore);)程序運行后的輸出結(jié)果是20045537200445502004258020041703(47)有以下程序#includestructSTU{charname[10];intnum;};voidf(char*name,intnum){structSTUs[2]={{"SunDan*,20044},{*Penghua*,20045}};num=s[0].num;strcpy(name,s[0].name);)main(){structSTUs[2]={{"YangSan”,20041},{"LiSiGuo”,20042}},*p;p=&s[l];f(p->name,p->num);printf(,z%s%d\n”,p->name,p->num);)程序運行后的輸出結(jié)果是SunDan20042SunDan20044LiSiGuo20042YangSan20041(48)有以下程序structSTU{charnameL10];intnum;floatTotalScore;};voidf(structSTU*p){structSTUs[2]={{"SunDan",20044,550},{"Penghua",20045,537}},*q=s;++p;++q;*p=*q;}main(){structSTUs[3]={{"YangSan",20041,703},{,zLiSiGuo,z,20042,580});f(s);printf(*%s%d%3.Of\n*,s[l].name,s[l].num,s[l].TotalScore);)程序運行后的輸出結(jié)果是SunDan20044550Penghua20045537LiSiGuo20042580SunDan20041703(49)以下程序的功能是進(jìn)行位運算main(){unsignedchara,b;a=7'3;b=?4&3;printf(,z%d%d\n”,a,b);)程序運行后的輸出結(jié)果是43737040(50)有以下程序#includemain(){FILE*fp;inti,k,n;fp=fopen("data.dat","w+");for(i=l;i<6;i++){fprintf(fp,ff%d",i);if(i%3==0)fprintf(fp/\nO;)rewind(fp);fscanf(fp,w%d%dz/,&k,&n);printf("%d%d\n”,k,n);fclose(fp);)程序運行后的輸出結(jié)果是00123451412二、填空題(每空2分,共40分)請將每一個空的正確答案寫在答題卡【1】至[20]序號的橫線上,答在試卷上不得分。(1)數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨立性最高的階段是LJ。(2)算法復(fù)雜度主要包括時間復(fù)雜度和【2】復(fù)雜度。(3)在進(jìn)行模塊測試時,要為每個被測試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接模塊(樁模塊)。其中_Q]_的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。一棵二叉樹第六層(根結(jié)點為第一層)的結(jié)點數(shù)最多為【4】個。(5)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),循環(huán)隊列屬于【5】結(jié)構(gòu)。(6)以下程序運行后的輸出結(jié)果是16】。main(){intx=0210;printf("為X'n",x);)(7)以下程序運行后的輸出結(jié)果是【7】0main(){inta=l,b=2,c=3;if(c=a)printf("為d\n”,c);elseprintf("%d\n",b);}(8)已有定義:double*p;,請寫出完整的語句,利用malloc函數(shù)使p指向一個雙精度型的動態(tài)存儲單元【8】。(9)以下程序運行后的輸出結(jié)果是[9】。main(){charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);printf(,z%d%f\n”,n,x);}(10)以下程序的功能是計算:s=l+12+123+1234+12345o請?zhí)羁?。main(){intt=0,s=0,i;for(i=l;i<=5;i++){t=i+[10];s=s+t;}printf("s二%d\n〃,s);)(11)已知字母A的ASCII碼為65。以下程序運行后的輸出結(jié)果是【11】。main(){chara,b;a='A'+'5'」3';b=a+,6'」2';printf(zz%d%c\nz,,a,b);)(12)有以下程序intsub(intn){return(n/10+n);}main(){intx,y;scanf(z,%d,z,&x);y=sub(sub(sub(x)));printf(〃%d\rT,y);)若運行時輸入:1234<回車>,程序的輸出結(jié)果是.【12】。(13)以下函數(shù)sstrcatO的功能是實現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:s所指字符串為abed,t所指字符串為efgh,函數(shù)調(diào)用后s所指字符串為abcdefgh。請?zhí)羁铡?includevoidsstreat(char*s,char*t){intn;n=strlen(s);while(*(s+n)=【13]){s++;t++;})(14)以下程序運行后的輸出結(jié)果是.【14】。#includechar*ss(char*s){char*p,t;p=s+l;t=*s;while(*p){*(p-l)=*p;p++;}returns;main(){char*p,str[10]="abcdefgh”;p=ss(str);printf("/s\n",p);)(15)以下程序運行后的輸出結(jié)果是【15】。intf(inta[],intn){if(n>=1)returnf(a,nT)+a[nT];elsereturn0;)main(){intaa[5]={l,2,3,4,5},s;s=f(aa,5);printf("%d\n”,s);)(16)以下程序運行后的輸出結(jié)果是【16】。structNODE{intnum;structNODE*next;);main(){structNODEs[3]={{1,''0'},{2,'\0'},{3,'\0'}},*p,*q,*r;intsum=0;s[0].next=s+l;s[l].next=s+2;s[2].next=s;p=s;q=p->next;r=q->next;sum+=q->next->num;sum+=r->next->next->num;printf("/d\n",sum);)(17)以下程序的功能是輸出如下形式的方陣:13141516910111256781234請?zhí)羁铡ain(){inti,j,x;for(j=4;.j[171;j—){for(i=l;i<=4;i++){x=(j-l)*4+【18];printf("M",x);)printf('\n");))(18)以下函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。#defineN4voidrotate(inta[][N],intb[][N]){inti,j;for(i=0;i{bLi][N-l]=[19];【20]=a[N-l][i]:}2005年9月全國計算機(jī)等級考試二級C語言筆試答案一、題答案1-5CACDC6-10DAABB11-15ACBBA16-20CCDAB21-25DCABC26-30DDABD31-35BCCAA36-40DCCAA41-45BCBAC46-50DABAD二、填空題(1)數(shù)據(jù)庫系統(tǒng)(2)空間(3)驅(qū)動模塊(4)32(5)存儲結(jié)構(gòu)881p=(double*)malloc(sizeof(double))220t*1067G10*tbcdefgha155>06a[0]Li]b[i]LO]2006年4月全國計算機(jī)等級考試二級C語言筆試試題及答案一、選擇題(1?10每題2分,11?50每題1分,共60分)下列各題A、B、C、D四個選項中,只有一?個選項是正確的,請將正確選項涂寫在答題卡的相應(yīng)位置上,答在試卷上不得分。(1)下列選項中不屬于結(jié)構(gòu)化程序設(shè)計方法的是()oA)自頂向下B)逐步求精C)模塊化D)可復(fù)用(2)兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程序稱為()oA)耦合度B)內(nèi)聚度C)復(fù)雜度D)數(shù)據(jù)傳輸特性(3)下列敘述正確的是()oA)軟件測試應(yīng)由程序開發(fā)者來完成B)程序經(jīng)調(diào)試后?般不需要再測試C)軟件維護(hù)只包括對程序代碼的維護(hù)D)以上三種說法都不對(4)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()oA)隊列B)棧C)雙向鏈表 D)二叉樹(5)下列敘述中正確的是()oA)線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)B)棧與隊列是非線性結(jié)構(gòu)C)雙向鏈表非線性結(jié)構(gòu)D)只有根節(jié)點的二叉樹是線性結(jié)構(gòu)(6)對如下二叉樹A+進(jìn)行后序遍歷的結(jié)果為()。A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度為7的滿二叉樹中,葉子節(jié)點的個數(shù)為()oA)32B)31C)64D)63“商品”與“顧客”兩個實體集之間的聯(lián)系一般是()oA)一對一B)一對多C)多對一D)多對多(9)在E-R圖中,用來表示實體的圖形是()oA)矩形B)橢圓形C)菱形D)三角形(10)數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。A)DB包含DBS和DBMSB)DBMS包含DB和DBSC)DBS包含DB和DBMSD)沒有任何關(guān)系(11)以下不合法的用戶標(biāo)識符是()□A)j2_KEYB)DoubleC)4dD)_8_(12)以下不合法的數(shù)值常量是()o
A)OilB)leiC)8.OEO.5D)Oxabcd(13)以下不合法的字符常量是()oA),\018,B)'\"' C)'\\'D),\xcc,(14)表達(dá)式3.6-5/2+1.2+5%2的值是()。A)4.3B)4.8C)3.3D)3.8(15)以下能正確定義字符串的語句是()oA)charstr□={'\064'};B)charstr="\x43";C)charstr="; D)charstr□="\0";(16)以下數(shù)組定義中錯誤的是()oA)intx[][3]={0}; B)intx[2][3]={{1,2},{3,4},{5,6}};C)intx[][3]={{1,2,3},{4,5,6}};D)intx[2][3]={1,2,3,4,5,6};(17)若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)()oA)getc()B)gets()C)getchar()D)scanf()(18)以下四個程序中,完全正確的是()o#include<stdio.h>main();#include<stdio.h>main();{/*programming*/printf("programming!\n〃);}C)#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n〃);}Sinclude<stdio.h>main(){/*/programming/*/printf(^programming!\nz,)D)#include<stdio.h>main(){/*programming*/printf(^programming!\n,z)(19)若有定義:floatx=1.5;inta=l,b=3,c=2;,則正確的switch語句是()。A)switch(x) B)switch(int(x)){case1.0:printf(,z*\n,z); {case1:printf('*\n〃);case2.0:printf('**\n〃);} case2:printf(〃**\n〃);}C)switch(a+b)D)switch(a+b){case1:printf("*\n"); {case1:printf(〃*\n〃);case2+1:printf("**\n〃);} casec:printf(〃**\n〃);}(20)若各選項中所用變量已正確定義,函數(shù)fun中通過return語句返回一個函數(shù)值,以下選項中錯誤的程序是()oTOC\o"1-5"\h\zA)mian() B)floatfun(inta,intb){ }{ x=fun(2,10); } main()floatfun(inta,intb){ } { x=f (i,j); }C)floatfun(int,int); D)main()main() {floatfun(inti,intj);{ x=fun(2, 10); } x=fun(i,j); }floatfun(inta,intb){ } floatfun(inta,intb){……}(21)在以下給出的表達(dá)式中,與while(E)中的(E)不等價的表達(dá)式是()oA)(!E==0)B)(E>0||E<0)C)(E=0)D)(E!=0)(22)要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時結(jié)束循環(huán),若變量已正確定義以下正確的程序段是()owhile((ch=getchar())!=,N*)printfch);while(ch=getchar()!=,N*)printf("%c”,ch);while(ch=getchar()==,NJ)printfch);while((ch=getchar())=='N')printf(,/%c,/,ch);(23)已定義以下函數(shù)()ointfun(int*p){return*p;}fun函數(shù)返回值是()oA)不確定的值 B)一個整數(shù)C)形參p中存放的值D)形參p的地址值(24)若有說明語句:double*p,a;,則能通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是()oA)*p=&a;scanfp); B)*p=&a;scanfp);C)p=&a;scanf("機(jī)*p); D)p=&a;scanf p);(25)現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向一個鏈表連續(xù)的三個節(jié)點。structnode{chardata;structnode*next;}*P,*q,*r;datanext datanext datanextAI~~I HBI——I HCI—I-?tp tqtr現(xiàn)要將q和r所指向的節(jié)點前后交換位置,同時要保持鏈表的連續(xù),以下不能完成此操作的語句是()oq->next=r->next;p->next=r;r->next=q;p->next=r;q->next=r->next;r->next=q;q->next=r->next;r->next=q;p->next=r;r->next=q;p->next=r;q->next=r->next;(26)有以下程序段:structst{intx;int*y;}*pt;inta[]={l,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項中表達(dá)式的值為11的是()oA)*pt->yB)pt->xC)++pt->xD)(pt++)->x(27)設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為A)EOFB)非0值C)0D)NULL(28)設(shè)有以下語句inta=l,b=2,c;c=a(b<<2);執(zhí)行后,c的值為()oA)6B)7C)8D)9(29)有以下程序:#include<stdio.h>main()(charcl,c2,c3,c4,c5,c6;scanf("%c%c%c%c”,&cl,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(cl); putchar(c2);printf(*%c%c\n*,c5,c6);)程序運行后,若從鍵盤輸入(從第一列開始)123<回車)45678〈回車〉則輸出結(jié)果是()oA)1267B)1256C)1278D)1245(30)有以下程序:main()(inty=10;while(y-);printf("y=%d\n");)程序執(zhí)行后的輸出結(jié)果是()OA)y=0 B)y=-lC)y=l D)while構(gòu)成無限循環(huán)(31)有以下程序:main(){inta=0,b=0,c=0,d=0;if(a=l)b=l;c=2;elsed=3;printf("%d,%d,%d,%d\n,z,a,b,c,d);)程序輸出()oA)0,1,2,OB)0,0,0,301,1,2,OD)編譯有錯(32)有以下程序:main(){inti,j,x=0;for(i=0;i<2;i++)x++;for(j=0;j<=3;j++)if(j%2)continue;x++;)x++;)printf("x=%d\n”,x);)程序執(zhí)行后的輸出結(jié)果是()oA)x=4B)x=8C)x=6D)x=12(33)有以下程序:intfunl(doublea){returna*=a;}intfun2(doublex,doubley)(doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+b);}main(){doublew;w=fun2(1.1,2.0); }程序執(zhí)行后變量w中的值是()oA)5.21B)5C)5.0D)0.0(34)有以下程序:main(){inti,t[][3]={9,8,7,6,5,4,3,2,1);for(i=0;i<3;i++)printf("%d”,t[2-i][i]);)程序執(zhí)行后的輸出結(jié)果是()oA)753B)3570369D)751(35)有以下程序:fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i]L0]=-T')n++;returnn;)main(){charstr[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};printf(*%d\n*,fun(str));程序執(zhí)行后的輸出結(jié)果是()oA)1B)2C)3D)0(36)有以下程序:main(){inti,s=0,t[]={l,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n〃,s);)程序執(zhí)行后的輸出結(jié)果是()oA)45B)20C)25D)36(37)有以下程序:voidfunl(char*p){char*q;q=p;while(*q!='\0'){ (*q)++;q++;})main(){chara[]={"Program"},*p;p=&a[3];funl(p);printf("%s\n”,a);)程序執(zhí)行后的輸出結(jié)果是()oA)ProhsbnB)PrphsbnC)ProgsbnD)Program(38)有以下程序:voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;)main(){char*sl="abc",*s2=“123";swap(si,s2);printf(〃%s,%s\n〃,si,s2);)程序執(zhí)行后的輸出結(jié)果是()oA)123,abcB)abc,123C)Ibc,a23D)321,cba(39)有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-l));)main(){intx;scanf(〃%d”,&x);x=fun(x);printf(z,%d\n,z,x);執(zhí)行程序時,給變量X輸入10,程序的輸出結(jié)果是()oA)55B)54C)65D)45(40)有以下程序:intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;)main(){inta[]={l,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf(飛d\n”,s);)程序執(zhí)行后的輸出結(jié)果是()oA)45B)50C)60D)55(41)有以下程序:main(){union{charch[2];intd;}s;s.d=0x4321;printf(/z%x,%x\n〃,s,ch[0],s.ch[l]);)在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是()oA)21,43B)43,21C)43,00D)21,00(42)有以下程序:main(){char*p[]={"3697","2584"};inti,j;longmun=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if(p[i][j]-0*)%2)mun=10*mun+p[i][j]-0';j+=2;))printf("%d\n",mun);)程序執(zhí)行后的輸出結(jié)果是()oA)35 B)37C)39D)3975(43)執(zhí)行以下程序后,text.txt文件的內(nèi)容是(若文件能正常打開)#include<stdio.h>main(){FILE*fp;charsl="Fortran",*s2="Basic”;if((fp=fopen("test,txt","wb"))==NULL){printf("Can'topentest,txtfile");exit⑴;}fwrite(sl,7,1,fp);/*把從地址si開始的7個字符寫到fp所指文件中*/fseek(fp,OL,SEEK-SET);/*文件位置指針移到文件開頭*/fwrite(s2,5,1,sp);fclose(fp);)A)BasicanB)BasicFotranC)BasicD)FortranBasic(44)以下敘述中錯誤的是()oC語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序C程序經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進(jìn)制機(jī)器指令文件C)用C語言編寫的程序稱為源程序,它以ASCII代碼形式放在一個文本文件中D)語言中的第一條可執(zhí)行語句和非執(zhí)行語句最終被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令(45)以下敘述中錯誤的是()oA)算法正確的程序最終?定會結(jié)束B)算法正確的程序可以有零個輸出C)算法正確的程序可以有零個輸入D)算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果(46)以下敘述中錯誤的是()oA)C程序必須由一個或一個以上的函數(shù)組成B)函數(shù)調(diào)用可以作為一個獨立的語句存在C)若函數(shù)有返回值,必須通過return語句返回D)函數(shù)形參的值也可以傳回對應(yīng)的實參(47)設(shè)有以下定義和語句()ocharstr[20]="Program",*p;p=str;則以下敘述中正確的是()o*p與str[0]中的值相等str與p的類型完全相同str數(shù)組長度和p所指向的字符串長度相等D)數(shù)組str中存放的內(nèi)容和指針變量p中存放的內(nèi)容相同(48)以下敘述中錯誤的是()。A)C程序中的#include和#define行均不是C語句B)除逗號運算符外,賦值運算符的優(yōu)先級最低C程序中,j++是賦值語句C程序中,+、-、*、/、%號是算術(shù)運算符,可用于整型和實型的運算(49)以下敘述中正確的是()oA)預(yù)處理命令行必須位于C源程序的起始位置B)在C語言中,預(yù)處理命令行都以開頭C)每個C程序必須在開頭包含預(yù)處理命令行:#include<stdio.h>D)C語言的預(yù)處理不能實現(xiàn)宏定義和條件編譯的功能(50)以下敘述中錯誤的是()oA)可以通過typedef增加新的類型B)可以用typedef將已存在的類型用一個新的名字來代表C)用typedef定義新的類型名后,原有類型名仍有效D)用typedef可以為各種類型起別名,但不能為變量起別名二、填空題(每空2分,共40分)請將每一個空的正確答案寫在答題卡【1】至[20]序號的橫線上,答在試卷上不得分。(1)對長度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為JLLL。(2)在面向?qū)ο蠓椒ㄖ衘_LU_描述的是具有相似屬性與操作的一組對象。(3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個二維表稱一-個【3】。(4)程序測試分為靜態(tài)分析和動態(tài)測試。其中【4】是指不執(zhí)行程序,而只是對程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。(5)數(shù)據(jù)獨立性分為邏輯獨立性與物理獨立性。當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時其邏輯結(jié)構(gòu)可以不變,因此基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【5】。(6)若變量a、b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請寫出完整的輸出語句【6】。(7)以下程序用于判斷a、b、c能否構(gòu)成三角形,若能則輸出YES,否則輸出NOo當(dāng)a、b、c輸入三角形三條邊的長時,確定a、b、c能構(gòu)成三角形的條件是需同時滿足三條件:a+b>c,a+c>b,b+c〉a。請?zhí)羁?。main(){floata,b,c;scanfC%f%f%f*,&a,&b,&c);if(17】)urintf("YES'n"); /*a.b.c能構(gòu)成三角形*/elseprintf("N0\n"); /*a.b.c不能構(gòu)成三角形*/)(8)以下程序的輸出結(jié)果是[8】。main(){inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;for(i=0;1<3;i++)s+=a[i][i]+a[i][3-i-l];printf("%d\n",s);)(9)當(dāng)運行以下程序時,輸入abed,程序的輸出結(jié)果是:[9]oinsert(charstr[]){
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年重慶建筑工程職業(yè)學(xué)院單招職業(yè)傾向性考試模擬測試卷附答案
- 2026年青海省玉樹藏族自治州單招職業(yè)傾向性測試題庫附答案
- 2026年初級經(jīng)濟(jì)師之初級建筑與房地產(chǎn)經(jīng)濟(jì)考試題庫300道含答案(滿分必刷)
- 2026年教師資格之中學(xué)教育知識與能力考試題庫300道及參考答案【培優(yōu)b卷】
- 2026年初級管理會計之專業(yè)知識考試題庫300道【奪冠系列】
- 2024年泰來縣招教考試備考題庫必考題
- 2025年西安雁塔區(qū)中醫(yī)醫(yī)院招聘考試參考題庫附答案
- 2026年抖音考試題庫(真題匯編)
- 2026年廣州醫(yī)科大學(xué)附屬口腔醫(yī)院招聘(一)考試題庫附答案
- 2024年澤庫縣幼兒園教師招教考試備考題庫含答案
- 透水磚施工工藝及技術(shù)交底文檔
- 暈針的護(hù)理及防護(hù)
- 公路工程試驗檢測實施細(xì)則22
- 阿司匹林腸溶片
- 2024包頭輕工職業(yè)技術(shù)學(xué)院工作人員招聘考試試題及答案
- 海上應(yīng)急搜救預(yù)案
- 勞動合同漲工資協(xié)議
- 2025年內(nèi)蒙古執(zhí)業(yè)藥師繼續(xù)教育答案(一)
- 2025年師德師風(fēng)工作總結(jié)
- 網(wǎng)絡(luò)安全知識培訓(xùn)教程課件
- 膝骨關(guān)節(jié)炎中西醫(yī)結(jié)合診療指南
評論
0/150
提交評論