函數(shù)練習(xí)題(C語言)帶答案_第1頁
函數(shù)練習(xí)題(C語言)帶答案_第2頁
函數(shù)練習(xí)題(C語言)帶答案_第3頁
函數(shù)練習(xí)題(C語言)帶答案_第4頁
函數(shù)練習(xí)題(C語言)帶答案_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

函數(shù)練習(xí)題(C語言)帶答案C語言函數(shù)練習(xí)題一、選擇題一個(gè)完整的C源程序是【】。A)要由一個(gè)主函數(shù)或一個(gè)以上的非主函數(shù)構(gòu)成B)由一個(gè)且僅由一個(gè)主函數(shù)和零個(gè)以上的非主函數(shù)構(gòu)成C)要由一個(gè)主函數(shù)和一個(gè)以上的非主函數(shù)構(gòu)成D)由一個(gè)且只有一個(gè)主函數(shù)或多個(gè)非主函數(shù)構(gòu)成以下關(guān)于函數(shù)的敘述中正確的是【】。A)C語言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開始執(zhí)行B)可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C)C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束D)main可作為用戶標(biāo)識(shí)符,用以定義任意一個(gè)函數(shù)以下關(guān)于函數(shù)的敘述中不正確的是【】。A)C程序是函數(shù)的集合,包括標(biāo)準(zhǔn)庫函數(shù)和用戶自定義函數(shù)B)在C語言程序中,被調(diào)用的函數(shù)必須在main函數(shù)中定義在C語言程序中, 函數(shù)的定義不能嵌套在C語言程序中, 函數(shù)的調(diào)用可以嵌套在一個(gè)C程序中,【】。A)main函數(shù)必須出現(xiàn)在所有函數(shù)之前B)main函數(shù)可以在任何地方出現(xiàn)main函數(shù)必須出現(xiàn)在所有函數(shù)之后main函數(shù)必須出現(xiàn)在固定位置若在C語言中未說明函數(shù)的類型,則系統(tǒng)默認(rèn)該函數(shù)的數(shù)據(jù)類型是【】A)float B)longC)int D)double以下關(guān)于函數(shù)敘述中,錯(cuò)誤的是【】。A)函數(shù)未被調(diào)用時(shí),系統(tǒng)將不為形參分配內(nèi)存單元B)實(shí)參與形參的個(gè)數(shù)應(yīng)相等,且實(shí)參與形參的類型必須對(duì)應(yīng)一致C)當(dāng)形參是變量時(shí),實(shí)參可以是常量、變量或表達(dá)式D)形參可以是常量、變量或表達(dá)式若函數(shù)調(diào)用時(shí)參數(shù)為基本數(shù)據(jù)類型的變量,以下敘述正確的是【】。A)實(shí)參與其對(duì)應(yīng)的形參共占存儲(chǔ)單元B)只有當(dāng)實(shí)參與其對(duì)應(yīng)的形參同名時(shí)才共占存儲(chǔ)單元C)實(shí)參與對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元D)實(shí)參將數(shù)據(jù)傳遞給形參后,立即釋放原先占用的存儲(chǔ)單元函數(shù)調(diào)用時(shí) ,當(dāng)實(shí)參和形參都是簡(jiǎn)單變量時(shí),他們之間數(shù)據(jù)傳遞的過程是【】。A)實(shí)參將其地址傳遞給形參,并釋放原先占用的存儲(chǔ)單元B)實(shí)參將其地址傳遞給形參,調(diào)用結(jié)束時(shí)形參再將其地址回傳給實(shí)參C)實(shí)參將其值傳遞給形參,調(diào)用結(jié)束時(shí)形參再將其值回傳給實(shí)參D)實(shí)參將其值傳遞給形參,調(diào)用結(jié)束時(shí)形參并不將其值回傳給實(shí)參若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是【】。A)函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元B)形參只是形式上的存在 ,不占用具體存儲(chǔ)單元C)同名的實(shí)參和形參占同一存儲(chǔ)單元D)函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,則傳遞給形參的是 【】。A)數(shù)組的首地址 B)數(shù)組的第一個(gè)元素的值C)數(shù)組中全部元素的值 D)數(shù)組元素的個(gè)數(shù)若函數(shù)調(diào)用時(shí) ,用數(shù)組名作為函數(shù)的參數(shù), 以下敘述中正確的是【】。A)實(shí)參與其對(duì)應(yīng)的形參共用同一段存儲(chǔ)空間B)實(shí)參與其對(duì)應(yīng)的形參占用相同的存儲(chǔ)空間C)實(shí)參將其地址傳遞給形參,同時(shí)形參也會(huì)將該地址傳遞給實(shí)參D)實(shí)參將其地址傳遞給形參,等同實(shí)現(xiàn)了參數(shù)之間的雙向值的傳遞如果一個(gè)函數(shù)位于C程序文件的上部,在該函數(shù)體內(nèi)說明語句后的復(fù)合語句中定義了一個(gè)變量,則該變量【】。A)為全局變量,在本程序文件范圍內(nèi)有效B)為局部變量,只在該函數(shù)內(nèi)有效C)為局部變量,只在該復(fù)合語句中有效D)定義無效,為非法變量C語言中函數(shù)返回值的類型是由【】決定。A)return語句中的表達(dá)式類型B)調(diào)用函數(shù)的主調(diào)函數(shù)類型C)調(diào)用函數(shù)時(shí)臨時(shí)D)定義函數(shù)時(shí)所指定的函數(shù)類型若在一個(gè)C源程序文件中定義了一個(gè)允許其他源文件引用的實(shí)型外部變量 a,則在另一文件中可使用的引用說明是【】。A)externstaticfloata; B)floata;C)externautofloata; D)externfloata;定義一個(gè)void型函數(shù)意味著調(diào)用該函數(shù)時(shí),函數(shù)【】A)通過return返回一個(gè)用戶所希望的函數(shù)值B)返回一個(gè)系統(tǒng)默認(rèn)值C)沒有返回值D)返回一個(gè)不確定的值若定義函數(shù) float*fun(),則函數(shù)fun的返回值為【】。A)一個(gè)實(shí)數(shù) B)一個(gè)指向?qū)嵭妥兞康闹羔楥)一個(gè)指向?qū)嵭秃瘮?shù)的指針 D)一個(gè)實(shí)型函數(shù)的入口地址C語言規(guī)定,程序中各函數(shù)之間【】。A)既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用B)不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用C)允許直接遞歸調(diào)用不允許間接遞歸調(diào)用D)不允許直接遞歸調(diào)用允許間接遞歸調(diào)用若程序中定義函數(shù)floatmyadd(floata,floatb){returna+b;}并將其放在調(diào)用語句之后,則在調(diào)用之前應(yīng)對(duì)該函數(shù)進(jìn)行說明。以下說明中錯(cuò)誤的是

