




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言練習題一、選擇題1 .一個完整的C源程序是BoA)要由一個主函數(shù)或一個以上的非主函數(shù)構(gòu)成B)由一個且僅由一個主函數(shù)和零個以上的非主函數(shù)構(gòu)成C)要由一個主函數(shù)和一個以上的非主函數(shù)構(gòu)成D)由一個且只有一個主函數(shù)或多個非主函數(shù)構(gòu)成2 .以下關(guān)于函數(shù)的敘述中正確的是CoAC語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行B)可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C) C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束D) main可作為用戶標識符,用以定義任意一個函數(shù)3 .以下關(guān)于函數(shù)的敘述中不正確的是BoAC程序是函數(shù)的集合,包括標準庫函數(shù)和用戶自定義函數(shù)B)在
2、C語言程序中,被調(diào)用的函數(shù)必須在main函數(shù)中定義C)在C語言程序中,函數(shù)的定義不能嵌套D)在C語言程序中,函數(shù)的調(diào)用可以嵌套4 .在一個C程序中,【B】。Amain函數(shù)必須出現(xiàn)在所有函數(shù)之前B) main函數(shù)可以在任何地方出現(xiàn)C) main函數(shù)必須出現(xiàn)在所有函數(shù)之后D) main函數(shù)必須出現(xiàn)在固定位置5 .C程序的執(zhí)行是從【A】開始的A)主函數(shù)B)子函數(shù)C)從程序第一行D)printf()函數(shù)6 .以下選項中不合法的標識符是【C】A)printB)FORC)&aD)_007 .以下選項中用作為C語言合法常量的是【AA)-80B)-080C)-8e1.0D)-80.0e8 .以下選項中不屬于字
3、符常量的是BA)CB)CC)xCCD)0729.若在C語言中未說明函數(shù)的類型,則系統(tǒng)默認該函數(shù)的數(shù)據(jù)類型是CA)floatB)longC)intD)double10 .以下關(guān)于函數(shù)敘述中,錯誤的是【DIoA)函數(shù)未被調(diào)用時,系統(tǒng)將不為形參分配內(nèi)存單元B)實參與形參的個數(shù)應(yīng)相等,且實參與形參的類型必須對應(yīng)一致C)當形參是變量時,實參可以是常量、變量或表達式D)形參可以是常量、變量或表達式11 .C程序中各函數(shù)之間可以通過多種方式傳遞數(shù)據(jù),下列不能用于實現(xiàn)數(shù)據(jù)傳遞的方式是【DioA)參數(shù)的形實(啞實)結(jié)合B)函數(shù)返回值C)全局變量D)同名的局部變量12 .若有定義:inta23;,以下選項中對a數(shù)
4、組元素正確引用的是【QA)a2!1B)a23C)a12!1D)a0313 .若有說明:inta4=0,0;則下面不正確的敘述是【D】A)數(shù)組a的每個元素都可得到初值0B)二維數(shù)組a的第一維大小為1C)因為二維數(shù)組a中第二維大小的值除經(jīng)初值個數(shù)的商為1,故數(shù)組a的行數(shù)為1D)有元素a00和a01可得到初值0,其余元素均得不到初值014 .下列選項中錯誤的說明語句是DA)chara=t,o,y,o,u,0;B)chara=toyou0;C)chara=toyou0;D)chara=toyou0;15.chara1=abc,a280=1234”;將a1串連接到a2串后面的語句是A)strcat(a2
5、,a1);B)strcpy(a2,a1);C)strcat(a1,a2);D)strcpy(a1,a2);15 .若函數(shù)調(diào)用時參數(shù)為基本數(shù)據(jù)類型的變量,以下敘述正確的是【C】。A)實參與其對應(yīng)的形參共占存儲單元B)只有當實參與其對應(yīng)的形參同名時才共占存儲單元C)實參與對應(yīng)的形參分別占用不同的存儲單元D)實參將數(shù)據(jù)傳遞給形參后,立即釋放原先占用的存儲單元16 .函數(shù)調(diào)用時,當實參和形參都是簡單變量時,他們之間數(shù)據(jù)傳遞的過程是【D】。A)實參將其地址傳遞給形參,并釋放原先占用的存儲單元B)實參將其地址傳遞給形參,調(diào)用結(jié)束時形參再將其地址回傳給實參C)實參將其值傳遞給形參,調(diào)用結(jié)束時形參再將其值回傳
6、給實參D)實參將其值傳遞給形參,調(diào)用結(jié)束時形參并不將其值回傳給實參17 .若函數(shù)調(diào)用時的實參為變量時,以下關(guān)于函數(shù)形參和實參的敘述中正確的是DoA)函數(shù)的實參和其對應(yīng)的形參共占同一存儲單元B)形參只是形式上的存在,不占用具體存儲單元C)同名的實參和形參占同一存儲單元D)函數(shù)的形參和實參分別占用不同的存儲單元18 .若用數(shù)組名作為函數(shù)調(diào)用的實參,則傳遞給形參的是【A】。A)數(shù)組的首地址B)數(shù)組的第一個元素的值C)數(shù)組中全部元素的值D)數(shù)組元素的個數(shù)19若函數(shù)調(diào)用時,用數(shù)組名作為函數(shù)的參數(shù),以下敘述中正確的是【A。A)實參與其對應(yīng)的形參共用同一段存儲空間B)實參與其對應(yīng)的形參占用相同的存儲空間C)
7、實參將其地址傳遞給形參,同時形參也會將該地址傳遞給實參D)實參將其地址傳遞給形參,等同實現(xiàn)了參數(shù)之間的雙向值的傳遞20 .如果一個函數(shù)位于C程序文件的上部,在該函數(shù)體內(nèi)說明語句后的復(fù)合語句中定義了一個變量,則該變量【Q。A為全局變量,在本程序文件范圍內(nèi)有效B)為局部變量,只在該函數(shù)內(nèi)有效C)為局部變量,只在該復(fù)合語句中有效D)定義無效,為非法變量21 .C語言中函數(shù)返回值的類型是由【D!決定。Areturn語句中的表達式類型B)調(diào)用函數(shù)的主調(diào)函數(shù)類型C)調(diào)用函數(shù)時臨時D)定義函數(shù)時所指定的函數(shù)類型22 .有以下程序#includemain()charp=a,b,c,q10=a,b,c,;pri
8、ntf(%d%dn,strlen(p),strlen(q);以下敘述中正確的是BA)在給p和q數(shù)組置初值時,系統(tǒng)會自動添加字符串結(jié)束符,故輸出的長度都為3B)由于p數(shù)組中沒有字符串結(jié)束符,長度不能確定,但q數(shù)組中字符串長度為3C)由于q數(shù)組中沒有字符串結(jié)束符,長度不能確定,但p數(shù)組中字符串長度為3D)由于p和q數(shù)組中都沒有字符串結(jié)束符,故長度都不能確定23定義一個void型函數(shù)意味著調(diào)用該函數(shù)時,函數(shù)CA)通過return返回一個用戶所希望的函數(shù)值B)返回一個系統(tǒng)默認值C)沒有返回值D)返回一個不確定的值24.若定義函數(shù)float*fun(),則函數(shù)fun的返回值為【B】。A)一個實數(shù)B)一個
9、指向?qū)嵭妥兞康闹羔楥)一個指向?qū)嵭秃瘮?shù)的指針D)一個實型函數(shù)的入口地址25 .下列數(shù)組說明中,正確的是DA)staticcharstr尸China;B)staticcharstr;str=China;C)staticcharstr15,str2=China;str1=str2;D)staticcharstr1,str2口;str2=China;strcpy(str1,str2);26 .在C語言程序中,當調(diào)用函數(shù)時【B】A)實參和形參共用一個存儲空間B)實參和形參各占一個獨立的存儲空間C)由用戶指定實參和形參是否共用存儲空間D)由系統(tǒng)確定實參和形參是否共用存儲空間27.21.22.關(guān)于以下fu
10、n函數(shù)的功能敘述中,正確的是【ALintfun(char*s)char*t=s;while(*t+);t-;)return(t-s);A)求字符串s的長度B)比較兩個串的大C)將串s復(fù)制到串tD)求字符串s所占字節(jié)數(shù)下面程序段運行后的輸出結(jié)果是B(假設(shè)程序運行時輸入5,3回車)inta,b;voidswap()(intt;t=a;a=b;b=t;main()scanf(%d,%d,&a,&b);swap();)printf(a=%d,b=%dn,a,b);A)a=5,b=3B)a=3,b=5C)5,3D)3,5以下程序運行后的輸出結(jié)果是【DIofun(inta,intb)(if(ab)retu
11、rna;elsereturnb;)main()(intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(%dn,r);)A)3B)6C)8D)1223.以下程序的運行結(jié)果是【Q。voidf(inta,intb)intt;t=a;a=b;b=t;)main()intx=1,y=3,z=2;if(xy)f(x,y);elseif(yz)f(x,z);elsef(x,z);printf(%d,%d,%dn,x,y,z);)A)1,2,3B)3,1,2C)1,3,2D)2,3,125有以下程序#includeintf(intx)inty;if(x=0|x=1)retur
12、n(3);y=x*x-f(x-2);returny;main()intz;z=f(3);printf(%dn,z);程序的運行結(jié)果是【C】A)0B)9C)6D)826.有以下程序voidss(char*s,chart)while(*s)if(*s=t)*s=t-a+A;s+;main()charstr1100=abcddfefdbd,c=dss(str1,c);printf(%sn,str1);程序運行后的輸出結(jié)果是BA)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd26以下程序運行后的輸出結(jié)果為Bint*f(int*x,int*y)if(
13、*x*y)returnx;elsereturny;main()inta=7,b=8,*P,*q,*r;p=&a,q=&b;r=f(P,q);A)7,8,88,7,8printf(%d,%d,%dn,*p,*q,*r);B)7,8,7C)8,7,7D)27.以下程序的正確運行結(jié)果是【A#incluedmain()intk=4,m=1,p;p=func(k,m),printf(%a,p);p=func(k,m);,printf(%dn,p);func(inta,intb)sstaticintm=0,i=2;i+=m+1;m=i+a+b;return(m);A)8,17D)8,828.有以下程序B)
14、8,16C)8,20intfun(intn)if(n=1)return1;elsereturn(n+fun(n-1);main()intx;scanf(%d,&x);x=fun(x);printf(%dn,x);程序執(zhí)行時,若輸入10,程序的輸出結(jié)果是【AA)55B)54C)65D)4529.下面是一個計算1至m的階乘并依次輸出的程序。程序中應(yīng)填入的正確選項是【D】。#includedoubleresult=1;factorial(intj)result=result*j;return;main()intm,i=0,x;printf(Pleaseenteraninteger:);scanf(%
15、d,&m);for(;i+m;)x=factorial(i);printf(%d!=%.0fn,【】);A)i,factorial(i)B)i,xC)j,xD)i,result30 .下面程序段的運行結(jié)果是Dchar*s=abcde;s+=2;printf(%d,s);A)cdeB)字符cC)字得,c的地/D)無病定的輸出結(jié)果31 .有以下程序#includevoidfun(int*s,intn1,intn2)inti,j,t;i=n1;j=n2;while(ij)t=si;si=sj;sj=t;i+;j-;main()inta10=1,2,3,4,5,6,7,8,9,0,k;fun(a,0,
16、3);fun(a,4,9);fun(a,0,9);for(k=0;kl0;k+)printf(%d,ak);printf(n);郎的運井封果是【ciA)0987654321B)4321098765C)5678901234D)098765123432 .下面程序的輸出結(jié)果是#includemain()char*p1=abc,*p2=ABC,str50=xyz;strcpy(str+2,strcat(p1,p2);printf(%sn,str);A)xyzabcABCB)xyabcABCzabcABCD)yzabcABCC)#include33 .有以下程序voidf(int*q)inti=0;f
17、or(;i5;i+)(*q)+;main()finta5=1,2,3,4,5,i;fOr);=0;i5;i+)printf(%d,ai);程序運行后的輸出結(jié)果是【AJA)6,2,3,4,5,B)2,2,3,4,5,C)1,2,3,4,5,D)2,3,4,5,6,34 .有以下程序#include#includetypedefstructcharname9;charsex;floatscore2;STU;voidf(STUa)STUb=Zhao,m,85.0,90.0;inti;strcpy(,);a.sex=b.sex;for(i=0;i2;i+)a.scorei=b.
18、scorei;main()STUc=Qian,f,95.0,92.0;f(c);,c.score程序的運行結(jié)printf(%s,%c,%2.0f,%2.0fn,,c.sex飛.sc嘴1);A)Qian,f,85,90B)Qian,m,95,92C)Zhao,f,95,92D)Zhao,m,85,9035 .有以下程序#includemain()intx=1,y=0,a=0,b=0;switch(x)case1:switch(y)case0:a+;break;case1:b+;break;case2:a+;b+;break;case3:a+;b+;printf(a=%d,b=%dn,
19、a,b);程序的運行結(jié)果是DA)a=1,b=0B)a=2,b=2C)a=1,b=1D)a=2,b=136 .下列程序的輸出結(jié)果是C#includestdio.hmain()inti,a=0,b=0;for(i=1;i10;i+)if(i%2=0)a+;continue;b+;)printf(a=%d,b=%d,a,b);A)a=4,b=4B)a=5,b=4C)a=4,b=5D)a=5,b=537 .已知#intt=0;while(t=1).則以下敘述正確的是【AA)循環(huán)控制表達式的值為1B)循環(huán)控制表達式的值為0C)循環(huán)控制表達式不合法D)以上說法都不對38 .有如下程序main()charc
20、h25=“6937“,“8254,*p2;inti,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i0;j+=2)s=10*s+pij-0;printf(dn,s);該程序的輸出結(jié)果是CoA)69825B)63825C)6385D)69382539 .下面程序的輸出是Bmain()intnum=0;while(num=2)num+;printf(%dn,num);A)1B)1C)1 D)12 223 3440以下能正確定義一維數(shù)組的選項是BA)inta5=0,1,2,3,4,5;B)chara=0,1,2,3,4,5,,0;C)chara=A,B,C;D)inta5=0
21、123”;41 .若有如下定義和語句,且0=i8+2B)a&dC)(a*2-c)|dC)a-bmC)(*p).mD)p.stu.n46.下列函數(shù)中不能用于對文件進行輸入輸出操作的是【B】A)fscanf()B)printf()C)fgetc()D)fputs()47.若要用fopen函數(shù)打開一個新的二進制文件,該文件要既能讀也能寫,則文件方式字符串應(yīng)是【B】。A)ab+B)wb+C)rb+D)ab48.1. fp是指向某文件的指針,文件操作結(jié)束之后,關(guān)閉文件指針應(yīng)使用下列【D1語句A)fp=fclose();B)fp=fclose;C)fclose;D)fclose(fp);二、程序填空題1
22、.以下程序?qū)崿F(xiàn)了計算x的n次方,請將程序填寫完整。floatpower(floatx,intn)inti;floatt=1;for(i=1;i=n;i+)t=t*x;returnt】八main()floatx,y;ntn;scanf(%f,%d,&x,&n);y=power(x,n);printf(%8.2fn,y);2 .以下程序?qū)崿F(xiàn)了求兩個數(shù)的最大公約數(shù),請將程序填寫完整。intdivisor(inta,intb)intr;r=a%b;while()【r!=0a=b;b=r;r=a%b;returnb;voidmain()inta,b,d,t;scanf(%d%d,&a,&b);if(ab
23、)t=a;a=b;b=t;d=divisor(a,b);printf(ngcd=%d,d);3 .給定程序中,函數(shù)fun的功能是:找出100至x(x999)之間各位上白數(shù)字之和為15的所有整數(shù),然后輸出;符合條件的整數(shù)個數(shù)作為函數(shù)值返回。#includeintfun(intx)intn,s1,s2,s3,t;n=0;t=100while(t999|x0)printf(Pleaseinput(0x=999):);scanf(%d,&x);printf(nTheresultis:%dn,);【fun(x)】4 .輸入N個實數(shù),輸出其中的最大值、最小值。#includevoidmain()intn,
24、i;floatno1,nmax,nmin;scanf(%d,&n);scanf(%f”,&no1);nmax=no1;nmin=no1;for(i=2;inmax)nmax=no1;if(no1nmin)nmin=no1;】printf(MAX=%fMIN=%fn,nmax,nmin);5 .輸入若干個字符,分別統(tǒng)計數(shù)字字符的個數(shù)、英文字母的個數(shù),當輸入換行符時輸出統(tǒng)計結(jié)果,運行結(jié)束。#include#includevoidmain()ints1=0,s2=0;charch;while()!=n)【ch=getchar()】if(ch=0&ch=a&ch=A&ch=Z】printf(%d,%d
25、,s1,s2);)6 .以下程序功能是輸入10門成績,實現(xiàn)成績的升序排列并輸出,請在程序的下劃線處填入正確的內(nèi)容,使程序得出正確的結(jié)果。#includemain()for(i=0;i10-1;i+);k=ifor(j=i+1;jscorej);k=j1)t=scorek;scorek=;scorei=tscorei)printf(成績輸出n);for(i=0;i10;i+)printf(%7.2f”,scorei);)printf(n);7.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù)使之只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。請將程序填寫完整。例如,若一維
26、數(shù)組中的數(shù)據(jù)是:666677899101010刪除后,數(shù)組中的內(nèi)容應(yīng)該是:910。#include1 defineN80intfun(inta,intn)inti,j=1;【!=】【j】for(i=1;in;i+)if(aj-1a川aj+=ai;return;main()(intN=2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,0,10,i,n=19;printf(Theoriginaldata:n);for(i=0;in,i+)printf(%d,ai);prifon=fun(a,n);printf(nThedataafterdeleted:n);fo(i=0;in;
27、i+)Printf(d,ai);三、編程題1.編寫程序從鍵盤輸入三角形的三邊長,(其中,l=(a+b+c)/2,s=Vl(l-a)(l-b)(l-c)#include#includemain()floata,c,l;doubleS;逗用哪文4輸入三邊長度(如345):求三角形面);/注后、scanf(%f,%f,%f,&a,&b,&c);if(a+b=c|b+c=a|a+c=b)printf(您所輸入的三包不構(gòu)成三角形!);elsel=(a+b+c)/2;)瑞q(抑*耐翻b珠甯:;,儼;海倫公式2 .編寫一個程序,求方程ax2+bx+c=0的根。#include#includeintroot(
28、floata,floatb,floatc,float*x1,float*x2)(floatd;d=b*b-4*a*c;if(d0)return0elseif(d=0)(*x1=(-b)/(2*a)return1;)else(*x1=(-b+sqrt(d)/(2*a);*x2=(-b-sqrt(d)/(2*a);return2;)3 .川!定義國教的形式編程實現(xiàn)求10名學(xué)生1門課程成疑的半均不。#include#defineN10floataveragefloatarray口)inti=0;floats=0;for(i=0;iN;i+)s+=arrayi;s=s/N;returns;八main(
29、)floatscoreN,i;floatave;printf(Pleaseinput10scores:n);for(i=0;iN;i+)scanf(%f”,&scorei);ave=average(score);printf(nTheaveragescoreis%.2fn,ave);4 .編寫程序輸出所有的水仙花數(shù)。所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身,例如:153=1八3+5八3+3八3。#includevidmain()intn,a,b,c;for(n=100;n=999;n+)a=n/100;b=n%100/10;c=n%10;if(a*a*a+b*b*b+c*c*c=n)printf(%dn,n);5.1!一個年份,判斷其是否為閏年,并輸出判斷結(jié)voidmain()intyear;printf(”請輸入年份:);scanf(%d,&year);if(year%4=0&year/100!=0)|(year%400=0printf(%d此年是閏年n,year);elseprintf(%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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《漢語閱讀教程》課件-教學(xué)課件:漢語閱讀教程
- 2025解除租賃合同模板
- 2025企業(yè)勞動合同書模板
- 2025中級會計實務(wù)預(yù)習知識考點:合同收入確認
- 2025兼職國慶節(jié)臨時工合同范文
- 《蟋蟀的住宅》教學(xué)設(shè)計和反思
- 2025年房地產(chǎn)經(jīng)紀人之業(yè)務(wù)操作過關(guān)檢測試卷B卷附答案
- 2025年執(zhí)業(yè)藥師之中藥學(xué)專業(yè)一題庫練習試卷B卷附答案
- 新質(zhì)生產(chǎn)力解析圖
- 冷凝集素病的臨床護理
- 《安裝施工管理》課件
- 《美學(xué)》綜合知識近年真題考試題庫及答案(含AB卷)
- 食堂管理領(lǐng)導(dǎo)小組及工作職責
- 華南理工大學(xué)自主招生個人陳述自薦信范文
- 酒店餐飲部經(jīng)理聘用書
- 機電傳動與控制知到智慧樹章節(jié)測試課后答案2024年秋山東石油化工學(xué)院
- 2023-2024網(wǎng)絡(luò)文學(xué)閱讀平臺價值研究報告
- 專題07 解析幾何(選填題)-【好題匯編】五年(2020-2024)高考數(shù)學(xué)真題分類匯編(含答案解析)
- GB/T 5534-2024動植物油脂皂化值的測定
- 《古代印度》課件
- 精神殘疾人康復(fù)培訓(xùn)
評論
0/150
提交評論