版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2005年4月全國計(jì)算機(jī)等級考試二級筆試試卷c語言程序設(shè)計(jì)一、選擇題((D-(10)每小題2分,(11)-(50)每小題1分,共60分)(1)數(shù)據(jù)的存儲結(jié)構(gòu)是指()。A)存儲在外存中的數(shù)據(jù)B)數(shù)據(jù)所占的存儲空間量C)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式D)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示(2)下列關(guān)于棧的描述中錯誤的是()。A)棧是先進(jìn)后出的線性表B)棧只能順序存儲C)棧具有記憶作用D)對棧的插入與刪除操作中,不需要改變棧底指針(3)對于長度為〃的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是()。A)冒泡排序n/2B)冒泡排序?yàn)閚C)快速排序?yàn)閚D)快速排序?yàn)閚(n-l)/2(4)對于長度為〃的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為()。A)log2nB)n/2C)nD)n+1(5)下列對于線性鏈表的描述中正確的是()。A)存儲空間不一定是連續(xù),且各元素的存儲順序是任意的B)存儲空間不一定是連續(xù),且前件元素一定存儲在后件元素的前面C)存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D)存儲空間必須連續(xù),且各元素的存儲順序是任意的(6)下列對于軟件測試的描述中正確的是()。A)軟件測試的目的是證明程序是否正確B)軟件測試的目的是使程序運(yùn)行結(jié)果正確C)軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤D)軟件測試的目的是使程序符合結(jié)構(gòu)化原則(7)為了使模塊盡可能獨(dú)立,要求()。A)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)B)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱D)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)(8)下列描述中正確的是()。A)程序就是軟件B)軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制C)軟件既是邏輯實(shí)體,又是物理實(shí)體D)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合(9)數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指()。A)數(shù)據(jù)與程序獨(dú)立存放B)不同的數(shù)據(jù)被存放在不同的文件中C)不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用D)以上三種說法都不對(10)用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是()。A)關(guān)系模型B)網(wǎng)狀模型C)層次模型D)以上三個都是(11)算法具有5個特性,下列選項(xiàng)中不屬于算法特性的是()。A)有窮性B)簡潔性C)可行性D)確定性(12)下列選項(xiàng)中可作為C語言合法常量的是()。A)-80B)-080C)-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)下列選項(xiàng)中,不能作為合法常量的是()。A)1.234eO4B)1.234e0.4C)1.234e+4D)1.234e0(16)數(shù)字字符0的ASCH值為48,運(yùn)行下列程序的輸出結(jié)果是()。main(){chara="r,b='2';printf("%c,",b++);printf("%d\n",b-a)}A)3,2B)50,2C)2,2D)2,50(17)下列程序的輸出結(jié)果是()。main(){intm=12,n=34;printf(H%d%dM,m++,++n);printf(M%d%d\nH,n++,++m);)A)12353514B)12353513C)12343514D)12343513(18)有定義語句:intb;char 則正確的輸入語句是().A)scanf("%d%s",&b,&c);B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);(19)有下列程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是()。A)m=123n=456p=789B)m=123n=456p=789C)m=123,n=456,p=789D)123456789(20)下列程序的輸出結(jié)果是()。main(){inta,b,d=25;a=d/10%9;b=a&&(-l);printf(M%d,%d\nn,a,b);}A)6,1B)2,1C)6,0D)2,0(21)下列程序的輸出結(jié)果是()。main(){inti=lJ=2,k=3;if(i++==1&&(++j==3IIk++==3))printf(M%d%d%d\nM,ij,k);}A)123B)234C)223D)233(22)若整型變量a、b、c、d中的值依次為:1、4、3、2.則條件表達(dá)式a<b?a:c<d?c:d的值是().A)1B)2C)3D)4(23)下列程序的輸出結(jié)果是()。main(){intp[8]={ll,12,13,14,15,16,17,18},i=0j=0;while(i++<7)if(p[i]%2)j+=p[i];printf(H%d\nMJ);}A)42B)45C)56D)60(24)下列程序的輸出結(jié)果是()。main(){chara[7]=Ha0\0a0\0H;intij;i=sizeof(a);j=strlen(a);printf(H%d%d\nn,ij);}A)22B)76C)72D)62(25)下列能正確定義一維數(shù)組的選項(xiàng)是()。A)inta[5]={0,l,2,3,4,5};B)chara[]={0,l,2,3,4,5};C)chara={'A',*B','C'};D)inta[5]="0123";(26)下列程序的輸出結(jié)果是()。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=fl(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}A)4,3,7B)3,4,7C)5,2,7D)2,5,7(27)已有定義:chara[]="xyz",b[]={'x','y','z');(下列敘述中正確的是()。二級C語言程序設(shè)計(jì)試卷第5頁(共13頁)A)數(shù)組a和b的長度相同B)a數(shù)組長度小于b數(shù)組長度C)a數(shù)組長度大于b數(shù)組長度D)上述說法都不對(28)下列程序的輸出結(jié)果是()。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<q){f(p,q);P++;q-;}for(i=0;i<8;i+)printf("%d,",a[i]);}A)8,23,4,5,6,7,1B)5,6,7,8,1,2,3,4C)1,23,4,5,6,7,8D)8,7,6,5,43,2,1(29)下列程序的輸出結(jié)果是()。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++)printf("%d",a[l][i]);}A)012B)123C)234D)345(30)下列敘述中錯誤的是()。A)對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出B)數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變C)在程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越界”的出錯信息D)可以通過賦初值的方式確定數(shù)組元素的個數(shù)(31)下列程序的輸出結(jié)果是().#defineN20fun(inta[],intn,intm){intij;for(i=m;i>n;i-)a[i+l]=afi])main(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)printf("%d",alij);}A)10234B)12344C)12334D)12234(32)運(yùn)行下列程序時,輸入123vCR>的輸出結(jié)果為()。main(){inta[3][2]={0},(*ptr)[2]4j;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr++;}for(i=0;i<3;i++){for(j=0;j<2;j++)printf("%2d",a[i][j]);printf("\n");})A)產(chǎn)生錯誤信息B)102000C)12D)1030200030(33)下列程序的輸出結(jié)果是()。prt(int*m,intn){inti;for(i=0;i<n;i++)in[i]++;}main(){inta[]={l?2,3,4,5},i;prt(a,5)for(i=0;i<5;i++)printf("%d,",a[i]);}A)1,234,5B)2,3,4,5,6C)3,45,6,7D)2,3,4,5,1(34)下列程序的輸出結(jié)果是()。main(){inta[]={123,4,5,6,7,8,9,0},*p;for(p=a;p<a+10;p++)printf(H%d,M,*p);}A)1,23,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,83,D)1,1,1,1,1,1,1,1,1,1,(35)下列程序的輸出結(jié)果是()。二級C語言程序設(shè)計(jì)試卷第7頁(共13頁)#defineP3voidF(intx){return(P*x*x);}main(){printf("%d\n",F(3+5));}A)192B)29C)25D)編譯出錯(36)下列程序的輸出結(jié)果是()。main(){intc=35;printf(H%d\nn,c&c);}A)OB)7035D)1(37)下列敘述中正確的是()。A)預(yù)處理命令行必須位于源文件的開頭B)在源文件的一行上可以有多條預(yù)處理命令C)宏名必須用大寫字母表示D)宏替換不占用程序的運(yùn)行時間(38)若有下列說明和定義。uniondt{inta;charb;doublec;}data;下列敘述中錯誤的是()。A)data的每個成員起始地址都相同B)變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等C)程序段:data.a=5;printf("%f\n”,data.c);輸出結(jié)果為5.000000data可以作為函數(shù)的實(shí)參(39)下列語句或語句組中,能正確進(jìn)行字符串賦值的是()。A)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;則下列敘述中正確的是()。A)以上的說明形式非法B)ST是一個結(jié)構(gòu)體類型C)NEW是一個結(jié)構(gòu)體類型名D)NEW是一個結(jié)構(gòu)體變量(41)下列程序的輸出結(jié)果是()。main(){inta=l,b;for(b=l;b<=10;b++){if(a>=8)break;if(a%2==l){a+=5;continue;}a=3;}printf(H%d\nH,b);}A)3B)4C)5D)6(42)下列程序的輸出結(jié)果是()。main(){chars[]=M159M,*p;P=s;printf(M%cM,*p++);printf(H%cH,*p++);}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ù)的功能是()。A)計(jì)算a和b所指字符串的長度之差B)將b所指字符串復(fù)制到a所指字符串中C)將b所指字符串連接到a所指字符串后面D)比較a和b所指字符串的大小(44)有下列程序:main(){intnum[4][4]={{l,2,3,4},{5,6,7,8},{9,10,ll,12),(13,14,15,16}},ij;for(i=0;i<4;i++){for(j=0;j<i;j++)printf("%4c",'');for(j=_;j<4;j++)printf("%4d",num[i][j]);printf("\n");}}若要按下列形式輸出數(shù)組右上半三角。1234678111216則在程序下劃線處應(yīng)填入的是()。A)i-1B)iC)i+1D)4-i(45)下列程序的輸出結(jié)果是()。point(char*p){p+=3;}main(){charb[4]={FYbydl/p=b;point(p);printf(H%c\n,\*p);}A)aB)bC)cD)d(46)程序中若有下列說明和定義語句:charfun(char*);main(){char*s=MoneH,a[5]={0},(*fl)()=fun,ch;}下列選項(xiàng)中對fun。函數(shù)的正確調(diào)用語句是()。A)(*fl)(a);B)*fl(*s);C)fun(&a);D)ch=*fl(s);(47)有下列結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向此鏈表中的三個連續(xù)結(jié)點(diǎn)。structnode{intdata;structnode*next;}*p,*q,*r;現(xiàn)要將q所指結(jié)點(diǎn)從鏈表中刪除,同時要保持鏈表的連續(xù),下列不能完成指定操作的語句是()。A)p->next=q->next;B)p-next=p->next->next;C)p->next=r;D)p=q->enxt;(48)下列對結(jié)構(gòu)體類型變量td的定義中,錯誤的是()。A)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)有下列程序:#include<stdio.h>voidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,HwH);fputs(str,fp);fclose(fp);)main(){WriteStr(''tl?dat''Jstart'');WriteStr(Mtl.datH,HendH);}程序運(yùn)行后,文件tl.dat中的內(nèi)容是()。A)startB)endC)startendD)endrt二、填空題(每空2分,共40分)(1)某二叉樹中度為2的結(jié)點(diǎn)有18個,則該二叉樹中有【1】個葉子結(jié)點(diǎn)。(2)在面向?qū)ο蠓椒ㄖ?,類的?shí)例稱為【2】o(3)診斷和改正程序中錯誤的工作通常稱為【3】o(4)在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個二維表稱為【4】o(5)問題處理方案正確而完整的描述稱為【5】o(6)下列程序運(yùn)行時若從鍵盤輸入:102030<CR>o輸出結(jié)果是[6】。#include<stdio.h>main(){inti=0,j=0,k=0;scanf(”%d%*d%d〕&i,&j,&k);printf(M%d%d%d\nH,ij,k);}(7)下列程序運(yùn)行后的輸出結(jié)果是17】o#defineS(x)4*x*x+lmain(){inti=6,j=8;printf(H%d\nH,S(i+j));}(8)下列程序運(yùn)行后的輸出結(jié)果是18】omain(){inta=3,b=4,c=5,t=99;if(b<a&&a<c)t=a;a=c;c=t;if(a<c&&b<c)t=b,b=a,a=t;printf(H%d%d%d\nM,a,b,c);)(9)下列程序運(yùn)行后的輸出結(jié)果是19】omain(){inta,b,c;a=10;b=20;c=(a%b<l)||(a/b>l);printf(H%d%d%d\nM,a,b,c);}(10)下列程序運(yùn)行后的輸出結(jié)果是【101omain(){charcl,c2;for(cl=,0\c2=,9*;cl<c2;cl++,c2??)printf(H%c%cM,cl,c2);printf(H\nH);}(11)已知字符A的ASCH代碼值為65,下列程序運(yùn)行時若從鍵盤輸入:B33<CR>O則輸出結(jié)果是[111o#include<stdio.h>main(){chara,b;a=getchar();scanf(H%dM,&b);a=a-*A*+*0*;b=b*2;printf(M%c%c\nH,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(M%4dH,b[i]);printf(H\nH);}voidfun(intm,intn,intar[][4],int*br){inti,j,x;for(i=0;i<m;i++){x=ar[i][0];for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];[12]=x;}}(13)下列程序運(yùn)行后的輸出結(jié)果是[13]。voidswap(intx,inty){intt;t=x;x=y;y=t;printf("%d%d",x,y);}main(){inta=3,b=4;swap(a,b);printf("%d%d\n",a,b);}(14)下列程序運(yùn)行后的結(jié)果是【14】。#include<string.h>voidfun(char*s,intp,intk){intI;for(i=p;i<k-l;i++)s[i]=s[i+2];}main(){chars[]=*'abcdefgn;fun(s,3^strlen(s));puts(s);}(15)下列程序運(yùn)行后的輸出結(jié)果是115】.#include<string.h>main(){charch[]=Habcn,x[3][4];inti;for(i=0;i<3;i++)strcpy(x[i],ch);for(i=0;i<3;i++)printf(M%sH,&x[i][i]);printf(H\nH);}(16)下列程序運(yùn)行后的輸出結(jié)果是【16].fun(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}main(){inti,a=5;for(i=0;i<3;i++)printf(H%d%dM,i,fun(a));printf(H\nH);}(17)下列程序運(yùn)行后的輸出結(jié)果是【17】。stuctNODE{intk;structNODE*link;};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(H\nH);)(18)下列程序中huiwenO函數(shù)的功能是檢查一個字符串是否是回文,當(dāng)字符串是回文時,函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adgda。請?zhí)羁铡?include<string.h>char*huiwen(char*str){char*pl,*p2;inti,t=O;pl=str;p2=[18];for(i=0);i<=strlen(str)/2;i++)if(*pl++!=*p2—){t=l;break;}if([19])return(Myes!M);elsereturn(nno!H);}main(){charstr[50];printf(HInput:H);scanf(H%sM,str);printf(H%s\nH,[20]);}_2005年9月全國計(jì)算機(jī)等級考試二級筆試試卷c語言程序設(shè)計(jì)(考試時間120分鐘,滿分100分)一、選擇題((1)-(10)每小題2分,(11)-(50)每小題1分,共60分)(1)下列敘述中正確的是()。A)程序設(shè)計(jì)就是編制程序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)軟件工程只是解決軟件項(xiàng)目的管理問題B)軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題C)軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則D)軟件工程只是解決軟件開發(fā)中的技術(shù)問題(6)在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是()。A)PDL(過程設(shè)計(jì)語言)B)PAD圖C)N-S圖D)DFD圖(7)下列敘述中正確的是()。A)軟件交付使用后還需要再進(jìn)行維護(hù)B)軟件工具交付使用就不需要再進(jìn)行維護(hù)C)軟件交付使用后其生命周期就結(jié)束D)軟件維護(hù)是指修復(fù)程序中被破壞的指令(8)數(shù)據(jù)庫設(shè)計(jì)的根本目標(biāo)是要解決()。A)數(shù)據(jù)共享問題B)數(shù)據(jù)安全問題C)大量數(shù)據(jù)存儲問題D)簡化數(shù)據(jù)維護(hù)(9)設(shè)有如下關(guān)系表:RSTABC12223則下列操作中正確的是()。A)T=RDSB)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)在任何位置都不會影響程序運(yùn)行D)賦值表達(dá)式末尾加分號就構(gòu)成賦值語句(13)下列敘述中正確的是()。A)調(diào)用printfO函數(shù)時,必須要有輸出項(xiàng)B)使用putchar()函數(shù)時,必須在之前包含頭文件stdio.hC)在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出D)調(diào)節(jié)getchar。函數(shù)讀入字符時,可以從鍵盤上輸入字符所對應(yīng)的ASCII碼(14)下列關(guān)于函數(shù)的敘述中正確的是()。A)每個函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))B)每個函數(shù)都可以被單獨(dú)編譯C)每個函數(shù)都可以單獨(dú)運(yùn)行D)在一個函數(shù)內(nèi)部可以定義另一個函數(shù)(15)若有語句:char*line⑸;下列敘述中正確的是().A)定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為char的指針變量B)定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組C)定義line是一個指針數(shù)組,語句中的*號稱為間址運(yùn)算符D)定義line是一個指向字符型函數(shù)的指針(16)有下列程序段:typedefstructNODE{intnum;structNODE*next;}OLD;下列敘述中正確的是()。A)以上的說明形式非法B)NODE是一個結(jié)構(gòu)體類型C)OLD是一個結(jié)構(gòu)體類型D)OLD是一個結(jié)構(gòu)體變量(17)下列敘述中錯誤的是()。A)在C語言中,對二進(jìn)制文件的訪問速度比文本文件快ABC313ABC313B)在C語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲數(shù)據(jù)C)語句FILEfp;定義了一個名為fp的文件指針D)C語言中的文本文件以ASCII碼形式存儲數(shù)據(jù)(18)當(dāng)把四個表達(dá)式用作if語句的控制表達(dá)式時,有一個選項(xiàng)與其他三個選項(xiàng)含義不同,這個選項(xiàng)是()。A)k%2B)k%2==lC)(k%2)!=0D)!k%2==l(19)下列不能正確計(jì)算代數(shù)式sin2()值的C語言表達(dá)式是()。A)l/3*sin(l/2)*sin(l/2)B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3D)l/3.0*pow(sin(1.0/2),2)(20)下列能正確定義且賦初值的語句是()。A)intnl=n2=10;B)charc=32;C)floatf=f+l.l;D)doublex=12.3E2.5;(21)下列程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。程序在編譯時出錯。main()/*Beginning*/{intr;floats;scanf("%d",&r);s=*it*r*r;printf("s=%An"^);}出錯的原因是().A)注釋語句書寫位置錯誤B)存放圓半徑的變量r不應(yīng)該定義為整型C)輸出語句中格式描述符非法D)計(jì)算圓面積的賦值語句中使用了非法變量(22)設(shè)有定義:intk=l,m=2;floatf=7;則下列選項(xiàng)中錯誤的表達(dá)式是().A)k=k>=kB)-k++C)k%int(f)D)k>=f>=m(23)設(shè)有定義:inta=2,b=3,c=4;,則下列選項(xiàng)中值為0的表達(dá)式是()。A)(!a==l)&&(!b==0)B)(a<b)&&!cII1C)a&&bD)aII(b+b)&&(c-a)(24)有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c:k;執(zhí)行該程序段后,k的值是()oA)3B)201D)0(25)設(shè)變量a、b、c、d和y都已正確定義并賦值。若有下列if語句if(a<b)if(c==d)y=0;elsey=l;該語句所表示的含義是()。3121A)0Iyabcdab=<>且B)0lyabcdab<=>豐且且cdC)0lyabcdab<=<豐且且cdD)01yc-d豐且cd(26)有下列程序段intn,t=l,s=O;scanf(M%dM,&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è)變量已正確定義,則以下能正確計(jì)算f=n!的程序段是()。A)f=0;B)f=l;for(i=l;i<=n;i++)f*=i;for(i=l;i<n;i++)f*=i;C)f=l;D)f=l;for(i=n;i>l;i++)f*=i;for(i=n;i>=2;i--)f*=i;(28)設(shè)有定義:intnl=0,n2,*p=&n2,*q=&nl;,以下賦值語句中與n2=nl;語句等價的是()oA)*p=*q;B)p=q;C)*p=&nl;D)p=*q;(29)若有定義:intx=0,*p=&x;,則語句printf("%d\n",*p);的輸出結(jié)果是().A)隨機(jī)值B)OC)x的地址D)p的地址(30)設(shè)fun()函數(shù)的定義形式為()。voidfun(charch,floatx){...}則下列對函數(shù)fun的調(diào)用語句中,正確的是A)fun("abc",3.0);B)t=fun('D',16.5);C)fun('65',2.8);D)fun(32,32);(31)有下列程序:main(){inta[10]={l,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);}程序運(yùn)行后的輸出結(jié)果是()。A)16B)10C)8D)6(32)有下列程序:main(){charp[]={'a','bv,'c'},q[]="abc";printf("%d%d\n",sizeof(p),sizeof(q));};程序運(yùn)行后的輸出結(jié)果是()。A)44B)33034D)43(33)有下列程序:#definef(x)=(x*x)main(){intil,i2;il=f(8)/f(4);i2=f(4+4)/f(2+2);prinft(H%d,%d\n",i142);}程序運(yùn)行后的輸出結(jié)果是()。A)64,28B)4,404,3D)64,64(34)有下列程序:main(){charal='M',a2='m';printf("%c\n",(al,a2));}下列敘述中正確的是()。A)程序輸出大寫字母M B)程序輸出小寫字母mC)格式說明符不足,編譯出錯D)程序運(yùn)行時產(chǎn)生出錯信息(35)有下列程序:#include<stdio.h>main(){charcl=,r,c2=,2,;cl=getchar();c2=getchar();putchar(cl);putchar(c2);)當(dāng)運(yùn)行時輸入:avCR>后,下列敘述正確的是()。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);)程序運(yùn)行后的輸出結(jié)果是()。A)OB)406D)7(37)有下列程序:main(){inta[]={2,4,6,8,10),y=0,x,*p;P=&a[l];for(x=l;x<3;x++)y+=p[x];printf(H%d\n,\y);}程序運(yùn)行后的輸出結(jié)果是()。A)10B)11C)14D)15(38)有下列程序:voidsort(inta[],intn){intij,t;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=afj];a[j]=t;}}main(){intaa[10]={l,2,3A5,6,7,8,940},i;sort(aa+2,5);for(i=0;i<10;i++)printf(M%d,H,aa[i]);printf(H\nH);}程序運(yùn)行后的輸出結(jié)果是()。A)1,23,4,5,6,7,8,9,10,B)1,2,7,6,3,4,5,8,9,10,C)1,2,7,6,5,4,3,8,9,10,D)1,2,9,8,7,6,5,4,3,10,(39)有下列程序:voidsum(inta[]){a[0]=a[-l]+a[l];)main(){inta[10]={1,2,3,4,5,6,7,8,9,10);sum(&a[2]);printf("%d\n",a[2]);}程序運(yùn)行后的輸出結(jié)果是()。A)6B)705D)9(40)有下列程序:voidswapl(intc0[],intcl[]){intt;t=cO[O];cO[O]=cl[OJ;cl[O]=t;)voidswap2(int*cO,int*cl){intt;t=*cO;*cO=*cl;*cl=t;}main(){inta[2]={3,5},b[2]={3,5};swapl(a,a+l);swap2(&b[0]9&b[l]);printf(H%d%d%d%d\nu,a[0],a[l],b[0],b[l]);)程序運(yùn)行后的輸出結(jié)果是()。A)3553B)533503535D)5353(41)有下列程序:#include<string.h>main(){charp[]={'*b,P},q[10]={―嘰P};printf("%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()的功能是將多個字符串按字典順序排序()。#include<string.h>voidf(char*p[],intn){char*t;intij;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(strcmp(p[i],p[j]>O){t=p[i];p[i]=p[j],p[j]=t;}}main(){char*p[5]={"abc","aabdfg","abbd","dcdbe","cd"};f(P,5);printf("%d\n",strlen(p[l]));}程序運(yùn)行后的輸出結(jié)果是()。A)2B)306D)4(43)有下列程序:#include<string.h>voidf(char*s,char*t){chark;k=*s*=*f*t=k°s++;t-;if(*s)f(s,t);)main(){charstr[10J=HabcdefgM,*p;p=str+strlen(str)/2+1;f(p,p?2);printf(H%s\nH,str);)程序運(yùn)行后的輸出結(jié)果是()。A)abcdefgB)gfedcbaC)gbcdefaD)abedcfg(44)有下列程序:floatfl(floatn){returnn*n;}floatf2(floatn){return2*n;}main(){float(*pl)(float),(*p2)(float),(*t)(float),yl,y2;pl=fl;p2=f2;yl=p2(pl(2.0));t=pl;pl=p2;p2=t;y2=p2(pl(2.0));printf(n%3.0f,%3.0f\nM,yl,y2);}程序運(yùn)行后的輸出結(jié)果是()。A)8,16B)8,8016,16D)4,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(H%d\nM,s);}程序運(yùn)行后的輸出結(jié)果是()。A)26B)28029D)24(46)有下列程序:#include<string.h>structSTU{intnum;floatTolalScorc;);voidf(structSTUp){structSTUs[2]={{20044,550},{20045,537}};p.num=s[l].num;p.TotalScore=s[l].TotalScore;}main(){structSTUs[2]={{20041,703},{20042,580}};f(s[O]);printf(H%d%3.0f\nM,s[0].num,s[0].TotalScore);)程序運(yùn)行后的輸出結(jié)果是()。A)20045537B)20044550C)20042580D)20041703(47)有下列程序:#include<sting.h>structSTU{charname[10];intnum;);voidf(char*name,intnum){structSTUs[2]={{MSunDann,20044}4HPenghuaM,20045}};num=s[0].num;strcpy(name,s[O].name);}main(){structSTUs[2]={{MYangSanu,2004},{MLiSiGuoM,20042}},*p;p=&s[l];f(p->name,p->num);printf(H%s%d\nH,p->name,p->num);}程序運(yùn)行后的輸出結(jié)果是()。A)SunDan20042B)SunDan20044C)LiSiGuo20042D)YangSan20041(48)有下列程序:structSTU{charname[10];intnum;floatTotalScore;};voidf(structSTU*p){structSTUs[2]={{HSunDanM,20044,550},{HPenghuaM,20045,537}},*q=s;++p;++q;*p=*q;}main(){structSTUs[3]={{MYangSann,20041,703},{HLiSiGuoH,20042,580});f(s);printf(n%s%d%3.0f\n'\s[lJ.name,s[lJ.num,s[lJ.TotalScore);}程序運(yùn)行后的輸出結(jié)果是()。A)SunDan20044550B)Penghua20045537C)LiSiGuo20042580D)SunDan20041703(49)下列程序的功能是進(jìn)行位運(yùn)算:main(){unsignedchara,b;a=7A3;b=~4&3;printf(M%d%d\nM,a,b);)程序運(yùn)行后的輸出結(jié)果是()。A)43B)73070D)40(50)有下列程序:#include<stdio.h>main(){FILE*fp;inti,k,n;fp=fopen(Hdata.datH,nw+H);for(i=l;i<6;i++){fprintf(fp,H%dH,i);if(i%3==0)fprintf(fp,n\nM);)rewind(fp);fscanf(fp,M%d%dM,&k,&n);printf(H%d%d\nM,k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是()。A)00B)12345014D)12二、填空題(每空2分,共40分)(1)數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)3個階段,其中數(shù)據(jù)獨(dú)立性最高的階段是11】.(2)算法復(fù)雜度主要包括時間復(fù)雜度和【2】復(fù)雜度。(3)在進(jìn)行模塊測試時,要為每個被測試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動模塊和承接模塊(樁模塊)。其中【3】的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。(4)一棵二叉樹第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為【4】個。(5)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),循環(huán)隊(duì)列屬于【5】結(jié)構(gòu)。(6)下列程序運(yùn)行后的輸出結(jié)果是[6】omain(){intx=0210;printf("%X\n",x);}(7)下列程序運(yùn)行后的輸出結(jié)果[7】。main(){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】o(9)下列程序運(yùn)行后的輸出結(jié)果是[9】。main(){charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);printf("%d%f\n",n,x);}(10)下列程序的功能是計(jì)算:s=l+12+123+1234+12345。請?zhí)羁?。main(){intt=O,s=O,i;for(i=l;i<=5;i++){t=i+[10];s=s+t;}printf(Hs=%d\n,\s);}(ID已知字母A的ASCII碼為65,下列程序運(yùn)行后的輸出結(jié)果是[11]omain(){chara,b;a='A'+5?3;b=a+'6'?2;printf(H%d%c\nM,a,b);}(12)有下列程序:intsub(intn){return(n/10+n%10);)main(){intx,y;scanf(H%d**,&x);y=sub(sub(sub(x)));printf(,,%d\n,\y);}若運(yùn)行時輸入:1234<CR>,程序的輸出結(jié)果是112].(13)下列函數(shù)sstrcat()的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:s所指字符串為abed,t所指字符串為efgh,函數(shù)調(diào)用后s所指字符串為abcdefgh。請?zhí)羁铡?include<string.h>voidsstrcat(char*s,char*t){intn;n=strlen(s);while(*(s+n)=[13]){s++,t++;}}(14)下列程序運(yùn)行后的輸出結(jié)果是[14]#include<string.h>char*ss(char*s){char*p,t;p=s+l;t=*s;while(*p){*(p-l)=*p;p++;}*(p-l)=t;returns;}main(){char*p,str[10]=HabcdefghM;p=ss(str);printf(H%s\nH,p);)(15)下列程序運(yùn)行后的輸出結(jié)果是[15]ointf(inta[J,intn){if(n>=l)returnf(a,n-l)+a[n-l];elsereturn0;)main(){intaa[5]={l,2,3,4,5},s;s=f(aa,5);pnntf(H%d\n,\s);}(16)下列程序運(yùn)行后的輸出結(jié)果是【16】ostructNODE{intnum;tructNODE*next;};main(){structNODEs[3]={{1,AO1},{2,AO*},{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+=qfnext—num;sum+=r->next->next->num;printf(H%d\nM,sum);}(17)下列程序的功能是輸出如下形式的方陣:13141516910111256781234請?zhí)羁?。main(){intij,x;for(j=4;j[17];j-){for(i=l;i<=4;i++){x=(j-l)*4+[18];printf("%4d'?;)printf("\n");}}(18)下列函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。#defineN4voidrotade(inta[][N],intb[][N]){intij;for(i=0;I<N;i++){b[i][N-l]=[19];[20]=a[N-l][i];)}_2006年4月全國計(jì)算機(jī)等級考試二級筆試試卷c語言程序設(shè)計(jì)一、選擇題((D-(10)每小題2分,(11)-(50)每小題1分,共60分)(1)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。A)自頂向下B)逐步求精C)模塊化D)可復(fù)用(2)兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度稱為()oA)耦合度B)內(nèi)聚度C)復(fù)雜度D)數(shù)據(jù)傳輸特性(3)下列敘述中正確的是().A)軟件測試應(yīng)該由程序開發(fā)者來完成B)程序經(jīng)調(diào)試后一般不需要再測試C)軟件維護(hù)只包括對程序代碼的維護(hù)D)以上三種說法都不對(4)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。A)隊(duì)列B)棧C)雙向鏈表D)二叉樹(5)下列敘述中正確的是().A)線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)B)棧與隊(duì)列是非線性結(jié)構(gòu)C)雙向鏈表是非線性結(jié)構(gòu)D)只有根結(jié)點(diǎn)的二叉樹是線性結(jié)構(gòu)(6)對如下二叉樹進(jìn)行后序遍歷的結(jié)果為()。A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個數(shù)為().A)32B)31C)64D)63“商品”與“顧客”兩個實(shí)體集之間的聯(lián)系一般是()。A)一對一B)一對多C)多對一D)多對多(9)在E-R圖中,用來表示實(shí)體的圖形是()。A)矩形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ù)值常量是()。A)OilB)leiC)8.0E0.5D)Oxabcd(13)下列不合法的字符常量是()。A)'\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)下列能正確定義字符串的語句是().A)charstr[]={*\064'};B)charstr=*kx43*;C)charstr=";D)charstr[]="\0";(16)下列數(shù)組定義中錯誤的是()。A)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ù)()。A)getc()B)gets()C)getchar()D)scanf()(18)下列4個程序中,完全正確的是()。A)ttinclude<stdio.h>B)#include<stdio.h>main();main(){/*programming*/{/*/programming/*/printf(^programming!\n");}printf(*programming!\n*);}C)#include<stdio.h>D)include<stdio.h>main()main(){/?/programming*/?/{"programming*/printf(*programming!\n");}printf(*programming!\n");}(19)若有定義:floatx=l.5;inta=Lb=3,c=2;則正確的switch語句是()。switch(x)B)switch((int)x);{case1.0:printf(**\n");{casel:printf('*\n");case2.0:printfC**\n*);}case2:printf(***\n*);}C)switch(a+b)D)switch(a+b){casel:printf(**\n*);{casel:printf(**\n");case2+1:printf(***\n*);}casec:printf(***\n");}(20)若各選項(xiàng)中所用變量已正確定義,fun()函數(shù)中通過return語句返回一個函數(shù)值,下列選項(xiàng)中錯誤的程序是()。A)main()TOC\o"1-5"\h\zfloatfun(inta,intb){ }{ x=fun(2,10); }main()floatfun(inta,intb){ }{ x=fun(i,j); )floatfun(int,int);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á)式是()。(!E==0)B)(E>0||E<0)C)(E==0)D)(E!=0)(22)要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時結(jié)束循環(huán)。若變量已正確定義,下列正確的程序段是()。A)while((ch=getchar())!='N')printfch);while(ch=getchar()!=,N*)printf("%c”,ch);while(ch=getchar()=='N')printfch);D)while((ch=getchar())=='N')printfch);(23)已定義下列函數(shù):intfun(int*p){return*p;)fun函數(shù)返回值是()。A)不確定的值B)一個整數(shù)C)形參p中存放的值D)形參p的地址值(24)若有說明語句:double*p,a;則能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()OA)*p=&a;scanfp);B)*p=&a;scanf('%f”,p);C)p=&a;scanf*p);D)p=&a;scanfp);(25)現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向一個鏈表中連續(xù)的3個結(jié)點(diǎn)。structnode{hardata;tructnode*next;}*p,*q,*r;現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時要保持鏈表的連續(xù),下列不能完成此操作的語句是().q->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;下列選項(xiàng)中表達(dá)式的值為11的是()。A)*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的值為()。A)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);}程序運(yùn)行后,若從鍵盤輸入(從第1列開始)123<CR>45678<CR>則輸出結(jié)果是()。A)1267B)1256C)1278D)1245(30)有下列程序:main(){inty=10;while(y—);printf(*y=%d\n*?y);)程序執(zhí)行后的輸出結(jié)果是()。A)y=0B)y=-lC)y=lD)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”,a,b,c,d);)程序輸出()。A)0,1,2,0B)0,0,0,3C)1,1,2,0D)編譯有錯(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é)果是()。A)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(l.1,2.0); }程序執(zhí)行后變量w中的值是()。A)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++)printfC%d*,t[2-i][i]);)程序執(zhí)行后的輸出結(jié)果是()。A)753B)357C)369D)751(35)有下列程序:fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][0]=='T')n++;returnn;}main(){charstr[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};printf(*%d\n*,fun(str));}程序執(zhí)行后的輸出結(jié)果是()。A)1B)2C)3D)0(36)有下列程序:main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9);for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。A)45B)20C)25D)36(37)有下列程序:voidfunl(char*p){char*q;Q=P;while(*q!=\0f){(*q)++;q++;))main(){chara[]={"Program"},*p;p=&a[3];funl(p);printf("%s\n",a);}程序執(zhí)行后的輸出結(jié)果是()。A)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é)果是()。A)123,abcB)abc,123C)Ibc,a23D)321,cba(39)有下列程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf&x);x=fun(x);printf(*%d\n*,x);}執(zhí)行程序時,給變量x輸入10,程序的輸出結(jié)果是()°A)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é)果是()。A)45B)50C)60D)55(41)有下列程序:main(){union{charch[2];intd;}s;s.d=0x4321;printf(*%x,%x\n”,s.ch[0],s.ch[l]);)在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是()。A)21,43B)43,21C)43,00D)21,00(42)有下列程序:main(){char*p[]={*3697>,"2584”};intitj;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[i][j]-10*)%2)num=10*num+p[i][j]-'O';j+=2;}}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。A)35B)37C)39D)3975(43)執(zhí)行下列程序后,test,txt文件的內(nèi)容是(若文件能正常打開)()。#include<stdio.h>main(){FILE*fp;char*sl="Fortran",*s2="Basic”;if((fp=fopen("test,txt","wb"))==NULL){printf("Can'topentest.txtfile\n*);exit(l);}fwrite(sl,7,l,fp);/*把從地址si開始的7個字符寫到fp所指文件中*/fseek(fp,OL,SEEK_SET);/*文件位置指針移到文件開頭*/fwrite(s2,5,1,fp);fclose(fp);}A)BasicanB)BasicFortranC)BasicD)FortranBasic(44)下列敘述中錯誤的是()。C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序C程序經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進(jìn)制機(jī)器指令文件C)用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中D)C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令(45)下列敘述中錯誤的是().A)算法正確的程序最終一定會結(jié)束B)算法正確的程序可以有零個輸出C)算法正確的程序可以有零個輸入D)算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果(46)下列敘述中錯誤的是().A)C程序必須由一個或一個以上的函數(shù)組成B)函數(shù)調(diào)用可以作為一個獨(dú)立的語句存在C)若函數(shù)有返回值,必須通過return語句返回D)函數(shù)形參的值也可以傳回給對應(yīng)的實(shí)參(47)設(shè)有下列定義和語句charstr[20]—Program",*p;p=str;則下列敘述中正確的是().*p與str[0]的值相等str與p的類型完全相同Ostr數(shù)組長度和p所指向的字符串長度相等D)數(shù)組str中存放的內(nèi)容和指針變量p中存放的內(nèi)容相同(48)下列敘述中錯誤的是()。A)C程序中的#include和#define行均不是C語句B)除逗號運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級最低C程序中,j++;是賦值語句C程序中,+、-、*、/、%號是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算(49)下列敘述中正確的是().A)預(yù)處理命令行必須位于C源程序的起始位置B)在C語言中,預(yù)處理命令行都以飛”開頭C)每個C程序必須在開頭包含預(yù)處理命令行:#include<stdio.h>D)C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能(50)下列敘述中錯誤的是()。A)可以通過typedef增加新的類型B)可以用typedef將已存在的類型用一個新的名字來代表C)用typedef定義新的類型名后,原有類型名仍有效D)用typedef可以為各種類型起別名,但不能為變量起別名二、填空題(每空2分,共40分)(1)對長度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為【1】.(2)在面向?qū)ο蠓椒ㄖ校?】描述的是具有相似屬性與操作的一組對象。(3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個二維表稱為一個【3】.(4)程序測試分為靜態(tài)分析和動態(tài)測試。其中【4】是指不執(zhí)行程序,而只是對程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。(5)數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(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=2Lb=55的形式輸出,請寫出完整的的輸出語句【6】.(7)下列程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長時,確定a、b、c能構(gòu)成三角形的條件是需同時滿足三個條件:a+b>c,a+c>b?b+c>a?請?zhí)羁?。main(){floata,b,c;scanf”,&a,&b,&c);if([7])printf("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;i<3;i++)s+=a[i][i]+a[i][3-i-l
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)歷史(中國近現(xiàn)代經(jīng)濟(jì)史)試題及答案
- 2025年大學(xué)體育經(jīng)濟(jì)與管理(管理實(shí)務(wù))試題及答案
- 2025年大學(xué)大二(海洋科學(xué))海洋化學(xué)基礎(chǔ)試題及答案
- 2025年大學(xué)化工類(化工技術(shù)創(chuàng)新)試題及答案
- 2025年大學(xué)大三(資源勘查工程)礦產(chǎn)資源評價試題及答案
- 高職第一學(xué)年(工程監(jiān)理)工程質(zhì)量監(jiān)理2026年綜合測試題
- 2025年高職老年人能力評估師(評估實(shí)操)試題及答案
- 2025年中職地質(zhì)災(zāi)害調(diào)查與治理施工(災(zāi)害調(diào)查基礎(chǔ))試題及答案
- 2025年大學(xué)大三(生物工程)基因工程原理綜合測試試題及答案
- 2025年高職(建筑施工技術(shù))高層建筑施工綜合測試題及答案
- 2025-2026學(xué)年外研版(三起)三年級英語上冊(全冊)教案(附目錄)
- 別墅設(shè)計(jì)調(diào)研
- DB1331-T 114-2025 雄安新區(qū)近零碳變電站技術(shù)標(biāo)準(zhǔn)
- c1學(xué)法減分考試題庫及答案
- 成本暫估管理辦法
- 柔性引才協(xié)議書
- 受托企業(yè)審核管理辦法
- 第四單元?dú)W洲風(fēng)情《桑塔露琪亞》《三套車》課件人音版(簡譜)初中音樂七年級下冊
- TLR4-MyD88信號轉(zhuǎn)導(dǎo)通路:解鎖哮喘小鼠氣道黏液高分泌機(jī)制的關(guān)鍵
- 華為體系文件管理制度
- 司機(jī)入職心理測試題及答案
評論
0/150
提交評論