歷年C語言期末考試試題_第1頁
歷年C語言期末考試試題_第2頁
歷年C語言期末考試試題_第3頁
歷年C語言期末考試試題_第4頁
歷年C語言期末考試試題_第5頁
已閱讀5頁,還剩106頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、填空(15分).一個C源程序中至少應(yīng)包括一個函數(shù)。.在C語言中,一個char型數(shù)據(jù)在內(nèi)存中占字節(jié);一個int型數(shù)據(jù)在內(nèi)存中占的字節(jié)。.在C語言中,實型數(shù)據(jù)分為兩種類型,它們是和?.若a是int型變量,且a的初值為6,貝!I計算表達式a+=a-=a*a后,a的值為。.在C語言中,格式輸入是由庫函數(shù)完成的,格式輸出是由庫函數(shù)完成的。.C語言提供的三種邏輯運算符是&&,和o二、單項選擇(20分).組成C語言程序的是()oA)子程序 B)過程C)函數(shù) D)主程序和子程序TOC\o"1-5"\h\z.C語言中,用戶能使用的合法標識符是( ).A)a_b! B)-xyzC)fa2 D)5i.若定義iloata;現(xiàn)要從鍵盤輸入a的數(shù)據(jù),其整數(shù)位為3位,小數(shù)位為2位,則選用( )?A)scanf("%f',&a); B)scanf("%5.2f',a);C)scanfi["%6.2f',&a); D)scanf("%f',a);.若有定義:inta=7;floatx=2.5,y=4.7;則表達式x+a%3*(int)(x+y)/4的值是( )。A)2.75 B)3.5C)2.5 D)05.若定義inti;則以下循環(huán)語句的循環(huán)執(zhí)行次數(shù)是( )?for(i=2;i=0;)printf("%d",i-);A)無限次B)0次C)1次 D)2次.在循環(huán)語句的循環(huán)體中,continue語句的作用是( )?A)立即終止整個循環(huán) B)繼續(xù)執(zhí)行continue語句之后的循環(huán)體C)結(jié)束本次循環(huán)C)結(jié)束本次循環(huán)D)結(jié)束本次循環(huán)并跳出循環(huán).下列對一維數(shù)組a的正確說明語句為( ).A)inta(10); B)intn=10,a[n];C)intn; D)#defineSIZE10scanfC%d”,&n); inta[SIZE];inta[n];.以下對C語言中字符數(shù)組的錯誤描述是( )。A)字符數(shù)組可以存放字符串

B)字符數(shù)組中的字符串可以整個輸入、輸出C)可以在賦值語句中通過賦值運算符=對字符數(shù)組整體賦值D)字符數(shù)組中字符串的結(jié)束標志是,\0'.C語言規(guī)定,函數(shù)返回值的類型由( )所決定。B)調(diào)用該函數(shù)時的主調(diào)函數(shù)類型D)B)調(diào)用該函數(shù)時的主調(diào)函數(shù)類型D)在定義該函數(shù)時所指定的函數(shù)類型C)調(diào)用該函數(shù)時的形參類型10.以下程序的運行結(jié)果為(#definePT3.5#defineS(x)PT*x*xmain(){inta=l,b=2;printf("%4.1f\n",S(a+b));)A)7.5 B)10.5C)14.0 D)31.5三、程序閱讀(25分)#include"stdio.h”main(){inta,b;a=32767;b=a+l;printf("%d\n%dn,a,b);.下列程序的輸出的結(jié)果是什么?main(){inta[6][6],i,j;for(i=0;i<6;i++){for(j=0;j<6;j++)if(i<j)a[i][j]=O;pp/?^輸fbr(i=O;i<6;i-H-){fbr(j=0;j<6;j++)printfC%3dM,a[i]|j]);printff\n');.下列程序輸出的結(jié)果是什么?#include"stdio.h”swap(int*pl,int*p2){inttemp;temp=*pl;*pl=*p2;PPFi?端 找號試資料,就上寫武資料網(wǎng)你的專武小幫手!www.ppk*p2=temp;}main(){inta,b;int*pa,*pb;scanf(H%d,%du,&a,&b);printf(H%d,%dH,a,b);pa=&a;pb=&b;if(a<b)swap(pa,pb);printf("%d,%dH,a,b);}(1)如果輸入4,5,打印的結(jié)果是(2)如果輸入-3,4,打印的結(jié)果是#include"stdio.h”inttry(inta){staticintx=3;x=x+1;return(x+a);}main(){inta,x=2;for(a=0;a<=l;a++)x=try(x);printffx的值是:%d\n",x);}5.下列程序的輸出的結(jié)果是什么?#include"stdio.h”main(){intx;x=fun(4);printf(H%d\nM,x);intfun(intn){ints;if(n=l)s=2;elses=n+fun(n-1);return(s);)四、程序填空(15分).計算sum=l+l/2+l/4+...+l/50的值,并顯示出來。#include"stdio.h"main(){inti=2; sum=1.0;while(i<=){sum+=1.0/;i+=2;)printf(nsum=%f\nH,sum);}.下面程序的功能是:輸出100以內(nèi)能被3整除且個位數(shù)為6的所有整數(shù),請?zhí)羁铡?include"stdio.h”main(){inti,j;fbr(i=O;;i++){j=i*10+6;if()continue;printf("%d",j);)}五、程序改錯(15分)下列程序是用冒泡法按從大到小順序?qū)σ粋€int型數(shù)組排序。如果某行中的語句有錯誤,請在出錯行上把正確的語句寫出;如果沒有錯誤則打上PPFii瑞找考試資料,就上考試資料網(wǎng)include"stdio.h"1.main()2.{intarray[10];3.int4.printf("input10numbers:\n);5.for(i=0;i<10;i++)6.scanfT%d”,array[i]);7.for(j=0;j<10;j++)8.for(i=0;i〈9?j;j++)9.if(array[i]>array[i+1])1L{t=array[i];12.array[i]=array[i+1];13.array[i+l]=t;14.)15.fbr(i=O;i<10;i-H-);16.printf(M%d\array[i]);17.)18.PPFii瑞六、程序設(shè)計(10分).有3個實數(shù)a,b,c,由鍵盤輸入,輸出其中最大的數(shù)。(5分).打印出所有的“水仙花數(shù)”。所謂“水仙花數(shù)”是指一個3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如,153是一水仙花數(shù),因為153=13+53+33。(5分)c語言考試題(一)一、單項選擇題(每題2分,共20分)1、以下選項中屬于C語言的數(shù)據(jù)類型是()A.復(fù)數(shù)型B.邏輯型C.集合型D.雙精度型2、一個C程序的執(zhí)行是從()A.main。函數(shù)開始,直到main。函數(shù)結(jié)束B.第一個函數(shù)開始,直到最后一個函數(shù)結(jié)束C.第一個語句開始,直到最后一個語句結(jié)束D.main。函數(shù)開始,直到最后一個函數(shù)結(jié)束3、設(shè)有語句inta=3;則執(zhí)行語句a+=a?=a*a;后,變量a的值是()A.3B.0 C.-12 D.94、若有charcKHKdAOTWVT};則執(zhí)行語句printf("%s”,c);結(jié)果是()。A.cd\OeB.'c^C.cdD.cde5、已知:inta[2][3]={123,4,5,6},(*p)[3]=a;則下列表達式不是4的是()。A.*(*p+3)B.*p+3C.*(*(p+0)+3)D.a[0][3]6、以下有宏替換不正確的敘述().A.宏替換不占用運行時間B.宏名無類型C.宏替換只是字符串替換D.宏名必須用大寫字母表示7、執(zhí)行charstr[10]="Ch\ninaw;strlen(str)的值是()A.5B.6C.7D.98、下面程序的輸出結(jié)果是:()#definePOWER(x)(x*x)main(){inti=4;printfC%d”,P0WER(i?2));}A.-9B.-7C.5D.-69、在定義inta[3][4][2];后,第10個元素是()A.a[2][l][2]B.a[l][0][l]C.a[2][0][l]D.a[2][2][l]10、下面程序的輸出結(jié)果是:()typedefstruct{longx[2];shorty[4];charz[8];}MYTYPE;MYTYPEa;main(){printf(u%d\nn,sizeofi(a));}A.2B.8C.14D.24二、填空題(每空1分,共11分)1、字符串"A"在內(nèi)存中占用的字節(jié)數(shù)為。2、C語言中的標識符只能由字母、下劃線和組成。3、若有定義語句"inta=25,b=14,c=19;",以下語句的執(zhí)行結(jié)果是if(a++<=25&&b-<=2&&c++)printf("***a=%d,b=%d,c=%d\n”,a,b,c);elseprintfC###a=%d,b=%d,c=%d\nM,a,b,c);4、有如下定義a[]="B\172\Na%%";則執(zhí)行語句printff%d",strlen(a));的結(jié)果為。5、若有定義:inta[12]={l,2,3,4,5,6,7,8,9,10,ll,12},*p[4],i;for(i=0;i<4;i++)p[i]=&a[i*3];則*(*(p+l)+2)的值為,*p[2]的值為。若數(shù)組的首地址為2000,則p[l]指向的地址為.6、設(shè)a=2,b=3,x=3.5,y=2.5,則表達式(float)(a+b)/2+(int)x%(int)y的結(jié)果是。7,設(shè)x、y都是int型變量,初值都為1,則執(zhí)行表達式:-x&&y++后,y的值為。8、語句fbr(i=l;i==10;i++)continue;循環(huán)的次數(shù)是。9、以下程序輸出。main(){enumem{em1=3,em2=1,em3};char*aa[]={nAAM,"BB,,;,CC,';,DDM};printfi(,,%s%s%s\nH,aa[eml],aa[em2],aa[em3]);)三、寫程序結(jié)果(每題5分,共35分)1、#includemain(){intx,y,z;x=l,y=2,z=3;x+=y+=z;printf(M1:%d\n”,z+=x>y?xz■:y++);x=0x02fT;y=0xfH)0;printf("2:%d\n”,(x&y)?4|0x005f);x=y=z=-l;-H-x||-H-y&&-H-z;printf(H3:%d,%d,%d\n",x,y,z);}2、#definef(x)x*xmain(){inta=6,b=2,c;c=fi(a+b)/fi(b);printfi(fc4%d\n,,,c);)3、fun(intk){printfi(M%dH,k);if(k>0)fun(k-l);}main(){intw=5;fiin(w);printfi(,,\nM);}4、#includemain(){intx=l,y=0;switch(x){case1:switch(y){caseO:printf("first\n'');break;case1:printfl(ttsecond\n,,);break;}case2:printfl("third'n");5、#includemain(){intk=4;func(k);func(k);fiinc(inta){staticintm=0;m+=a;printff%d”,m);)6、structst{intx;int*y;)*P;ints[]={30,20);structsta[]={1,&s[0],2,&s[1]};main(){p=a;printf(”%dJ,p?>x);printfC%d\n”,++(*(++p)?>y));}7、假定在當前盤目錄下有2個文本文件,其名稱和內(nèi)容如下:文件名:al.txta2.txt內(nèi)容:ABCDEF#abcdefW#include"stdio.h"main(){FILE*fp;voidfc();if((fp=fopen("a1.txt”Jr"))=NULL){printf(HCannotopenfile!\nM);exit(l);}else{fc(fp);fclose(fp);}ifi((fp=fbpen(',a2.txt,7,rH))=NULL){printf("Cannotopenfile!\nM);exit(l);)else{fc(fp);fclose(fp);}}voidfc(fpl)FILE*fpl;{charc;while((c=fgetc(fpl))!-#*)putchar(c);|四、程序填空(每空2分,共14分)1、下面程序求矩陣a的主對角線元素之和,請?zhí)羁?。main(){inta[3][3]={2,4,6,8,10,12,14,16,18};intsum=0,ij;for(i=0;i<3;①)for(j=O;②J++)iRi==g)sum=sum+③;printf("sum=%d\n",sum);)2、下列函數(shù)coy把字符數(shù)組S2中的全部字符復(fù)制到字符數(shù)組SI中,復(fù)制時’\0,也要復(fù)制過去,'\0'后面的字符不用。coy(charsl[],chars2[]){inti;for(i=0;s2[i]!=①;i++)sl[i]=s2[i];②;}3、下面程序的功能是將字符串a(chǎn)中的下標為奇數(shù)的元素由小到大排序,其他元素不變,請?zhí)羁铡ain(){chara[]="students",t;intij;for(i=l;i<7;i+=2)for(j=i+2u<8;①)if(②){t=a[i];a[i]=a[j];a[j]=t;}puts(a);)分 割 線c語言考試題(二)一.填空題(每題2分,共20分).C語言基本數(shù)據(jù)類型有:;構(gòu)造類型有:.P.13.C語言源程序注注釋符號是:,為表明層次結(jié)構(gòu),C語言源程序通常采用格式編寫。P.4.源程序TEST.C經(jīng)編譯產(chǎn)生的目標文件是:;經(jīng)連接處理后,產(chǎn)生的可執(zhí)行文件是:。.strlen(K1234\Oxy)的值為:;sizeof(float)的值為: .二維數(shù)組a[10][50]最后一行的首地址為:;最后一個元素的首地址為:..C標準庫函數(shù)中,數(shù)學函數(shù)的原型在:頭文件中,自定義頭文件D:\MYC\MY.H應(yīng)如何包含到源程序文件中:.P.130.已知函數(shù)定義為:intstat(inta,float*p)則此函數(shù)的兩個參數(shù)類型分別是.設(shè)intx,y,z=4;x=y=-H-z;x=(y>z)?x+2;x-H-;則x的值是:;設(shè)inta=0,b=0,c=0;c=++a||b++;,則a、b、c值分別是:.與if(x=0)等價的寫法是if(!x);判斷兩個(float)變量x,z是否相等一般:if(fabc(x-z)<le-6)。.已知賦值語句zhang.year=1985;可判斷zhang是類型的變量;定義文件指針的C語句是: 。PPFi?端 找號武資料就上芳武資料網(wǎng)你的專武小幫手!www.ppk三.~單項選擇題(每題1分,共10分)1.組成C程序的基本單位是OA.函數(shù)B.標識符C.表達式D.語句.設(shè)int類型的數(shù)據(jù)長度為2字節(jié),則該類型數(shù)據(jù)的取值范圍是.A.0至65536B.0至65535C.-32767至32768D.-32768至32767.在C語言中,邏輯值“真”是用表示的。A.預(yù)定義為真值的宏B.非零數(shù)C.正數(shù)D.非零整數(shù).C語言對于嵌套if語句規(guī)定else總是與匹配。A.與最外層的ifB.與之前最近的ifC.與之前最近的不帶else的ifD.與最近的{}之前的if.數(shù)組定義chara[10]={'a','b','c'}:包括了幾個元素。A.3B.9C.4D.10.數(shù)組名作為實參傳給被調(diào)用的函數(shù)時,形參獲得的是oA.該數(shù)組第一個元素的值B.該數(shù)組所有元素的值C.該數(shù)組第一個元素的首地址D.該數(shù)組所有元素的首地址.為表示關(guān)系x2y》z,正確的C語言表達式為,A.(x>=>y>=z)B.(x>=y)AND(y>=z)C.(x>=y)&&(y>=z)D.(x>y)&(y>=z).根據(jù)定義inta[]={1,2,3},i1*p=a;從語法分析是不正確的。A.a[p-a]B.*(&a)C.pD.*(*(a+i)).若有語句scanf("%d%d",&a,&b);要使變量a,b分別得到12和34;正確的輸入形式為A.1234B.12,34C.1234D.12:34.unionuex{inti;floatf;charc;}ex;貝ijsizeof(ex)的值是A.4B.5C.6D.7三.分析程序,寫出運行結(jié)果。(每題4分,共20分).源程序如下,運行時假定鍵盤輸入字符串為''2004'、#includevoidmain(void){intn=0;charc;while((c=getchar())!='\n')/*字符型數(shù)字*/(if(c>='0'&&c<='9')n=n*10+c-O';/*數(shù)字*/printftt4value=%d|nM,n);)結(jié)果為:value=2004。.源程序如下:#includevoidmain(void){intnum[9]={399,398,397,396,395,299,290,311,301);intscore[9]={81,85,59,77,90,66,89,93,73};intiMax,iPos,i;iPos=0;iMax=score[iPos];for(i=l;i<9;i-H-)if(score>iMax){iPos=i;iMax=score[iPox];)printf("num=%d,score=%d”,num[iPos];score[iPos]);結(jié)果為:num=311,score=93。.源程序如下,運行時假定鍵盤輸入數(shù)據(jù)為:12345678910#includevoidmain(void)(inti,a[10];int*p;p=a;for(i=0;i<10;i-H-)scanf("%d”,p-H-);fbr(p=a;p<SPAN>;p++)if(*p%2)printf(“%3d”,*p);}結(jié)果為:13579?.源程序如下,兩次運行,分別輸入數(shù)據(jù)13和21#include#includevoidmain(void)(intn?s;scant("%d”,&n);s=panduan(n);if(s=l)printf("yes'n");elseprintf{wno\n);)intpanduan(intn){intkJ;k=(int)sqrt((double)n);for(j=2;j<=kj++)if(n%j=O)break:if{j>k)retum(l);elseretum(O);}結(jié)果為yesno.源程序如下,運行時假定鍵盤輸入字符為:AxByCz#include#includevoidmain(void)|charstr[80];inti;gets(str);fbr(i=O;str!='\O';i++)ifi(str>='a'&&str<='z')str-=32;elseif(str>='A'&&str<='Z')str+=32;puts(str);)結(jié)果為:aXbYcZo四.下列程序中每個劃線處有一個錯誤,改正劃線中的錯誤,使其實現(xiàn)題目要求。(每體4分,共20分)1.求s=l+2+3+、、、、、、、+100include改正為。voidsum(void)改正為?(ints9i;for(s=0,i=l;i<=100;i++)(s=s+i++;改正為o}printf("s=%f",s)改正為。}.源程序?qū)崿F(xiàn)求x#includedoublepow()改正為。voidmain(void)|inti,n;floatx;scanf("%f,%d",&x,&n);fbr(i=l;i〈9;i++)printfCJ%d,%e\n,,>i,pow(i,x);}改定為?doublevvpow(floatx,intn)(inti;doublep=0;改正為ofbr(i=l;i<i++)>改正為 °p*=x;retum(p);.源程序?qū)崿F(xiàn)排升序。#includevoidmain(void){inti,j,iMin,a[10]={4,3,5,1,10,12,2,6,7,9},iTemp;for(i=0;i<9;i++)(iMin=0;改正為ofor(j=i+l;j<10u-H-)if(a[iMin]<iMin="j;">改正為。if(iMin=i)改正為。{iTemp=a;a[iMin]=a;改正為。a[iMin]=iTemp;}}fdr(i=O;i<10;i-H-)printfC%4d”,a):}.源程序為求平均值。#includevoidmain(void){inti,sum;改正為。floatavg;intsc[10],*p=sc;for(i=0,i<10;i++)改正為。|scanfC%d”,p++);sum+=*p;力正為o}avg=sum/10;改正為 。printf^avg=%f\avg);一}.源程序求eX=l+x+x2/2!+ +xn/n!前n+1項之和#includevoidmain(void>(floatexp,x,t;inti,n;scanf(t4%f,%d”,&x,&n);t=0;改正為oexp=1.0;fbr(i=l;i<=n;i-H-){ifi[t<1e-6)loop;改正為 ot+=x/i;改正%oexp*=t;改正為。}primfT\n%15.6f\exp);■)五.編程題(每題6分,共30分).根據(jù)以下程序框架,編寫子函數(shù),實現(xiàn)交換兩個整型變量x和y的值。#includevoidswap(int*,int*);voidmain(void)(intx,y;scanf("%d,%d",&x,&y);swap(&x,&y);printf^%d,%d”,x,y);)voidswap().設(shè)某班人數(shù)36人,參加C語言考試,用一維數(shù)組score[36]存放考試成績,已給出一部分程序,完善以下程序,使其實現(xiàn)統(tǒng)計并輸出不及格人數(shù)及百分比。#includevoidmain(void){inti;floatscoer[36],precent;intcount=0;for(i=0;i<36;i++){scanf(€4%f\&score);:.完善以下程序使其實現(xiàn)由鍵盤任意輸入一串字符,統(tǒng)計其中大寫字母個數(shù)iA、小寫字母個數(shù)ia、其他字符個數(shù)iothero#include#includevoidmain(void){charstr[80];inti,iA=0,ia=0,iother=0;.完善以下程序使其實現(xiàn)求方陣主和輔對角線元素之和及其轉(zhuǎn)置矩陣,設(shè)方陣用二維數(shù)組a表示,轉(zhuǎn)置矩陣用t表示,si和s2表示主和輔對角線元素之和。#includevoidmain(void){inta[3][3]={1,3,5,7,9,11,13,15,11};inti,j,si,s2;intt[3][3];printfT%d,%d,\n,,,sl,s2);fbr(i=O;i<3;i++)for(j=0;j<3;j++)PPFi?輸 我號試資料,就上節(jié)武資料對你的專武小幫手!www.ppkprintf(u%3dv,t[j]);).已知字符數(shù)組str[80],編寫返回指針的子函數(shù),實現(xiàn)在其中查找字符ch首次出現(xiàn)的位置。#include#include#includechar*lstrchar(char*,char);voidmain(void)|charc,*p,str[80];gets(str);scanfC%c”,&c);p=lstrchar(str,c);ifi(p=NULL)printff4char%cnotfbund\n"c);elseprintff'Thepositionis%dM,p-str);chart4lstrchar(){)搜刮的試題一。單項選擇題.線性表的長度定義是a.線性表所有元素所占字節(jié)數(shù)b.線性表所有元素的個數(shù)c.由線性表的不同而有不同定義d.以上均不對. 能管理計算機系統(tǒng)資源,并使用戶能方便高效地使用這些資源。a.操作系統(tǒng)b.數(shù)據(jù)庫c.編輯軟件d.應(yīng)用軟件.計算機系統(tǒng)中除以外的硬件設(shè)備統(tǒng)稱為“外部設(shè)備”。a.cpub.主存儲器c.主機d.存儲器.對容量大的計算器常以mb為單位表示存儲器的容量,Imb等于a.1048576字節(jié)b.lOOOkb字節(jié)1024000字節(jié)1000000字節(jié)5.dos工作站shell分為,初始化兩部分。a.上位內(nèi)存b.上位內(nèi)存和高位內(nèi)存c.擴展內(nèi)存和常規(guī)內(nèi)存d.常駐內(nèi)存答案:bacad單項選擇題.表達式:10!=9的值是()a)trueb)非零值c)0d)l.在c語言中,運算對象必須是整型數(shù)的運算符是()a)%b)\0%和\d)**.設(shè)a為整型變量,不能正確表達數(shù)學關(guān)系:10a)10b)a=ll||a=12||a=13||a=14c)a>10&.&.a<15d)!(a<=10=&.&.!(a>=15.若t為double類型,表達式t=l、t5,t的值應(yīng)是0a)lb)6.0c)2.0d)1.05,若有以下說明和語句:int,a=5,a,此處表達式a的值是()a)7b)6c)5d)4答案:daadc項選擇題.請選出可用作c語言用戶標識符的一組標識符()a)void,define,wordb)a3_b3,_123,ifc)fbr, abc,cased)2a,do,sizeof.c語言中最簡單的數(shù)字類型包括()a)整型、實型、邏輯型b)整型、實型、字符型c)整型、字符型、邏輯型d)整型、實型、邏輯型、字符型.C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是()a)doubleb)shortc)integerd)char.c語言中合法的字符常量是()a)'\084'b)'\x43'c)'ab'd)“\0”.若已定義x和y為double型,則表達式:x=l,y=x3/2的值是0a)lb)2c)2.0d)2.5答案:bbbbc.規(guī)定一個工人工作時間一月160h,每小時工資5元,加班的話,每小時增加4元,請編程計算此工人一個月的工資,工作時間由鍵盤輸入。main()|intt,salary;system(nclsH);printf(nPleaseinputthetime:\nM);if(t<=160)salary=t*5;elsesalary=160*5+(t-160)*9;printffThesalaryis:%d\nn,salary);}.輸入30個整數(shù),統(tǒng)計出其中正整數(shù)個數(shù),負整數(shù)個數(shù)及。的個數(shù),并分別求出所有負整數(shù)與所有正整數(shù)的和,最后求出全部數(shù)字絕對值之和。#include"math.h"main(){inta[30],p=0,n=0,z=0,sum=0,i,sumn=0,sump=0;system(nclsM);printfif11Pleaseintput30numbers:'。");fbr(i=0;i<30;i-H-)scanf(H%d",&a[i]);fbr(i=0;i<30;i++){if(a[i]>0)p=p++;sump=sump+a[i];elseifi(a[i]<0)n=n++;sumn=sumn+a[i];elseZ=Z-J—Fj}fbr(i=0;i<30;i++)sum=sum+fabs(a[i]);printff'Theplusnumberandtheadditionis:%d,%d\nH,p,sump);printff'Thenagativenumberandtheadditionis:%d,%d\nH,n,sumn);printff'Thezeronumberis:%d\nH,z);printf(nThesumoftheabsolutevalueis:%d\nn,sum);}.s=a+a*a+a*a*a+...+a*a*...*a(n個a),k=sqrt(s);t=1-1/2+1/3-1/4+...+1/k,a和n值由鍵盤輸入,求t值。#include"math.h”main()(intk,s=0,n,i,aj=1,q=1;floatt=0;system(MclsH);printff'Pleaseinputthevalueofaandn:\nH);scanfC'%d%dn,&a,&n);fbr(i=O;i{j=a*j;s=s-fj;)k=sqrt(s);fbr(i=l;i<=k;i++)(t=t+q*(1.0/i);q=-q;)printffThevalueofsis:%d\n",s);printffThevalueofkis:%d\nH,k);printff'thevalueoftis:%f\nM,t);4.n!,sum=n!+(n+l)!+(n+2)!+...+m!,n,m值由鍵盤輸入,要求調(diào)用函數(shù)。調(diào)用函數(shù):fac(intn)|inti,su=l;fbr(i=l;i<=n;i++)su=su*i;retum(su);)main()(intm,n,i;longintsum=0;system(MclsH);printf(nPleaseinputthevalueofnandm:\nH);scanfi("%d%dn,&n,&m);fbr(i=0;i<=(m-n);i+4-)sum=sum+fac(n4-i);printffSumis:%ldH,sum);)5.輸入20個學生的成績,求出其中大于平均成績學生的人數(shù),并對成績按從高到低進行排序。main()(intp=20,i,k=0j;floatave,a[20],t,sum=0;system(nclsH);printfi(MPleaseinputthescoreofthestudents:\nM);fbr(i=O;iscanfi(n%r,&a[i]);fbr(i=O;isum=sum+a[i];ave=sum/p;fbr(i=O;i{if(a[i]>ave)k++;)fbr(i=O;ifor(i=ljif(a[i-l]{t=a|j-l];a[j-l]=a[j];a[j]=t;)printf("studentsabovetheaveragescoreandtheaveragescore:%d,%.lf\n",k,ave);printff'Thescorefromuptodownis:\nH);fbr(i=O;iprintf(M%.lf\tH,a[i]);)學號: 姓名: 分數(shù):一、選擇題(1-14題,每題1分;5-36題,每題2分。共58分)D(l)若有說明:intn=2,*p=&n,*q=p;,則以下非法的賦值語句是p=q; B)*p=*q;C)n=*q;D)p=n;D(2)設(shè)a和b均為double型變量,且a=7.5、b=2.5,則表達式(int)a+b/b的值是A)7.500000B)7 C)5.500000D)8.000000A(3)已知i、j、k為int型變量,若從鍵盤輸入:123〈回車〉,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是A)scanfT%2d%2d%2d'',&i,&j,&k);scanfC%d%d%d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k);D)scanfC4i=%dj=%d,k=%d,\&i,&j,&k);A(4)與數(shù)學式子對應(yīng)的C語言表達式是A)3*pow(x,n)*(l/(2*x-1)) B)3*x**n(2*x-l)3*xAn(2*x-l) D)3*pow(n,x)/(2*x-1)C(5)設(shè)有定義:k)ngx=-l23456L;,則以下能夠正確輸出變量x值的語句是A)printfi("x=%d\n",x);B)prints“x=%LD\n",x);C)primf("x=%8dL\n",x);D)printf("x=%ld\n",x);C(6)若有以下程序:main(){intk=3,i=2,m;m=(k+=i*=k);printR"%d,%d\n”,m,i);}執(zhí)行后的輸出結(jié)果是A)8,6 B)8,3 C)9,6D)6,9D(7)已有定義:intx=3,y=4,z=5:,則表達式!(x+y)+z-l&&y+z/2的值是A)0 B)6 C)2 D)1B(8)若有以下說明和定義typedefint*INTEGER;INTEGERp,*q;以下敘述正確的是A)P是int型變量 B)程序中可用INTEGER代替int類型名C)q是基類型為int的指針變量 D)p是基類型為int的指針變量B(9)有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此處do一while循環(huán)的結(jié)束條件是P的值不等于12345或者n的值小于3P的值等于12345或者n的值大于等于3P的值不等于12345并且n的值小于3P的值等于12345并且n的值大于等于3B(10)C語言中,函數(shù)值類型的定義可以缺省,此時函數(shù)值的隱含類型是A)voidB)intC)floatD)doubleC(ll)以下非法的賦值語句是A)n=(i=2,++i); B/++;C)++(i+l); D)x=j>0;(12)以下敘述中錯誤的是A)二進制文件打開后可以先讀文件的末尾,而順序文件不可以B)不可以用FILE定義指向二進制文件的文件指針C)在利用fread函數(shù)從二進制文件中讀數(shù)據(jù)時,可以用數(shù)組名給數(shù)組中所有元素讀入數(shù)據(jù)D)在程序結(jié)束時,應(yīng)當用fdose函數(shù)關(guān)閉已打開的文件C(13)設(shè)有如下定義:strucksk{inta;floatb;}data;int*p;若要使P指向data中的a域,正確的賦值語句是A)p=&a;B)p=data.a;C)p=&data.a;D)*p=data.a;A(14)以下選項中,與k=n++完全等價的表達式是A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+lC(15)有一函數(shù),,以下程序段中不能根據(jù)x值正確計算出y值的是B)y=0;elseif(x=0)y=0;if(x>0)y=l;elsey="l;elseif(x<0)y=-l;C)y=0;D)if(x>=0)ifi[x>=0);ifi[x>0)y=l;ifi[x>0)y=l;elsey=0;elsey=-l;elsey=-l;D(16)有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf(fc4%3.1f\n,,,fun((int)fun(a+c,b),a-c));}程序運行后的輸出結(jié)果是A)編譯出錯B)9 C)21 D)9.0B(17)有以下程序voidfiin(char*c,intd){ *c=*c+l;d=d+l;printf^%c,%c;;*c,d);}main(){chara=,B,,b=,b,;fun(&b,a);printf(4t%c,%c\n,,,a,b);)程序運行后的輸出結(jié)果是A)c,B,B,cB)c,C,B,cC)B,b,B,bD)b,B,c,bC(18)以下程序中函數(shù)sort的功能是對a所指數(shù)組中的數(shù)據(jù)進行由大到小的排序B)1,2,10,9,8,7,6,5,4,3D)10,9,8,7,6,5,4,3,2,1B)1,2,10,9,8,7,6,5,4,3D)10,9,8,7,6,5,4,3,2,1C)2 D)6pp/?^輸voidsort(inta[],intn){intij,t;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)ifi(a<a[j]){t=a;a=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);fbr(i=o;i<10;i++)print(<t%d/\aa);printf(,\n");程序運行后的輸出結(jié)果是A)1,2,3,4,5,6,7,8,9,10C)1,2,3,8,.9,10D(19)有以下程序intf(intn){if(n=l)return1;elsereturnf(n-l)+l;}main(){inti,j=0;fbr(i=l;i<4;i-H-)j+=fi(i);}程序運行后的輸出結(jié)果是A)5 B)3C(20)有以下程序PPFi?端 找號武資料就上芳武資料網(wǎng)你的專武小幫手!www.ppkmain(){chara[]={'a','b','c','d','e','f','g','\0'};intij;i=sizeofi(a);j=strlen(a);printfC%d,%d\n”,iJ);}程序運行后的輸出結(jié)果是A)8,8B)8,7C)7,8 D)9,8(21)以下程序中函數(shù)reverse的功能是將a所指數(shù)組中的內(nèi)容進行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i-H-){t=a;a=a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,11};inti,s=O;reverse(b,8);fbr(i=6;i<10;i-H-)s+=b;printfi(4t%d\n,,,s);}程序運行后的輸出結(jié)果是A)22 B)23 C)35 D)56(22)有以下程序main(){intaa[4][4]={{l,2,3,4},{5,7,7,8},{3,9,10,2},{4,2,9,6}};inti,s=O;fbr(i=0;i<4;i-H-)s+=aa[l];printfi(tfc%d\n,,,s);程序運行后的輸出結(jié)果是A)11 B)19 C)13 D)20(23)有以下程序#include<string.h>main(){char*p="abcde?Ohjik\0”;printfi[t4%d\n,,,strlen(p));}程序運行后的輸出結(jié)果是TOC\o"1-5"\h\zA)12 B)15 C)7 D)5(24)程序中頭文件typel.h的內(nèi)容是:#define N 5#define Ml N*3程序如下:#include"typel.hM#defineM2N*2main(){inti;i=M1+M2;printfr%d\n”,i);}程序編譯后運行的輸出結(jié)果是:A)10 B)20 C)25 D)30(25)有以下程序#include<stdio.h>main(){FILE*fp;inti=30j=20,k,n;fp=fbpen(“dl.dat","w");fprintf(fp,k4%d\n,,,i);fprintf(fp;4%d\n,,,j);fclose(fp);fp=fbpenC4dl.dar,V5);fscanf(fp,<<%d%d,\&k,&n);printfif"%d%d\n",k,n);fclose(fp);}程序運行后的輸出結(jié)果是A)2030 B)2050C)3050D)3020(26)有以下程序#include<string.h>main(intargc,char*argv[]){inti,len=0;fbr(i=l;i<argc;i-H-)len+=strlen(argv);printfr%d\n”,len);:程序編譯連接后生成的可執(zhí)行文件是exl.exe,若運行時輸入帶參數(shù)的命令行是:exlabedef5gv回車,則運行的結(jié)果是:A)22 B)7 C)12 D)9(27)有以下程序intfa(intx){returnx*x;}intfb(intx){returnx*x*x;}intfl(int(*fl)(intx),int(*f2)(intx),intx){returnf2(x)-fl(x);}main(){inti;i=f(fa,fb,3);printfr%d\n”,i);}程序運行后的輸出結(jié)果是A)-18B)17 C)4D)18(28)有以下程序inta=3;main(){ints=0;{inta=5;s+=a++;}s+=a++;printf("%d\n”,s);}程序運行后的輸出結(jié)果是A)18 B)10 C)7 D)8(29)有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t?'a'+'A';s-H-;}|main(){charstrl[100]="abcddffefdbd”,c=d;ss(strl,c); printfC€%s\nM,str1);}程序運行后的輸出結(jié)果是A)ABCDDEFEDBD B)abcAAfefAbAC)abcDDfefDbD D)AbcddfefUbd(30)有以下程序PPFi?端找號武資料就上芳武資料網(wǎng)你的專武小幫手!www.ppkstructstu{charnum[l0];floatscore[3];};main(){structstus[3]={{u2002r\90,100,85},{u20022,,,95,80,75},{M20023M,100,95,90}},*p=s;inti;floatsum=0;for(i=0;i<3;i++)sum=sum+p->score;primfT%6.2f\iT,sum);}程序運行后的輸出結(jié)果是A)260.00B)270.00C)275.00D)285.00(31)有以下程序#include<stdlib.h>structNODE{intnum;structNODE*next;};main(){structNODE*p,*q,*r;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeofi(structNODE));r=(structNODE*)malloc(sizeofi(structNODE));p->num=5;q->num=20;r->num=30;p->next=q;q->next=r;printfi["%d\n'',p?>num+q->next->num);}程序運行后的輸出結(jié)果是A)35B)20C)30A)35B)20C)30D)40(32)有以下程序main(){unsignedchara,b,c;a=0x3;b=a|0x8; c=b?2;printfC4%d%d\n,\b,c);}程序運行后的輸出結(jié)果是A)1144 B)-6-13C)12 44D)1122(33)有以下程序#include<stdlib.h>main(){char*p,*q;p=(char*)malloc(sizeofi(char)*20);q=p;scanfC%s%s”,p,q);printf(C4%s%s\n,,,p,q);}若從鍵盤輸入:abcdef<回車,,則輸出結(jié)果是:A)aefdefB)defdefC)abcdD)dd(34)以下程序中函數(shù)f的功能是將n個字符串按由大到小的順序進行排序。#include<string.h>voidfi(charp[][10],intn){chart[20];intij;fbr(i=O;i<ii-l;i-H-)fbr(j=i+lu<n;j++)ifi(strcmp(p,p[j])<0){strcpy(t,p);strcpy(p,p[j]);strcpy(p|j],t);}}main(){charp[]UO]={"abc'',"aabdfg”,"abbd''Jdcdbe”,“cd''};inti;f(p,5);printfi[i4%d\n,,,strlen(p[0]));}程序運行后的輸出結(jié)果是A)5 B)4 C)15 D)3(35)以下程序的功能是:按順序讀入10名學生4門課程的成績,計算出每位學生的平均分并輸出,程序如下:main(){intn,k;floatscore,sum,ave;sum=0.0;fbr(n=l;n<=10;n-H-){ for(k=l;k<=4;k++){scanf("%F',&score);sum+=score;}ave=sum/4.0;printf(<tNO%d:%f\n,,,n,ave);}}上述程序運行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有一條語句出現(xiàn)在程序中的位置不正確。這條語句是A)sum=0.0; B)sum+=score;C)ave=sun/4.0; D)printf(t4NO%d:%f\n,,,n,ave);(36)有以下程序main(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;casel:m++;switch(b%2)case0:m++;break;}|printf("%d\n'',m);}程序運行后的輸出結(jié)果是TOC\o"1-5"\h\zA)11 B)2 C)1 D)4二、填空題(每空2分,共30分)1、若fp已正確定義為一個文件指針,dl.dat為二進制文件,請?zhí)羁?,以便為“讀”而打開此文件:fp=fbpen( );o2、以下程序運行后的輸出結(jié)果是 ?main(){intx=10,y=20,t=0;ifi[x=y){t=x;x=y};y=t;printf("%d,%d\n”,x,y);}3、以下程序運行后的輸出結(jié)果是 。main(){intx=25;while(x>10&&x<50){x++;ifi(x/3){x-H-;break;}elsecontinue;}printf(tt%d\n,,,x);}4、有以下程序:#include<stdio.h>main(){charc;while((c=getchar())!=,7,)putchar(—c);}程序運行時,如果從鍵盤輸入:z?N?〈回車〉,則輸出結(jié)果為 o5、以下程序運行后的輸出結(jié)果是 。voidfiin(intx,inty){x=x+y;y=x-y;x=x-y;printff4%d,%d,,,,x,y);}main(){intx=4,y=3;ftin(x,y);printf("%d,%d\n”,x,y);}6、以下函數(shù)的功能是計算s=l+++……+,請?zhí)羁?。doublefun(intn){doubles=0.0,fac=1.0;inti;fbr(i=l,i<=n;i-H-){fac=fac ;s=s+fac;}returns;}7、fun函數(shù)的功能是:首先對a所指的N行N列的矩陣,找出各行中的最大的數(shù),再求這N個最大值中的最小的那個數(shù)作為函數(shù)值返回。請?zhí)羁铡?include<stdio.h>#defineN100intfun(int(*a)[N]){introw,col,max,min;fbr(row=0;row<N;row+4-){fbr(max=a[row][0],col=1;col<N;col++)if( )max=a[row][col];if(row==0)min=max;elseif( )min=max;)returnmin;8、函數(shù)sstrcmp()的功能是對兩個字符串進行比較。當s所指字符串和t所指字符串相等時,返回值為0;當s所指字符串大于t所指字符串時,返回值大于0;當s所指字符串小于t所指字符串時,返回值小于0(功能等同于庫函數(shù)strcmp())。請?zhí)羁铡?include<stdio.h>intsstrcmp(char*s,char*t)TOC\o"1-5"\h\z{while(*s&&*t&&*s= )return ;}9、下面程序的運行結(jié)果是 。#define N 10#define s(x) x*x#define fi(x) (x*x)main(){intil,i2;il=1000/s(N);i2=1000/f(N);printfC4%d%d\n,,,il,i2);10、下面程序的運行結(jié)果是:voidswap(int*a,int*b){int*t;t=a;a=b;b=t;}main(){intx=7,y=5,*p=&x,*q=&y;swap(p,q);printf(fcfc%d%d\n,,,*p,*q);}11、下面程序的運行結(jié)果是: 。typedefunionstudent{charname[10];longsno;charsex;floatscore[5];}STU;main(){STUa[5];printf("%d\n”,sizeofi(a));}12、設(shè)有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請將語句補充完整。scanf("%d," );printf("%d\n", 。);三、編程題(12分)注意:請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)firn的花括號中填入你編寫的若干語句。1、請編寫函數(shù)fim(),其功能是:數(shù)組中存放有若干個數(shù),現(xiàn)任意讀入一個x,要求刪除數(shù)組中與x相同的那些數(shù)(設(shè)數(shù)組元數(shù)個數(shù)不大于50且均為整數(shù))。部分源程序如下:pp/?^輸#include<stdio.h>#include<conio.h>voidfun(a,n,x)inta[],n,x;main(){inta[10],i,x;fbr(i=0;i<10;i-H-)scanf(H%dH,&a);scanff%dH,&x);fun(a,10,x);《C語言程序設(shè)計》期末考試模擬試卷(c)c語言及計算機基礎(chǔ)試題2008-06-2720:05:04閱讀71評論0字號:大中小訂閱.一、單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的括號內(nèi)。TOC\o"1-5"\h\z.計算機能夠自動按照人們的意圖進行工作的最基本思想是( )A.采用邏輯部件 B.存儲程序和數(shù)據(jù)C.控制代碼 D.總結(jié)結(jié)構(gòu).若要顯示C盤TC子目錄下名為EXAM.C的內(nèi)容一定成功的命令是( )A.TYPEC:\TC\EXAM B.TYPEEXAM.CC.COPYCONC;\TC\EXAM.C D.COPYC:\TC\EXAM.CCON.編輯程序的功能是( )A.修改并建立源程序 B.將源程序翻譯成目標程序C.調(diào)試程序 D.命令計算機執(zhí)行指定的程序.設(shè)inta=2,b;則執(zhí)行b=a&&l;語句后,b的結(jié)果是( )A.O B.l C.2 D.3.逗號表達式(a=3*5,a*4),a+15的值是( )A.15 B.60 C.30 D.75.在C程序中,設(shè)一表達式中包含有int,long,unsigned和char類型的變量和數(shù)據(jù),則表達式最后的運算結(jié)果類型是( )A.int B.char C.unsigned D.long.下面程序段的運行結(jié)果是( )main(){inta=ll,b=10,c=0;a/=b+(b&&c);printfif"%d\n"a);}A.O B.1C.l.l D.11.兩次運行下面程序,如果從鍵盤上分別輸入6和4,則程序的輸出結(jié)果是( )main( ){intx;scanf(u%d”,&x);if(x-H->5)printfifw%d",x);elseprintf(n%d\nr,A.7和5 B.6和3C.7和4 D.6和49.表達式y(tǒng)<3?-1.0:1的值的類型應(yīng)是( )A.不確定 B.實型10.語句while(!e);中,條件!e等價于(A.e=0 B.e!=0C.整型 D.無符號整型)C.e!=l D.e=011.下面程序的運行結(jié)果是( )main(){inti=l,sum=0;lop:sum=sum+i;i=i+2;if(i<6)gotolop;print""sum=%d\n",sum);}A.suu=4 B.sum=9C.sum=16 D.sum=2512.若定義intx[10];則TurboC編譯系統(tǒng)為該數(shù)組分配( )個字節(jié)存儲單元。A.10 B.ll C.20 D.2113.以下對一維數(shù)組a中的所有元素進行正確初始化的是( )A.inta[10]=(0,0,0,0); B.inta[10]={ };C.inta[]={0};D.inta[10]={10*2};14.若有定義:chare[10];從鍵盤輸入“LiFang”,則正確的函數(shù)引用是( )A.scanfif"%c",&c[10]);C.scanf("%s",&c);.若有如下函數(shù)定義:add(floatx,floaty)則上溫法正確的是( )A.函數(shù)返回值類型不確定C.函數(shù)返回值是int型.下面程序的運行結(jié)果是( )B.gets(c);D.gets(c[10]);B.函數(shù)返回值是float型D.函數(shù)返回值是void型fun(a,b)inta,b;{staticc=l;if(c=l)a=b+c;elsea=b-cC++;printf(a=%d,b=%d\nu,a,b);}main(){inta=3,b=5;fun(a,b);fun(a+l,b-l);}A.a=6,b=5 B.a=5,b=5a=5,b=5 a=4,b=4C.a=6,b=5 D.a=6,b=6a=2,b=4 a=5,b=317.若輸入5和2后,下面程序的運行結(jié)果是( )

