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

下載本文檔

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

文檔簡介

試卷題型及分值比例:選擇題 10個題×2=20填空題 5個空×2=10讀程序題 8個空×3=24補寫程序題5小題計12個空,共46分 總計:28小題、100分、120分鐘考核范圍:數(shù)據(jù)類型、三大構(gòu)造、數(shù)組(不含6.5節(jié))、函數(shù)(不含7.5-7.7節(jié))、指針(不含8.5節(jié))、構(gòu)造體(9.1節(jié))試題考核點及難度如下:(從如下題庫中選題,試題會變數(shù),但難度不變)壹、選擇題1、如下說法中不對的的是(C)A、C語言程序中必須有壹種main()函數(shù),從main()函數(shù)的第壹條語句開始執(zhí)行B、非主函數(shù)都是在執(zhí)行主函數(shù)時,通過函數(shù)調(diào)用或嵌套調(diào)用而執(zhí)行C、C語言程序中的main()函數(shù)必須放在程序的開始位置D、C語言程序總是在main()函數(shù)的最終壹條語句結(jié)束2、下列各項中,屬于C語言程序中語句的是(B)A、a=b+c B、a=2; C、/*programme*/ D、#include<stdio.h>3、C語言中用于構(gòu)造化程序設(shè)計的3種基本構(gòu)造是(A)A、次序構(gòu)造,選擇構(gòu)造,循環(huán)構(gòu)造 B、遞歸構(gòu)造,循環(huán)構(gòu)造,轉(zhuǎn)移構(gòu)造C、嵌套構(gòu)造,遞歸構(gòu)造,次序構(gòu)造 D、循環(huán)構(gòu)造,轉(zhuǎn)移構(gòu)造,次序構(gòu)造4、如下選項中不屬于C語言的數(shù)據(jù)類型的是(D)A、signedshortint B、unsignedlongintC、unsignedint D、longshort5、下面有關(guān)for循環(huán)的對的描述是(A)A、for循環(huán)的循環(huán)體語句中,可以包括多條語句,但必須用花括號括起來B、for循環(huán)是先執(zhí)行循環(huán)體語句,後判斷體現(xiàn)式C、在for循環(huán)中,不能用break語句跳出循環(huán)體D、for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的狀況6、如下說法中不對的的是(C)A、C語句必須以分號結(jié)束B、復(fù)合語句在語法上被看作壹條語句C、空語句出目前任何位置都不會影響程序運行D、賦值體現(xiàn)式末尾加分號就構(gòu)成賦值語句7、下面可以作為C語言顧客標(biāo)識符的壹組是(B)A、voiddefineWOR B、a3_b3_123IFC、for-abccase D、2a D0sizeof8、下列各選項中,可以作為合法的賦值語句的是(C)A、a=2,b=5 B、a=b=c=5C、a++; D、a=int(b)9、如下描述對的的是(C)A、goto語句只能用于退出多層循環(huán)B、switch語句中不能出現(xiàn)continue語句C、只能用continue語句來終止本次循環(huán)D、在循環(huán)中break語句不能獨立出現(xiàn)10、在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型容許是(C)A、整型常量 B、整型體現(xiàn)式C、整型常量或整型體現(xiàn)式 D、任何類型的體現(xiàn)式11、C語言規(guī)定,函數(shù)返回值的類型是(D)A、return語句中的體現(xiàn)式類型 B、調(diào)用該函數(shù)時的主調(diào)函數(shù)類型C、調(diào)用該函數(shù)時由系統(tǒng)臨時指定 D、在定義函數(shù)時所指定的函數(shù)類型12、如下對壹維整型數(shù)組a的對的闡明是(D)A、inta(10); B、intn=10,a[n];C、intn; D、#defineSIZE10;scanf(“%d”,&n); inta[SIZE]; inta[n];13、如下對的的函數(shù)定義是(D)A、doublefun(intx,inty) B、doublefun(intx,y) {z=x+y;returnz;} {intz;returnz;}C、fun(x,y) D、doublefun(intx,inty) {intx,y;doublez; {doublez=0;z=x+y;returnz;} returnz;} 14、假定有如下變量定義:intk=7,x=12;,則能使值為3的體現(xiàn)式是(A)A、(x%=k)-(k%=5) B、x%=(k-k%5)C、x%=k-k%5 D、x%=(k%=5)15、已經(jīng)有定義:inti,a[10],*p;,則合法的賦值語句是(C)A、p=100 B、p=a[5]C、p=a+2 D、p=a[2]+216、已經(jīng)有語句:inta[]={1,2,3,4,5},*p,i;p=a;且0i<5,則下列選項中對數(shù)組元素地址的對的表達是(B)A、&(a+i) B、&p[i]C、&p D、a++17、若有語句:int*point,a=4;和point=&a;,則下面各選項中均代表地址的壹項是(D)A、a,point,*&a B、&*a,&a,*pointC、*&point,*point,&a D、&a,&*point,point18、已經(jīng)有語句:charstr[]=“Hello”,*p;p=str;,則執(zhí)行完上述語句後,*(p+5)的值是(B)A、‘o’ B、‘/0’C、‘o’的地址 D、不確定的值19、對二維數(shù)組a進行對的初始化對的的是(B)A、inta[2][]={{1,0,1},{5,2,3}}; B、inta[][3]={{1,2,3},{4,5,6}};C、inta[2][4]={{1,2,3},{4,5},{6}};D、inta[][]={{1,0,1},{},{1,1}};20、設(shè)fun()函數(shù)的定義形式為:voidfun(charch,floatx){…} 則下列對函數(shù)fun的調(diào)用語句中,對的的是(C) A、fun(“abc”,3.0); B、t=fun(‘D’,16.5); C、fun(‘65’,2.8); D、fun(32,32);21、若變量a是int類型,并執(zhí)行了語句:a=‘A'+1;,則對的的論述是(D)A、a的值是字符C B、a的值是浮點型C、不容許字符型和浮點型相加D、a的值是字符‘A’的ASCII值加上1。22、若有如下定義:chara;intb;floatc;doubled;則體現(xiàn)式a*b+d-c值的類型為(D)A、float B、int C、char D、double23、x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),對的的輸入語句是(B)A、inputx,y,z; B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z); D、read("%d%d%d",&x,&y,&z);24、下列說法中對的的是(B)A、在switch語句中壹定要使用break語句B、在switch語句中不壹定要使用break語句C、break語句是switch語句的壹部分D、break只能用于switch語句中25、在C語言中,只有在使用時才占用內(nèi)存單元的變量,其存儲類型是(A) A、auto和register B、extern和register C、auto和static D、static和register26、下面不能對的計算代數(shù)式值的C語言體現(xiàn)式是(A) A、1/3*sin(1/2)*sin(1/2) B、sin(0.5)*sin(0.5)/3 C、pow(sin(0.5),2)/3 D、1/3.0*pow(sin(1.0/2),227、有下列程序: voidmain(){ inta=1,b=3,c=5,*p; int*p1=&a,*p2=&b,*p3=&c; *p=*p1*(*p2); printf(“%d\n”,*p);} 執(zhí)行後的輸出成果是(C) A、1 B、2 C、3 D、428、有下列程序: voidmain() {inti,x[][3]={1,3,5,7,9,11,13,15,17}; for(i=0;i<3;i++) printf(“%d”,x[i][2-i]);} 程序執(zhí)行後的輸出成果是(A) A、5913 B、1395 C、1371 D、591729、設(shè)變量a、b、c、d和y都已對的定義并賦值。若有下列if語句: if(a<b) if(c==d) y=0; else y=1; 該語句所示的含義是(C) A、 B、C、 D、30、有下列程序: voidmain() {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í)行後的輸出成果是(B) A、753 B、357 C、369 D、751二、填空題1、若有定義語句:chars[10]=”1234567\0\0”,則strlen(s)的值是【1】72、有如下程序:#include<stdio.h>voidmain() { intx=1,y=2,z=3; if(x>y) if(y<z) printf(“%d”,++z); else printf(“%d”,++y); printf(“%d\n”,x++);}該程序執(zhí)行後,x=【2】13、若整型變量a和b中的值分別為7和8,規(guī)定按如下格式輸出a和b的值:a=7b=8請完畢該輸出語句:printf(“【3】a=%d\nb=%d”,a,b);4、設(shè)有定義語句:inta[][3]={{0},{1},{2}};,則數(shù)組元素a[1][2]=【4】05、設(shè)有闡明:structDATE{intyear;intmonth;intday;};若定義d為上述構(gòu)造體類型變量,并同步為其組員year、month、day依次賦初值為、10、1,則該定義語句應(yīng)當(dāng)為【5】structDATEd={,10,1};6、若已定義:floatx[10]={2.1,4.2,6.3};,則數(shù)組x在內(nèi)在中占【6】40個字節(jié)數(shù)7、體現(xiàn)式(int)((double)(5/2)+2.5)的值是【7】48、已經(jīng)有語句:inta[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];,則*(p[0]+1)所代表的數(shù)組元素是【8】a[1][1]9、若有如下函數(shù)調(diào)用語句:fun(a+b,(x,y),fun(n+k,d,(a,b)));則在此函數(shù)調(diào)用語句中有【9】3個實參10、下列程序的功能是:求出數(shù)組x中各相鄰兩個元素的和依次寄存到a數(shù)組中,然後輸出。請?zhí)羁铡? voidmain() {intx[10],a[9],i; for(i=0;i<10;i++)scanf(“%d”,&x[i]); for(【10】i=1;i<10;i++) a[i-1]=x[i]+【11】x[i-1]; for(i=0;i<9;i++) printf(“%d”,a[i]);printf(“\n”);}11、已知數(shù)字字符0的ASCII值為48,則運行下列程序的輸出成果為【12】2,2 main() {chara=’1’,b=’2’;printf(“%c,”,b++);prittf(“%d\n”,b-a);}12、下列程序的輸出成果是【13】4,3,7 intf1(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(f1(a,b),f1(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);}13、下列程序的輸出成果是【14】45main() { intp[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2)j+=p[i]; printf(“%d\n”,j)}14、如下程序的輸出成果是【15】1 #include<stdio.h> voidmain() { inti,j,sum; for(i=3;i>=1;i--) {sum=0; for(j=1;j<=i;j++) sum+=i*j;}}15、下列程序的輸出成果是【16】4,3,7 intf1(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(f1(a,b),f1(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);}16、請將如下程序中的函數(shù)申明語句補充完整。 #include<stdio.h> int__【17】max(inta,intb);____ voidmain() { intx,y,(*p)(); scanf(“%d%d”,&x,&y); p=max; printf(“%d\n”,(*p)(x,y));}intmax(inta,intb){return(a>b?a:b);}17、下列程序的輸出成果是【18】30 voidmain() { 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-1];printf(“%d\n”,s);}18、下列程序的輸出成果是【19】18 main() { inta[3][3],*p,i; p=a[1]; for(i=0;i<6;i++)p[i]=i+2; printf(“%d”,a[2][0]+a[2][1]+a[2][2]);}19、下列程序的輸出成果是【20】4main() { inta=1,b; for(b=1;b<=10;b++) {if(a>=8)break; if(a%2==1) {a+=5;continue;} a=3;}printf(“%d\n”,b);}20、下列程序的輸出成果是【21】7main(){ intk=5,n=0; while(k>0) { switch(k) { default:break; case1:n+=k; case2: case3:n+=k;}k--;}printf(“%d\n”,n);}21、下列程序的輸出成果是【22】6 structabc {inta;intb;intc;} main() { structabcs[2]={{1,2,3},{4,5,6}}; intt; t=s[0].a+s[1].b; printf(“%d\n”,t);}22、下列程序的輸出成果是【23】18 intf(inta[],intn) { if(n>1) returna[0]+f(a+1,n-1); else returna[0];}main(){ intaa[10]={1,2,3,4,5,6,7,8,9,10},s; s=f(aa+2,4); printf(“%d\n”,s);}23、下列程序的輸出成果是【24】2main() { inta=3,b; for(b=1;b<=8;b++) {if(a>=10)break; if(a%2==1) {a+=8;continue;} a=4;}printf(“%d\n”,b);}24、下列程序的輸出成果是【25】13main(){ intk=6,n=0; while(k>0) { switch(k) { default:n+=1;break; case1:n+=k;break; case2: case3:n*=2;}k--;}printf(“%d\n”,n);}25、下列程序的輸出成果是【26】12 structabc {inta;intb;intc;} main() { structabcs[2]={{1,2,3},{4,5,6}}; intt; t=s[0].b*s[1].c; printf(“%d\n”,t);}26、下列程序的輸出成果是【27】15 intf(inta[],intn) { if(n>1) returna[0]+f(a+1,n-1); else returna[0];}main(){ intaa[10]={1,2,3,4,5,6,7,8,9,10},s; s=f(aa+3,3); printf(“%d\n”,s);}27、下面程序的功能是:運用指針將字符串a(chǎn)中的內(nèi)容復(fù)制到字符數(shù)組b中。#include<stdio.h>voidmain(){ chara[]=“Iamaboy.”,b[20]; inti; for(i=0;*(a+i)!=‘\0’;i++) 【28】*(b+i)=*(a+i);/*用地址法訪問數(shù)組元素*/ *(b+i)=‘\0’;printf(“stringais:%s\n”,a);printf(“stringbis:”);for(i=0;b[i]!=‘\0’;i++) printf(【29】“%c”,b[i]);/*用下標(biāo)法訪問數(shù)組元素*/}28、下面avg函數(shù)的作用是計算數(shù)組array的平均值,并返回。floatavg(floatarray[10]){ inti; floatavgr,sum=0; for(i=0;【30】i<sizeof(array);i++) sum+=【31】array[i]; avgr=sum/10; 【32】returnavgr;/*函數(shù)值返回*/}29、下面程序的功能是:判斷素數(shù),在主函數(shù)中輸入壹種整數(shù),在子函數(shù)中進行判斷,并返回。#include<stdio.h>voidmain(){ inti,sum=0; i=1; do{ 【33】sum=sum+i; 【34】i++; }while(【35】i<=100) printf(“%d\n”,sum);}30、下面程序的功能是:輸入10個整數(shù),并用起泡法實現(xiàn)對這10個數(shù)據(jù)升序排序。#include<stdio.h>voidmain(){ inta[10]; inti,j,t; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(j=0;【36】j<9;j++) for(【37】i=0;i<9-j-i;i++) if(【38】a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} for(i=0;i<10;i++) printf(“%d”,a[i]);}31、下面程序的功能是:將字符串b的內(nèi)容連接字符數(shù)組a的內(nèi)容背面,形成新字符串a(chǎn)。#include<stdio.h>voidmain(){ chara[40]=“Great”,b[]=“Wall”; inti=0,j=0; while(a[i]!=‘\0’)i++; while(【39】b[i]!=‘\0’) { 【40】a[i]=b[j];i++;j++;} 【41】b[i]=‘\0’; printf(“%s\n”,a);}32、下列程序中,fun()函數(shù)的功能是計算x2-2x+6。主函數(shù)將調(diào)用fun()函數(shù)計算:y1=sin2(x)-2sin(x)+6。 #include<stdio.h> #include<math.h> 【42】doublefun(doublex) {returnx*x-2*x+6;} voidmain() { doublex,y1,y2; scantf(“%lf”,&x); y1=【43】fun(sin(x)); printf(“y1=%lf\n”,y1);}

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論