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

下載本文檔

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

文檔簡(jiǎn)介

1、函數(shù)練習(xí)題函數(shù)練習(xí)題 一、選擇題(一題一、選擇題(一題 2 2 分,共分,共 4040 分)分) 1.在 c 語(yǔ)言中以下不正確的說(shuō)法是() A. 實(shí)參可以是常量、變量、或表達(dá)式 B. 形參可以是常量、變量或表達(dá)式 C. 實(shí)參可以為任意類(lèi)型 D. 形參應(yīng)與其對(duì)應(yīng)的實(shí)參類(lèi)型一致 2.以下程序有語(yǔ)法性錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是() int main() int G=5,k; void prt_char(); k=prt_char(G); A. 語(yǔ)句 void prt_char();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用 void 說(shuō)明 B. 變量名不能使用大寫(xiě)字母 C. 函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾

2、 D. 函數(shù)名不能使用下劃線(xiàn) 3.以下正確的說(shuō)法是() A. 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套 B. 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可嵌套 C. 函數(shù)的定義和調(diào)用均不可以嵌套 D. 函數(shù)的定義和調(diào)用均可以嵌套 4.若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是() A)函數(shù)調(diào)用可以作為獨(dú)立的語(yǔ)句存在 B)函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參 C)函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中 D)函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參 5.以下所列的各函數(shù)首部中,正確的是() A、 void play(var :Integer,var b:Integer) B、 void play(int a,b)

3、 C、 void play(int a,int b) D、 Sub play(a as integer,b as integer) 6.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是( ) A、 地址傳遞 B、 單向值傳遞 C、 由實(shí)參傳給形參,再由形參傳回實(shí)參 D、 傳遞方式由用戶(hù)指定 7.有以下程序 void fun (int a,int b,int c) a=456; b=567; c=678; int main() int x=10, y=20,z=30; fun (x,y,z); printf(%d,/%d,%dn,x,y,z); return 0; 輸出結(jié)果是(

4、) A、30,20,10 B、10,20,30 C、456,567,678 D、678,567,456 8.下述函數(shù)定義形式正確的是( ) 。 A、 int f(int x; int y) B、 int f(int x,y) C、 int f(int x, int y) D、 int f(x,y: int) 9.關(guān)于函數(shù)參數(shù),說(shuō)法正確的是( ) 。 A、 實(shí)參與其對(duì)應(yīng)的形參各自占用獨(dú)立的內(nèi)存單元 B、 實(shí)參與其對(duì)應(yīng)的形參共同占用一個(gè)內(nèi)存單元 C、 只有當(dāng)實(shí)參和形參同名時(shí)才占用同一個(gè)內(nèi)存單元 D、 形參是虛擬的,不占用內(nèi)存單元 10.一個(gè)函數(shù)的返回值由( )確定。 A、 return 語(yǔ)句中的表

5、達(dá)式B、 調(diào)用函數(shù)的類(lèi)型 C、 系統(tǒng)默認(rèn)的類(lèi)型D、 被調(diào)用函數(shù)的類(lèi)型 11.以下正確的函數(shù)形式是( ) 。 A、 double fun(int x,int y) z=x+y; return z; B、 fun(int x,y) int z; return z; C、 fun(x,y) int x,y; double z; z=x+y; return z; D、 double fun(int x,int y) double z; z=x+y; return z; 12.下列函數(shù)中,能夠從鍵盤(pán)上獲得一個(gè)字符數(shù)據(jù)的函數(shù)是( ) 。 A、 puts( ) B、 putchar( ) C、 getcha

6、r( ) D、 gets( ) 13.以下程序的輸出結(jié)果是( ) 。 fun(int a,int b,int c) c=a+b; int main() int c; fun(2,3,c); printf(“%dn”,c); return 0; A、 2 B、 3C、 5 D、 無(wú)定值 14.分析以下程序的運(yùn)行結(jié)果( ) 。 func(int a,int b) int temp=a; a=b; b=temp; int main() int x,y; x=10; y=20; func(x,y); printf(“%d,%dn”,x,y); return 0 ; A、 10,20 B、10,10 C