voidswap(xl,x2)int*xl,*x2;{int*x;x=x1;x1=x2;x2=x;}main(){inta,b,*pl,*p2;scanfT%d,%d",&a,&b);pl=&a,p2=&b;ifi[a>b)swap(p1,p2);prints"%d,%d\n,/,*pl,*p2);}TOC\o"1-5"\h\zA.5,2 B.5,5 C.2,5 D.2,2.若有定義int*x[3],b[10];則正確的賦值語句是( )A.x=b[0];B.x=b; C,x[0]=b[0];D.x[0]=&b[0];.下面程序的運行結(jié)果是( )#defineADD(x)x+xvoidmian(){inta=2,b=1;prinft(z/%d\n",3*ADD(a+b));}A.9 B.10 C.12 D.18.則FILE*fp;charch;ch=fgetc(fjj);可以推知fgetc函數(shù)的原型可以是( )A.voidfgetc(); B.charfgetc()C.charfgetc(int); D.intfgetc(FILE*fp);二、多項選擇題(本大題共10小題,每小題2分,共20分)在每小題列出的五個選項中有二至五個選項是符合題目要求的,請將正確選項前的字母填在題后的括號內(nèi)。多選、少選、錯選均無分。)C.MSDOS.SYSC.(215)8))C.MSDOS.SYSC.(215)8)C.(c>a)>(b>5)A.COMMAND.COM B.IO.SYSD.TurboC E.BOOT,與十進制141等值的數(shù)是( )A.(l0001101)2 B.(10001110)2D.(8D)16 E.(8E)16.設(shè)a=l,b=-3,c=0,下面表達式為0的是(A.b>a&&a<c B.a-3II(c=0)D.!a&&bIIa&&(c+l) E.(1,2,5)==(1,3,3).在下列各說法中,正確的說法有( )A.break語句只能用于循環(huán)語句B.break語句只能用于switch語句和循環(huán)語句C.break語句可用于switch語句D.break語句可用于循環(huán)語句E.break語句不能用于switch語句25.若有如下定義及賦值( )intx=9,*p,*pl;p=&x;pl=p;則可以輸出變量x的地址的語句是A.printR"%d\n",x) B.printfif7%d\n",*p);C.printfifH%d\n",pl); D.printf(n%d\n",&x);E.printfif,f%d\n/z,*pl);.有函數(shù)定義如下:( )voidss(x)int*x;則上鹵薪1引用函數(shù)SS的正確形式是A.main() B.main() C.main(){inta[5]; {inta[5].*p=a; {inta[5];

