c語言試題及答案_第1頁
c語言試題及答案_第2頁
c語言試題及答案_第3頁
c語言試題及答案_第4頁
c語言試題及答案_第5頁
已閱讀5頁,還剩14頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

c語言試題及答案C語言是一門通用計算機編程語言,應用廣泛。小編收集了c語言試題及答案,歡迎閱讀。c語言試題選擇題(7分,每小題0.5分)C語言源程序的基本單位是()。A過程B函數C子程序D標識符下列程序的輸出結果是()。main(){inta=7,b=5;printf("%d",b=b/a);}A5B1C0D不確定值3?假設變量a,b均為整型,表達式(a=5,b=2,a>b?a++:b++,a+b)的值是()。A7B8C9D24?設a為int型變量,執行下列賦值語句后,a的取值分別是()。a=125.534;a=(int)125.521%4;a=5<<2;A125,31,1B125,1,20C125,31,20D125.534,2,20設有如下程序段,下面描述中正確的是()。intk=10;while(k=0)k=k-1;A循環執行一次B循環是無限循環C循環體語句一次也不執行D循環體語句執行一次以下程序的輸出結果為()。inti;voidprt(){for(i=5;i<8;i++)printf("%c",'*');printf("");}main(){for(i=5;i<=8;i++)prt();}A***B************C******D***7?在C語言程序中,以下說法正確的是()。A函數的定義可以嵌套,但函數的調用不可以嵌套B函數的定義不可以嵌套,但函數的調用可以嵌套C函數的定義和函數的調用都不可以嵌套D函數的定義和函數的調用都可以嵌套以下函數調用語句中含有()個實參。func((e1,e2),(e3,e4,e5));A2B3C5D語法錯誤以下程序的輸出結果為()。#defineADD(x)x*xmain(){inta=4,b=6,c=7,d=ADD(a+b)*c;printf("d=%d",d);}Ad=70Bd=80Cd=140Dd=700已知職工記錄描述如下,在TurboC中,系統為變量w分配()字節的空間。structworker{intno;charname[20];charsex;union{intday;intmonth;intyear;}birth;}w;A29B20C25D611.設有以下定義,值為5的枚舉常量是()。enumweek{sun,mon=4,tue,wed,thu,fri,sat}w;AtueBsatCfriDthu下面選項中正確的賦值語句是(設chara[5],*p=a;)()。Ap="abcd";Ba="abcd";C*p="abcd";D*a="abcd";設有以下程序段,則值為6的表達式是()。structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,0},*p;p=&a[0];Ap++->nB++p->nCp->n++D(*p).n++C語言中的文件類型只有()。A索引文件和文本文件兩種B文本文件一種C二進制文件一種DASCII碼文件和二進制文件兩種判斷對錯,對的劃“丿”,錯的劃“X”(5分,每小題0.5分)1?在TurboC中,整型數據在內存中占2個字節。()2.inti=20;switch(i/10){case2:printf("A");case1:printf("B");}的輸出結果為Ao()break語句用在循環體中,可結束本層循環,continue語句用在循環體中,可結束本次循環。()函數的遞歸調用不過是一個函數直接或間接地調用它自身。()函數strlen(〃ASDFG〃)的值是7。()通過return語句,函數可以帶回一個或一個以上的返回值。()結構體類型只有一種。()char*p=〃girl〃;的含義是定義字符型指針變量p,p的值是字符串〃girl〃。()9?若有定義:char*p(chara[10]);則p是函數名。()10.用fopen(〃file〃,〃r+〃);打開的文件〃file〃可以進行修改。()寫出下列程序的運行結果(10分,每小題2分)floataverage(floatarray[10]){inti;floataver,sum=array[0];for(i=1;i<10;i++)sum=sum+array[i];aver=sum/10;return(aver);}main(){floatscore[10]={89,67.5,78,91,56,82.5,65,70,79,88},aver;inti;aver=average(score);printf(“averagescoreis%5.2f”,aver);}main(){chara[5]={‘A',‘B',‘C',‘D',‘E'},*p=a,**pa;for(p=0;p<a+5;p++)<p="">printf(“%2c”,*p);printf(“”);printf(“%2c”,**(pa=&p));}main(){inta,b,s=0;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf(“a=%db=%d”,a,b);}main(){printf(“main():%d”,fact(5));fact(-5);fact(intvalue){intf;if(value<0){printf(“Argerror");return(-1);}elseif(value==1||value==0)f=1;elsef=value*fact(value-1)+1;printf(“Thiscalledvalue=%d”,f);returnf;}main(){inta=012,b=0x12,k=12;charc=‘102',d=‘';printf(“a=%db=%dk=%d”,a,b,k);printf(“c=%c,d=%c%o”,c,d,a);a=‘A';c=49;printf(“a=%dc=%c”,a,c);}閱讀下列程序,在處填入適當內容,使程序完整(8分,每個空1分)有一個3*4矩陣,求其中的最大元素。max_value((1)){inti,j,max;max=array[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(array[i][j]>max)max=array[i][j];(2);}main(){inta[3][4],i,j;for(i=0;i<3;i++)for(j=0;j<4;j++)(3);printf(“maxvalueis%d”,max_value(a));}2?輸入x、y兩個整數,按先大后小的順序輸出x、y。#include“stdio.h”main(){intx,y,*px,*py,(4);scanf(“%d%d”,&x,&y);(5);(6);if(x<y)<p="">{p=px;px=py;py=p;}printf(“x=%d,y=%d”,x,y);printf(“MAX=%d,MIN=%d”,*px,*py);}用選擇排序法對任意10個整數按照由小到大排序main(){inta[11],i,j,k,t;printf("Pleaseinput10numbers:");for(i=1;i<11;i++)scanf("%d",&a[i]);printf("");for(i=1;i<=9;i++){(7);for(j=i+1;(8);j++)if(a[j]>a[k])k=j;if(k!=i){t=a[k];a[k]=a[i];a[i]=t;}}printf("Thesortednumbers:");for(i=1;i<11;i++)printf("%d",a[i]);}答案選擇題(7分,每小題0.5分)B2.C3.B4.B5.CA7.B8.A9.A10.CA12.A13.B14.D判斷對錯,對的劃“丿”,錯的劃“X”(5分,每小題0.5分)X2.X3.V4.V5.X6.X7.X8.X9.V10.V寫出下列程序的運行結果(10分,每小題2分)2.3.5.閱讀下列程序,在處填入適當內容,使程序完整(8分,每個空1分)(1)intarray[3][4](intarray[][4])(2)return(max)(3)scanf(“%d”,&a[i][j])(4)*p(5)px=&x(py=&y)(6)py=&y(px=&x)(7)(8)2003C語言試題3選擇題(24分,每小題2分)已知函數fread的調用形式為fread(buffer,size,count,fp),其中buffer代表的是()。A存放讀入數據項的存儲區B存放讀入數據的地址或指向此地址的指針C一個指向所讀文件的文件指針D一個整形變量,代表要讀入的數據項總數以下程序的輸出結果為()。main(){inti=010,j=10;printf("%d,%d",i++,j--);}A11,9B9,10C8,10D9,93?設a為int型變量,執行下列賦值語句后,a的取值分別是()。a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;A125,6,31,1B125,6,1,20C125,6.666666,31,20D125.534,6.666666,2,204?設i和k都是int類型,則for循環語句()。for(i=0,k=-1;k=1;i++,k++)printf("****");A循環結束的條件不合法B循環體一次也不執行C循環體只執行一次D是無限循環以下程序的輸出結果為()。main(){charc;inti;for(i=65;i<68;i++){c=i+32;switch(c){case'a':case'b':case'c':printf("%c,",c);break;default:printf("end");}}}Aa,b,c,endBa,a,a,endCa,a,a,Da,b,c,6?函數調用語句:fseek(fp,-10L,2);的含義是()。A將文件位置指針從文件末尾處向文件頭的方向移動10個字節B將文件位置指針從當前位置向文件頭的方向移動10個字節C將文件位置指針從當前位置向文件末尾方向移動10個字節D將文件位置指針移到距離文件頭10個字節處以下程序的輸出結果為()。main(){chars1[40]="country",s2[20]="side";inti=0,j=0;while(s1[i]!='\0')i++;while(s2[j]!='\0')s1[i++]=s2[j++];s1[i]=0;printf("%s",s1);}AsideBcountryCsidetryDcountryside下列說法不正確的是()。A主函數main中定義的變量在整個文件或程序中有效B不同函數中,可以使用相同名字的變量C形式參數是局部變量D在一個函數內部,可以在復合語句中定義變量,這些變量只在本復合語句中有效9?在下列程序段中,枚舉變量cl的?值是()。enumcolor{red,yellow,blue=4,green,white}c1;c1=yellow;c1=white;AlB3C5D610?設有說明int(*ptr)();其中標識符卩七匸是()。A是一個指向整形變量的指針B是一個指針,它指向一個函數值是int的函數C是一個函數名D定義不合法11.定義由n個指向整形數據的指針組成的數組p,其正確的方式為()。Aintp;Bint(*p)[n];Cint*p[n];Dint(*p)();具有相同類型的指針類型變量p與數組a,不能進行的操作是()。Ap=a;B*p=a[0];Cp=&a[0];Dp=&a;判斷對錯,對的劃“廠,錯的劃“X”(20分,每小題2分)參加位運算的數據可以是任何類型的數據。()若有定義和語句:inta;charc;floatf;scanf("%d,%c,%f",&a,&c,&f);若通過鍵盤輸入:10,A,12.5,則a=10,c='A',f=12.5。()C語言把文件看作是一個字符(字節)的序列。()若有宏定義:#defineS(a,b)t二a;a二b;b二t由于變量t沒定義,所以此宏定義是錯誤的。()在TurboC中,下面的定義和語句是合法的:file*fp;fp=fopen("a.txt","r");()6?若有定義:chars[]="china";則TurboC系統為數組s開辟6個字節的內存單元。()7?若有定義和語句:inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++)sum+=a[i][2-i];則sum=21。()若有定義和語句:structstudent{intnum;charname[10];floatscore;}s[5]={{1,"lili",98.5},{9,"xiaohua",66}},*p=s;printf("%d",*p++);輸出結果是1。()在程序中定義了一個結構體類型后,可以多次用它來定義具有該類型的變量。()在TurboC中,此定義和語句是合法的:enumaa{a=5,b,c}bb;bb=(enumaa)5;()寫出下列程序的運行結果(36分,每小題6分)1.main(){inti=29,j=6,k=2,s;s=i+i/j%k-9;printf(“s=%d”,s);main(){intx=31,y=2,s=0;do{s-=x*y;x+=2;y-=3;}while(x%3==0);printf(“x=%dy=%ds=%d”,x,y,s);}main(){inta[6]={10,20,30,40,50,60},i;invert(a,0,5);for(i=0;i<6;i++)printf(“%d,”,a[i]);printf(“”);}invert(ints[],inti,intj){intt;if(i<j)<p="">{invert(s,i+1j-1);t=s[i];s[i]=s[j];s[j]=t;}}#includemain(){charstr[]=“TheCprogram”,c;inti;for(i=2;(c=str[i])!=‘\0';i++){switch(c){case‘g':++i;break;case‘o':continue;default:printf(“%c”,c);continue;}printf(“*”);}printf(“”);}structw{charlow;charhigh;};unionu{structwbyte;shortword;}uw;main(){intresult;uw.word=0x1234;printf(“wordvalue:%04x”,uw.word);printf(“highbyte:%02x”,uw.byte.high);printf(“lowbyte:%02x”,uw.byte.low);uw.byte.low=0x74;printf(“wordvalue:%04x”,uw.word);result=uw.word+0x2a34;printf(“theresult:%04x”,result);}main(){char*s2=“IloveChina!”,**s1=&s2;char*s3,c,*s4=“w”;s3=&c;*s3=‘H';s2=s2+2;printf(“%s%c%s%c”,s2,*s3,s4,**s1);}閱讀下列程序,在處填入適當內容,使程序完整(20分,每個空2分)百馬百擔問題:有100匹馬,馱100擔貨,大馬馱3擔,中馬馱2擔,兩匹小馬馱1擔,問大、中、小馬各多少匹?main(){inthb,hm,hl,n=0;for(hb=0;hb<=100;hb+=(1))for(hm=0;hm<=100-hb;hm+=(2)){hl=100-hb-(3);if(hb/3+hm/2+2*(3)==100){n++;printf("hb=%d,hm=%d,hl=%d",hb/3,hm/2,2*hl);}}printf("n=%d",n);}用“起泡法”對輸入的10個字符排序后按從小到大的次序輸出#defineN10charstr[N];main(){inti,flag;for(flag=1;flag==1;){scanf("%s",str);flag=0;printf("");}sort(___(4)___);for(i=0;i<n;i++)<p="">printf("%c",str[i]);printf("");sort(charstr[N]){inti,j;chart;for(j=1;j<n;j++)<p="">for(i=0;(i<n-j)&&(str[i]!='\0');i++)<p="">if(str[i]>str[i+1]){t=str[i]; (5) ; (6) ;}}以下程序是一個函數,功能是求二階矩陣(m行n列矩陣)的所有靠外側的各元素值之和。(本程序中二階矩陣用一維數組來表示。)例如,矩陣為:300325731042則所有靠外側的各元素值之和為3+0+0+3+2+3+1+0+4+2=18。add(intm,intn,intarr[]){inti,j,sum=0;for(i=0;i<m;i=i+m-1)<p="">for(j=0;j<n;j++)<p="">sum=sum+(7);for(j=0;j<n;j=j+n-1)<p="">for(i=1;(8);i++)sum=sum+arr[i*n+j];return(sum);}用指針作函數參數,編程序求一維數組中的最大和最小的元素值#defineN10mai

溫馨提示

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

評論

0/150

提交評論