7、、 20,10 D、20,20 15.現(xiàn)有如下程序 #include stdio.h int fun(int x) printf(x=%dn,+x); int main() fun(12+5); return 0; 則程序的輸出結(jié)果是 A、x=12 B、x=13 C、x=17 D、x=18 16.以下函數(shù) fff(float x ) printf(“%dn”,x*x); 的類(lèi)型是() A、與參數(shù) X 的類(lèi)型相同B、void 類(lèi)型C、int 類(lèi)型D、無(wú)法確定 17. 以下正確的說(shuō)法是( )如果在一個(gè)函數(shù)中的復(fù)合語(yǔ)句中定義了一個(gè)變量, 則該變量 A.只在該復(fù)合語(yǔ)句中有效B.在該函數(shù)中有效 C.在本

8、程序范圍內(nèi)均有效D.為非法變量 18. 以下不正確的說(shuō)法為( ) A.在不同函數(shù)中可以使用相同名字的變量 B.形式參數(shù)是局部變量 C.在函數(shù)內(nèi)定義的變量只在函數(shù)范圍內(nèi)有效 D.在函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效 19有以下程序 void f(int v , int w) int t; t=v;v=w;w=t; main( ) int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%dn”,x,y,z); 執(zhí)行后輸出結(jié)果是 A、 1,2,3 B、 3,1,2 C、 1,3,2 D

9、、 2,3,1 20. 以下正確的函數(shù)形式是( ) Adouble fun(int x,int y) B.fun(int x,y) C. fun(x,y) D.double fun(int x,int y) ; 二、判斷題(一題二、判斷題(一題 1 1 分,共分,共 1212 分)分) 1.( )return 語(yǔ)句作為函數(shù)的出口,在一個(gè)函數(shù)體內(nèi)只能有一個(gè)。 2.( )在 C 程序中,函數(shù)不能嵌套定義,但可以嵌套調(diào)用。 3.( ) C 語(yǔ)言的源程序中必須包含庫(kù)函數(shù)。 4.( )在 C 程序中,函數(shù)調(diào)用不能出現(xiàn)在表達(dá)式語(yǔ)句中。 5.( )在 C 函數(shù)中,形參可以是變量、常量或表達(dá)式。 6.( )在

10、 C 語(yǔ)言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是函數(shù)首部和函數(shù)體。 7.( )若定義的函數(shù)沒(méi)有參數(shù),則函數(shù)名后的圓括號(hào)可以省略。 8.( )函數(shù)的函數(shù)體可以是空語(yǔ)句。 9.( )函數(shù)的實(shí)參和形參可以是相同的名字。 10.( )C 語(yǔ)言中函數(shù)返回值的類(lèi)型由 return 語(yǔ)句中的表達(dá)式的類(lèi)型決定。 11.( )C 語(yǔ)言程序中的 main( )函數(shù)必須放在程序的開(kāi)始部分。 12.( )函數(shù)調(diào)用中,形參與實(shí)參的類(lèi)型和個(gè)數(shù)必須保持一致。 三、分析程序?qū)懡Y(jié)果(每題三、分析程序?qū)懡Y(jié)果(每題 2 2 分,共分,共 1414 分)分) 1、以下程式序的運(yùn)行結(jié)果是_ main() int i=2,x=5,j=7

11、; fun(j,6); printf(“i=%d;j=%d;x=%dn”,i,j,x); fun(int i,int j) int x=7; printf(“i=%d;j=%d;x=%dn”,i,j,x); 2、以下程序的運(yùn)行結(jié)果是_ main() increment(); increment(); increment(); increment() int x=0;x+=1; printf(“%d”,x); 3、以下程序的運(yùn)行結(jié)果是_ main() int a=1,b=2,c; c=max(a,b);printf(“max is %dn”,c); max(int x,int y) int z;