A)floatmyadd(floata,b);B)floatmyadd(floatb,floata);floatmyadd(float,float);floatmyadd(floata,floatb);關(guān)于以下fun函數(shù)的功能敘述中,。intfun(char*s)關(guān)于以下fun函數(shù)的功能敘述中,。intfun(char*s)char*t=s;while(*t++);ret;urn(t-s);A)求字符串s的長(zhǎng)度串的大小C)將串s復(fù)制到串tB)D)正確的是比較兩個(gè)求字符串s所占字節(jié)數(shù)下面程序段運(yùn)行后的輸出結(jié)果是【s所占字節(jié)數(shù)下面程序段運(yùn)行后的輸出結(jié)果是【設(shè)程序運(yùn)行時(shí)輸入 5,3回車)inta,b;voidswap(){intt;t=a;a=b;b=t;}main(){scanf("%d,%d",&a,&b);swap();}printf("a=%d,b=%d\n",a,b);(假A)a=5,b=3B)a=3,b=5C)5,3A)a=5,b=3B)a=3,b=5C)5,3D)3,5以下程序運(yùn)行后的輸出結(jié)果是【】。fun(inta,intb){if(a>b)returna;elsereturnb;}main(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);}A)3B)6C)8D)12以下程序的運(yùn)行結(jié)果是【】。voidf(inta,intb){intt;t=a;a=b;b=t;}main(){

intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(x,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);D)}D)A)1,2,3B)3,1,2C)1,3,22,3,1以下程序運(yùn)行后的輸出結(jié)果為【】。int*f(int*x,int*y)if(*x<*y)returnx;elsereturny;}main()inta=7,b=8,*p,*q,*r;p=&a,q=&b;rp=rifn(ptf,(q"%);d,%d,%d\n",*p,*q,*r);A)7,8,8B)7,8,78,7,8C)8,7,7A)7,8,8B)7,8,78,7,8C)8,7,7D)以下程序的正確運(yùn)行結(jié)果是【 A】。#inclued<stdio.h>main()intk=4,m=1,p;p=func(k,m);printf( “%d”,p);ppr=infutfn(c(k,“m)%;nd”,p);