ss(a);…}D.main()ss(a);…}D.main(){inta[5],*p=a;ss(p);…}E.main(){inta[5],*p=a;ss(a[0]);ss(p[0]); ss(*p);TOC\o"1-5"\h\z.若看定義intx[4][5],(*p)[5];及蕨值p=x;則下列表示數(shù)組地址的形式中,地址值相等的是( )A.*(x+1) B.x+1 C.x[2]D.P+1 E.*(p+1).設(shè)有定義inta[3][6],*p;則正確的指向數(shù)組元素的指針賦值是( )A.p=*a; B.p=a[0]; C.p=aD.p=a+1; E.p=*(a[0]+1);.有以下定義和語句:( )structstud{charname[10];intage;}structstuds,*ps;ps=&s;則下面正確的語句是A.s={"Mary”,30} B.(*ps)-*age=30C.=uMary";D.scanflfu%d",&ps->age);E.strcpy(ps->name,Mary");.設(shè)有inta=123;aA0xfTO0可以使a的( )A.低字節(jié)取反 B.高字節(jié)取反 c.低字節(jié)不變D.高字節(jié)不變 E.高低字節(jié)都取反三、填空題(本大題共10小題,每小題1分,共10分).設(shè)字長為八位,十進制一100在機內(nèi)的存儲形式是o.C語言程序由main()函數(shù)開始執(zhí)行,應(yīng)在函數(shù)中結(jié)束。.在格式輸出語句中,用于帶符號的十進制長整型輸出的格式符是o.當a=2,b=3,c=l時,執(zhí)行以下程序段后,輸出結(jié)果是。if(a>b)if(a>c)printR"%d\n,/,a);elseprintf("%d\n',b);prints"end\nff);.設(shè)i,n,p均為int型變量,則執(zhí)行以下程序段后,p的值為。p=l;n=4;fbr(i=1;iv=n;i++)P=P*i;.以下程序的輸出結(jié)果是omain(){inta[3][3]={l,2,3,4,5,6,7,8,9},i,s=0;fbr(i=0;i<=2;i-H-)s=s+a[i][i];printf(us=%d\n",s);}.所謂變量的就是可引用變量的范圍,通常取決于變量被定義的位置。.設(shè)pl,p2為同類型的指針變量,若有pl==p2,則說明pl與p2指向o.在unionstd{intfjh;charaddr[30];}wang;中,wang是具有"unionstdH共用體類型的。.字符串寫函數(shù)fbuts()的格式是fbutsGHfb);它的功能是。四、簡答題(本大題共4小題,第41、42題每小題2分,第43、44題每小題3分,共10分).描述一個C程序開發(fā)過程的流程圖。.將下列條件語句邏輯關(guān)系寫得更清晰一些(必要時可把if嵌套的有關(guān)部分寫成復(fù)合語句)。if(a<b)if(c<d)x=0;elseif(a<c)if(b<d)x=l;elsex=2;elseif(a<d)if(b<c)x=3;elsex=4;elsex=5;elsex=6;.定義char*str="program";和定義charstr[]="program;是等價的嗎?為什么?.簡述feof函數(shù)返回值的含義。五、閱讀分析題(本大題10小題,每小題2分,共20分).閱讀下列程序,寫出運行結(jié)果。main(){unsigneda;intb=-l;a=b;printR"%u\n〃,a);printR"a=%x",a);}.閱讀下列程序,并回答問題:main(){intx=1,y=O,a=O,b=O;switch(x){case1:switch(y){case0;a-H-;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printR"a=%d,b=%d\n”,a,b);}請分析該程序的執(zhí)行過程并寫出運行結(jié)果。第47、48、49題請參閱下面程序,并回答相關(guān)問題:#defineN8main(){inta=l,b-l,i;for(i=l,i<=N/2;i++){printR"%5d%5d",a,b);if(i%2=0)printf^\n");a=b+a;b=a+b;}}.printfC\n");語句執(zhí)行多少次?.程序輸出結(jié)果是什么?.若把if(i%2==0)print("\n");語句刪除,程序輸出效果與48題有何不同?第50、51、52題請參閱下面程序,并回答相關(guān)問題。main(){intnum;scanR"%d',&num);if(prime(num))printf("%disprimenumber”,num);elseprintf("%disnotaprimenumber,num);}intprime(num)intnum;{intflag=l,n;fbr(n=2;n<num/2&&flag=l;n++)if(num%n==0)flag=0;

pp/?^輸pp/?^輸找考試資料,就上寫優(yōu)資料網(wǎng),你的專武小幫手!www.ppkreturn(flag);}.prime函數(shù)鬲功能是什么?.當輸入23時,程序運行結(jié)果是什么?.flag變量的作用是什么?第53、54題請參閱下面程序,并回答相關(guān)問題。structnode{intx;structnode*next;};voidprint(structnode*head){structnode*p;p=head;while(p!=NULL){printf(〃%d\n”,p-x);p=pfnext;}).函數(shù)print完成的功能。.語句p=pfnext;的作用。六、程序設(shè)計題(本大題共2小題,第55小題8分,第56小題12分,共20分).將26個英文字母按aAbBcCdD……zZ先小寫后大寫的順序逐個打印出來。.編程實現(xiàn)將字符串str2連接到字符串strl的末尾并輸出strl串。(不得使用C中的strcat標準庫函數(shù))一、單項選擇題(本大題共20小題,每小題1分,共20分)TOC\o"1-5"\h\zLB 2.D 3.A 4.B 5.C6.D 7.B 8.C 9.B 10.All.B 12.C 13.C 14.B 15.C16.C 17.A 18.D 19.B 20.D二、多項選擇題

溫馨提示

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

評論

0/150

提交評論