12、 z=(xy)?x:y; return(z); 4、若輸入一個(gè)整數(shù) 10,以下程序運(yùn)行結(jié)果是_ main() int a,e10,c,i=0; printf(“輸入一個(gè)整數(shù): n”); scanf(“%d”, while(a!=0) c=sub(a); a=a/2; eI=c; i+; for(;i0;i-) printf(“%d”,ei-1); sub(int a) int c; c=a%2; return c; 5、以下程序的運(yùn)行結(jié)果是_ main() int x=2,y=3,z=0; printf(“(1)x=%d y=%d z=%dn”,x,y,z); add(x,y,z); prin

13、tf(“(3)x=%d y=%d z=%dn”,x,y,z); add(int x,int y, int z) z=x+y; x=x*x; y=y*y; printf(“(2)x=%d y=%d z=%dn”,x,y,z); 6、以下程序的運(yùn)行結(jié)果是_ int x; main() x=5; cude(); printf(“%dn”,x); cude() x=x*x*x; 7、函數(shù) fun 的功能是計(jì)算 xn double fun(double x,int n) int i; double y=1; for(i=1;i=n;i+) y=y*x; return y; 主函數(shù)中已經(jīng)正確定義 m,a,

14、b 變量并賦值,并調(diào)用 fun 函數(shù)計(jì)算: m=a4+b4-(a+b) 3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)用語(yǔ)句為_(kāi) _。 四、程序填空四、程序填空(一空(一空 2 2 分,共分,共 3434 分)分) 1. 以下程序的功能是計(jì)算函數(shù) F(x,y,z)=(x+z)/(y-z)+(y+2z)/(x-2z)的值,請(qǐng)將 程序補(bǔ)充完整。( ) #include float f(float x,float y) float value; value= 【1】; return value; main() float x,y,z,sum; scanf(%f%f%f, sum=f(x+z,y-z)+f(【2】); pr

15、intf(sum=%fn,sum); 2. 以下程序是將輸入的一個(gè)整數(shù)反序打印出來(lái),例如輸入 1234,則輸出 4321, 輸入-1234,則輸出-4321。請(qǐng)將程序補(bǔ)充完整。( ) void printopp(long int n) if(n=0) return ; if( 【1】 ) printf( - );n=-n; while(n) printf(%ld,n%10); 【2】; main() long int n; scanf(%ld, printopp(n); printf(n); 3. 下面的程序用遞歸定義的方法實(shí)現(xiàn)求菲波拉契數(shù)列 1、1、2、3、5、8、13、21第 7 項(xiàng)的值

16、fib(7),菲波拉契數(shù)列第 1 項(xiàng)和第 2 項(xiàng)的值都是 1。請(qǐng)將程序補(bǔ)充完整。 #include long fib(【1】) switch(g) case 0: return 0; case 1: case 2: return 1; return (【2】); main() long k; k=fib(7); printf(k=%dn,k); 4. 下面是一個(gè)計(jì)算 1 至 m 的階乘并依次輸出的程序。程序中應(yīng)填入的正確選項(xiàng)是 【 】 。 #include double result=1; factorial( int j) result=result*j; return result; ma

17、in() int m,i=0;double x; printf(Please enter an integer:); scanf(%d, for(;i+m;) x=factorial(i); printf(%d!=%.0fn, 【1】 ); 5. 以下程序的功能是求任意兩個(gè)整數(shù) a 和 b 的最大公約數(shù),并予以顯示。請(qǐng)將程序 補(bǔ)充完整。( ) #include #include long codivisor(long n1,long n2) long t; while( n2!=0 ) 【1】; n1=n2; n2=t; return (【2】); main() long a,b,x; printf(please input two numbers:); scanf(%ld%ld, x=codivisor(a,b); printf(maximum common divisor of %ld and %ld is : %ldn, a,b,x); 6. 以下程序是選出能被 3 整除且至少有一位是 5 的所有三位正整數(shù) k(個(gè)位為 a0,十 位為 a1,百位為 a2),打印出所有這樣的數(shù)及其個(gè)數(shù)。請(qǐng)將程序補(bǔ)充完整。( ) #include sub(int m,int n) int a0

溫馨提示

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

評(píng)論

0/150

提交評(píng)論