f}unc(inta,intb)staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);A)A)8,17B)8,16C)8,20D)8,8以下程序的功能是計(jì)算函數(shù)F(x,y,z)=(x+z)/(y-z)+(y+2Xz)/(x-2Xz)的值,請(qǐng)將程序補(bǔ)充完整。(A,D)#include<stdio.h>floatf(floatx,floaty){floatvalue;value=【1】;returnvalue;}main(){floatx,y,z,sum;scanf("%f%f%f",&x,&y,&z);sum=f(x+z,y-z)+f( 【2】);printf("sum=%f\n",sum);

}【1】A)x/yB)x/zC)(x+z)/(y-z) D) x+z/y-z【2】A)y+2z,x-2zB)y+z,x-zC)x+z,y-z D) y+z*z,x-2*z以下程序的功能是根據(jù)輸入的字母,在屏幕上顯示出字符數(shù)組中首字符與其相同的字符串,若不存在,則顯示“Nofind,goodbye!”,請(qǐng)將程序補(bǔ)充完整。(B,D)charPriStr(charch1){charPriStr(charch1){inti=0,j=0;staticchar*ch2[]={"howareyou","gladtomeetyou","anythingnew", "everythingisfine","very well,thankyou","seeyoutomorrow"};while(i++<6)if(ch1==【1】)puts(【2】);=1;}returnj;}main()charch;printf("\nPleaeenterachar:");ch=getchar();ch=PriStr(ch);if(ch==【3】)puts("Nofind,goodbye!");【1】A)ch2[i][0]B)ch2[i-1][0]C)*ch2[i]D)*ch2[i-1][0]【2】A)ch2[i]B)*ch2[i]C)*ch2[i-1]D)ch2[i-1]【3】A)’0’ B)’48’ C)0D)30以下程序是將輸入的一個(gè)整數(shù)反序打印出來,例如輸入 1234,則輸出 4321,輸入-1234,則輸出 -4321。請(qǐng)將程序補(bǔ)充完整。(D,C)voidprintopp(longintn){inti=0;if(n==0)return;elsewhile(n){if(【1】)printf("%ld",n%10);elseprintf("%ld",-n%10);i++;}}【2】;main()longintn;scanf("%ld",&n);printopp(n);}printf("\n");【1】A)n<0&&i==0B)n<0||i==0C)n>0&&i==0D)n>0||i==0【2】A)n%=10B)n%=(-10)C)n/=10D)n/=)-10)29.下面的程序用遞歸定義的方法實(shí)現(xiàn)求菲波拉契數(shù)列1、1、2、3、5、8、13、21……第7項(xiàng)的值fib(7),菲波拉契數(shù)列第1項(xiàng)和第2項(xiàng)的值都是 1。請(qǐng)將程序補(bǔ)充完整。(C,D)#include<stdio.h>longfib(【1】){switch(g){case0:return0;return1;}return(【2】);}main(){longk;k=fib(7);printf("k=%d\n",k);}【1】A)gB)kC)longintgD)intk【2】A)fib(7)B)fib(g)C)fib(k)D)fib(g-1)+fib(g-2)30.有以下程序 (A)intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%d",&x);x=fun(x);printf("%d\n",x);}程序執(zhí)行時(shí) ,若輸入10,程序的輸出結(jié)果是A)55B)54C)65D)45下面是一個(gè)計(jì)算 1至m的階乘并依次輸出的程序。程序中應(yīng)填入的正確選項(xiàng)是【D】。#include<stdio.h>doubleresult=1;factorial(intj){result=result*j;return;}main(){intm,i=0,x;printf("Pleaseenteraninteger:");scanf("%d",&m);for(;i++<m;){x=factorial(i);printf("%d!=%.0f\n", 【】);}A)i,factorial(i)B)i,xC)j,xD)i,result以下程序的功能是求任意兩個(gè)整數(shù) a和b的最大公約數(shù),并予以顯示。請(qǐng)將程序補(bǔ)充完整。(B,A)#include<stdio.h>#include<stdlib.h>longcodivisor(longn1,longn2){longt;while(n2!=0){【1】;n1=n2;n2=t;}return(【2】);}main(){longa,b,x;printf("pleaseinputtwonumbers:");scanf("%ld%ld",&a,&b);x=codivisor(a,b);

printf("maximumcommonprintf("maximumcommondivisorof%ldand%ldis:%ld\n",a,b,x);}【1】A)t=n1/n2B)t=n1%n2C)t=n2%n1 D)t=n2/n1【2】A)labs(n1)B)labs(a)C)labs(b) D)labs(n2)以下程序的功能是計(jì)算并顯示一個(gè)指定行數(shù)的楊輝三角形(形狀如下),請(qǐng)將程序補(bǔ)充完整。(C,B,A)11112113311464115101051程序:#include<stdio.h>#defineN15voidyanghui(intb[][N],intn){inti,j;for(i=0;【1】;i++){b[i][0]=1;b[i][i]=1;}for(【2】;++i<=n;)for(j=1;j<i;j++)b[i][j]= 【3】 ;for(i=0;i<n;i++){for(j=0;j<=i;j++)printf("%4d",b[i][j]);printf("\n");}}main(){inta[N][N]={0},n;printf("pleaseinputsizeofyanghuitriangle(<=15)");scanf("%d",&n);printf("\n");yanghui(a,n);}【1】A)i<NB)i<=N C)i<nD)i<=n【2】A)i=0B)i=1C)i=2D)i=3TOC\o"1-5"\h\z【3】A)b[i-1][j-1]+b[i-1][j] B )b[i-2][j-1]+b[i-1][j]C)b[i-1][j-1]+b[i-1][j+1] D )b[i-2][j-2]+b[i-1][j]34.下面的程序用來將一個(gè)十 進(jìn)制正整數(shù)轉(zhuǎn)化成八進(jìn)制數(shù),例如輸入一個(gè)正整數(shù) 25,則輸出31,請(qǐng)將程序補(bǔ)充完整。(D,C)#include<stdio.h>main(){inti=0,j=0,a,b[10]={0};printf("\nPleaseinputainteger:");scanf("%d",&a);sub(a,b);for(;i<10;i++)if(【1】)j++;if(j!=0)printf("%d",b[i]);}}sub(intc,intd[]){inte,i=9;while(c!=0){e=c%8;d[i]=e;【2】;i--;}return;}【1】A)b[i]<0B)b[i-1]!=0C)b[i]<=0D)b[i]!=0【2】A)c=sub(c/8)B)c=c%8C)c=c/8D)c=e%835.函數(shù)bisearch的作用是應(yīng)用折半查找法從存有N個(gè)整數(shù)的升序數(shù)組 a中對(duì)關(guān)鍵字key進(jìn)行查找。請(qǐng)將程序補(bǔ)充完整。(C,A,B)#include<stdio.h>#defineN15bisearch(inta[N],intkey){intlow=0,high=N-1,mid;while(【1】){mid=(low+high)/2;if(key<a[mid])【2】;elseif(key>a[mid])low=mid+1;elsereturnmid;}return 【3】;}main(){intb[N],n,I,j;printf("Pleaseinputa%delementincreasingsequence:",N);for(i=0;i<N;i++){printf("b[%d]=",i);scanf("%d",&b[i]) ;}printf("Pleaseinputasearchingkey:");scanf("%d",&n);j=bisearch(b,n);if(j<-5)printf("Don’tfind%d\n",n);elseprintf("b[%d]=%d\n",j,n);}【1】A)low<high B)low!=highC)low<=highD)low<=high-1【2】A)high=mid-1 B)low=mid+1C)high=mid+1D)low=mid-1【3】A)0 B)-10 C)-1D)1以下程序是選出能被 3整除且至少有一位是5的所有三位正整數(shù)k(個(gè)位為a0,十位為a1,百位為a2),打印出所有這樣的數(shù)及其個(gè)數(shù)。請(qǐng)將程序補(bǔ)充完整。(C,B,A)#include<stdio.h>sub(intm,intn){inta0,a1,a2;a2=【1】;a1=【2】;a0=m%10;if(m%3==0 &&(a2==5||a1==5||a0==5)){printf(“%d”,m);n++;}returnn;}main()1010intm=0,k;for(k=105;k<=995;k++)m=sub(【3】);printf("\nn=%d\n",m);}1】A)m/10B)m%10C)m/100D)m%1002】A)(m-a2*10)/10B)m/10-a2*10C)m%10-a2*10D)m%100-m%103】A)k,mB)m,kC)k,nD)n,k以下程序可計(jì)算 10名學(xué)生1門課成績(jī)的平序補(bǔ)充完整。(C,B,D)序補(bǔ)充完整。(C,B,D)#include<stdio.h>voidaverage(floatarray[10]){inti=0;while(【1】)array[0]+=【2】;}array[i-1]=array[0]/10;main(){floatscore[10];inputinti;inputprintf("Pleasescores:\n");for(i=0;i<10;i++)

scanf("%f",&score[i]);average(score);printf("Theaverage

is%.2f\n", 【3】);【1】A)i<=10B)i++<10++i<10D)i<10【2】A)array[i-1] B)array[i]array[i--]D)array[i++]【3】A)score[8] B)score[0]C)array[8]D)score[9]scoreCscoreC)C)1.fun(intx,inty,intz)}z=x*x+y*y;main()inta=31;}(3pu1ri)nt(f(,"%,ad);",a);2.i{ntf()staticinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;for(i=0;i<5;i++)a+=f();

}(1p5r)intf("%d\n",a);3.運(yùn)行程序時(shí),若從鍵盤輸入 asdafaaz67(回車),分析以下程序的輸出結(jié)果。車)#include<stdio.h>intfun(char*str)inti,j=0;fori(fi(=s0tr;[si]t!r=[i]!=’’)’’;i++)str[j++]=str[i];}str[j]=’’;main()charstr[81];intn;printf("Inputastring:");fguent(ss(tsrt)r;);printf("%s\n",str);4.}(asdafaaz67)4.voidswap(int*p1,int*p2)int*t;t=p1,p1=p2,p2=t;*ppri2n)t;f("*p1=%d,*p2=%d\n",*p1,main()intx=10,y=20;swap(&x,&y);printf("x=%d,y=%d\n",x,y);5.}(10,20)5.#include<stdio.h>voidfun(int*s,intm,intn){intt;while(m<n)8.8.{t=s[m];s[m]=s[n];s[n]=t;m++;}n--;}main()Ifuntn(aa[5,0]=,4{)1;,2,3,4,5},k;for(k=0;k<5;k++)}(5p,4ri,n3t,f2(",%1)d ",a[k]);6.intfun(chars[])intn=0;while(*s<='9'&&*s>='0')n=10*n+*s-'0';s++; }return(n);}main()chars[10]={'6','1','*','4','*','9','*','0','*'}printf("%d\n",fun(s));}(61)7.#include<stdio.h>#include<stdio.h>Intfun(intx)return(3);{inty;return(3);if(x==0||x==1)y=x*x-fun(x-2)returny;}{main()intx,y;x=fun(3);y=fun(4);printf("%d,%d\n",x,y);fun(intn,int*s)*s=1;{intf1,f2;*s=1;if(n==1||n==2)elsefun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;}}main()intx;fun(6,&x);printf("%d\n",x);}三、填空題以下程序?qū)崿F(xiàn)了計(jì)算 x的n次方,請(qǐng)將程序填寫完整。floatpower(floatx,intn){inti;floatt=1;for(i=1;i<=n;i++)t=t*x;returnt;}main(){floatx,y;intn;scanf("%f,%d",&x,&n);y=power(x,n);printf("%8.2f\n",y);以下程序?qū)崿F(xiàn)了求兩個(gè)數(shù)的最大公約數(shù),請(qǐng)將程序填寫完整。intdivisor(inta,intb){intr;r=a%b;while(r!=0){a=b;b=r;r=a%b;}returnb;}voidmain(){inta,b,d,t;scanf("%d%d",&a,&b);if(a<b){t=a;a=b;b=t;}

d=divisor(a,b);printf("\ngcd=%d",d);以下函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回 0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,s<t時(shí)返回負(fù)值。請(qǐng)將函數(shù)填寫完整。my_cmp(char*s,char*t)while(*s==*t)if(*s==’\0’)return0;++s;++t;Return*s-*t;}以下程序的功能是 :刪去一維數(shù)組中所有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論