




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上函數(shù)練習(xí)題(C語(yǔ)言)帶答案C語(yǔ)言函數(shù)練習(xí)題 一、選擇題 1. 一個(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)成 2. 以下關(guān)于函數(shù)的敘述中正確的是【 】。 A)C語(yǔ)言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開(kāi)始執(zhí)行 B)可以在程序中用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_(kāi)始執(zhí)行 C)C語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_(kāi)始執(zhí)行,在此結(jié)束 D)main可作為用戶標(biāo)識(shí)符,用以定義任意一個(gè)函數(shù) 3. 以下關(guān)于函數(shù)的敘述中
2、不正確的是【 】。 A)C程序是函數(shù)的集合,包括標(biāo)準(zhǔn)庫(kù)函數(shù)和用戶自定義函數(shù) B)在C語(yǔ)言程序中,被調(diào)用的函數(shù)必須在main函數(shù)中定義 C)在C語(yǔ)言程序中,函數(shù)的定義不能嵌套 D)在C語(yǔ)言程序中,函數(shù)的調(diào)用可以嵌套 4. 在一個(gè)C程序中,【 】。 A)main函數(shù)必須出現(xiàn)在所有函數(shù)之前 B)main函數(shù)可以在任何地方出現(xiàn) C)main函數(shù)必須出現(xiàn)在所有函數(shù)之后D)main函數(shù)必須出現(xiàn)在固定位置 5. 若在C語(yǔ)言中未說(shuō)明函數(shù)的類型,則系統(tǒng)默認(rèn)該函數(shù)的數(shù)據(jù)類型是【 】 A)floatB)long C)int D)double 6. 以下關(guān)于函數(shù)敘述中,錯(cuò)誤的是【 】。 A)函數(shù)未被調(diào)用時(shí),系統(tǒng)將不為
3、形參分配內(nèi)存單元 B)實(shí)參與形參的個(gè)數(shù)應(yīng)相等,且實(shí)參與形參的類型必須對(duì)應(yīng)一致 C)當(dāng)形參是變量時(shí),實(shí)參可以是常量、變量或表達(dá)式 D)形參可以是常量、變量或表達(dá)式 7. C程序中各函數(shù)之間可以通過(guò)多種方式傳遞數(shù)據(jù),下列不能用于實(shí)現(xiàn)數(shù)據(jù)傳遞的方式是【 】。 A)參數(shù)的形實(shí)結(jié)合 B)函數(shù)返回值 C)全局變量 D)同名的局部變量 8. 若函數(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ǔ)單元 9. 函數(shù)調(diào)用時(shí),當(dāng)
4、實(shí)參和形參都是簡(jiǎn)單變量時(shí),他們之間數(shù)據(jù)傳遞的過(guò)程是【 】。 A)實(shí)參將其地址傳遞給形參,并釋放原先占用的存儲(chǔ)單元 B)實(shí)參將其地址傳遞給形參,調(diào)用結(jié)束時(shí)形參再將其地址回傳給實(shí)參 C)實(shí)參將其值傳遞給形參,調(diào)用結(jié)束時(shí)形參再將其值回傳給實(shí)參 D)實(shí)參將其值傳遞給形參,調(diào)用結(jié)束時(shí)形參并不將其值回傳給實(shí)參 10. 若函數(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ǔ)單元 11. 若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,則傳遞
5、給形參的是 【 】。 A) 數(shù)組的首地址B) 數(shù)組的第一個(gè)元素的值C) 數(shù)組中全部元素的值D) 數(shù)組元素的個(gè)數(shù) 12. 若函數(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ù)之間的雙向值的傳遞 13. 如果一個(gè)函數(shù)位于C程序文件的上部,在該函數(shù)體內(nèi)說(shuō)明語(yǔ)句后的復(fù)合語(yǔ)句中定義了一個(gè)變量,則該變量【 】。 A)為全局變量,在本程序文件范圍內(nèi)有效 B)為局部變量,只在該函數(shù)內(nèi)有效 C)為局部變量,只在該復(fù)
6、合語(yǔ)句中有效 D)定義無(wú)效,為非法變量 14. C語(yǔ)言中函數(shù)返回值的類型是【 】決定。A)return語(yǔ)句中的表達(dá)式類型B)調(diào)用函數(shù)的主調(diào)函數(shù)類型C)調(diào)用函數(shù)時(shí)臨時(shí) D)定義函數(shù)時(shí)所指定的函數(shù)類型 15. 若在一個(gè)C源程序文件中定義了一個(gè)允許其他源文件引用的實(shí)型外部變量a,則在另一文件中可使用的引用說(shuō)明是【 】。 A)extern static float a; B)float a; C)extern auto float a; D)extern float a; 16. 定義一個(gè)void型函數(shù)意味著調(diào)用該函數(shù)時(shí),函數(shù)【 】 A)通過(guò)return返回一個(gè)用戶所希望的函數(shù)值 B)返回一個(gè)系統(tǒng)默認(rèn)
7、值 C)沒(méi)有返回值 D)返回一個(gè)不確定的值 17. 若定義函數(shù)float *fun( ),則函數(shù)fun的返回值為【 】。 A)一個(gè)實(shí)數(shù) B)一個(gè)指向?qū)嵭妥兞康闹羔?C)一個(gè)指向?qū)嵭秃瘮?shù)的指針 D)一個(gè)實(shí)型函數(shù)的入口地址 18. C語(yǔ)言規(guī)定,程序中各函數(shù)之間【 】。 A)既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用 B)不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用 C)允許直接遞歸調(diào)用不允許間接遞歸調(diào)用 D)不允許直接遞歸調(diào)用允許間接遞歸調(diào)用 19. 若程序中定義函數(shù) float myadd(float a, float b) return a+b; 并將其放在調(diào)用語(yǔ)句之后,則在調(diào)用之前應(yīng)對(duì)該函數(shù)進(jìn)行說(shuō)明。以
8、下說(shuō)明中錯(cuò)誤的是【 】。 A)float myadd( float a,b); B)float myadd(float b, float a); C)float myadd(float, float); D)float myadd(float a, float b); 20. 關(guān)于以下fun函數(shù)的功能敘述中,正確的是【 】。 int fun(char *s) char *t=s; while(*t+) ; t-; return(t-s); A) 求字符串s的長(zhǎng)度 B) 比較兩個(gè)串的大小 C) 將串s復(fù)制到串tD) 求字符串s所占字節(jié)數(shù) 21. 下面程序段運(yùn)行后的輸出結(jié)果是【 】 int a,
9、b; void swap( ) int t; t=a; a=b; b=t; main() scanf( swap( );printf ( A) a=5,b=3 B) a=3,b=5 22. 以下程序運(yùn)行后的輸出結(jié)果是【 】。 fun(int a, int b) if(a>b) return a; else return b; main() int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); C)5,3D)3,5 printf( A) 3 B) 6 C) 823. 以下程序的運(yùn)行結(jié)果是【 】。 void f(int a, int b) int t; t=a; a
10、=b; b=t; main() int x=1, y=3, z=2; if(x>y) f(x,y); else if(y>z) f(x,z);else f(x,z); printf( A) 1,2,3 B) 3,1,2 C) 1,3,2 24. 以下程序運(yùn)行后的輸出結(jié)果為【 】。 int *f(int *x, int *y) if(*xmain() int a=7,b=8,*p,*q,*r; p=&a, q=&b; r=f(p,q); printf( A) 7,8,8 B) 7,8,7 C) 8,7,7 25. 以下程序的正確運(yùn)行結(jié)果是【 】。 #inclued m
11、ain() int k=4,m=1,p; p=func(k,m);printf(“%d”,p); p=func(k,m); printf(“%dn”,p); func(int a,int b) D) 12 D) 2,3,1 D) 8,7,8 static int m=0,i=2; i+=m+1; m=i+a+b; return (m); A)8,17B)8,16C)8,20D)8,8 26. 以下程序的功能是計(jì)算函數(shù)F(x,y,z)=(x+z)/(y-z)+(y+2×z)/(x-2×z)的值,請(qǐng)將程序補(bǔ)充完整。 #include float f(float x,float
12、y) float value; value= 【1】; return value; main() float x,y,z,sum; scanf( sum=f(x+z,y-z)+f(【2】); printf( 【1】A) x/y B) x/z C) (x+z)/(y-z) D) x+z/y-z 【2】A) y+2z,x-2z B) y+z,x-z C) x+z,y-z D) y+z*z,x-2*z 27. 以下程序的功能是根據(jù)輸入的字母,在屏幕上顯示出字符數(shù)組中首字符與其相同的字符串,若不存在,則顯示“No find,good bye!”,請(qǐng)將程序補(bǔ)充完整。 #include char PriS
13、tr(char ch1) int i=0,j=0; static char *ch2=are youto meet younew while(i+if(ch1=【1】 ) puts(【2】);j=1; return j; main() char ch; printf( ch=getchar(); 5. #include void fun(int *s, int m, int n) int t; while(mt=sm; sm=sn; sn=t; m+; n-; main() Int a5=1,2,3,4,5,k; fun(a,0,4); for(k=0;k6. int fun(char s)
14、int n=0; while(*s=0) n=10*n+*s-0; s+; return(n); main() char s10=6,1,*,4,*,9,*,0,*; printf( 7. #include Int fun(int x) int y; if(x=0|x=1) return(3); y=x*x-fun(x-2) return y; main() int x,y; x=fun(3);y=fun(4); printf( 8. fun(int n,int *s) int f1, f2; if(n=1 | n=2) *s=1; else fun(n-1, &f1); fun(n-
15、2, &f2); *s=f1+f2; main() int x; fun(6,&x); printf( 三、填空題 1. 以下程序?qū)崿F(xiàn)了計(jì)算x的n次方,請(qǐng)將程序填寫(xiě)完整。 float power(float x,int n) int i; float t=1; for(i=1;imain( ) float x,y; int n;scanf( y=power(x,n); printf( 2. 以下程序?qū)崿F(xiàn)了求兩個(gè)數(shù)的最大公約數(shù),請(qǐng)將程序填寫(xiě)完整。 int divisor(int a,int b) int r; r=a%b; while(【2】) a=b;b=r;r=a%b; re
16、turn b; void main() int a,b,d,t; scanf(if (a t=a; a=b; b=t; d=divisor(a,b); printf( 3. 以下函數(shù)my_cmp( )的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,s while(*s = *t) if (【3】) return 0;+s; +t; return 【4】; 4. 以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。請(qǐng)將程序填寫(xiě)完整。 例如,若一維
17、數(shù)組中的數(shù)據(jù)是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10刪除后,數(shù)組中的內(nèi)容應(yīng)該是: 2 3 4 5 6 7 8 9 10。 #include #define N 80 int fun(int a, int n) int i,j=1; for(i=1;imain( ) int aN=2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,i,n=19; printf( for(i=0;iprintf( for(i=0; i四、編程題 1. 請(qǐng)用自定義函數(shù)的形式編程實(shí)現(xiàn),求s=m!+n!+k!,m、n、k從鍵盤(pán)輸入。 2. 請(qǐng)用
18、自定義函數(shù)的形式編程實(shí)現(xiàn)求10名學(xué)生1門(mén)課程成績(jī)的平均分。 3. 請(qǐng)編寫(xiě)兩個(gè)自定義函數(shù),分別實(shí)現(xiàn)求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),并用主函數(shù)調(diào)用這兩個(gè)函數(shù),輸出結(jié)果。 4. 已知二階Fibonacci數(shù)列: 0 Fib(n) 若n=0 1若n=1 Fib(n-1)+Fib(n-2)其他情況 請(qǐng)編寫(xiě)一個(gè)遞歸函數(shù),實(shí)現(xiàn)求Fib(n)。 第6章 一、選擇題1. B 2. 11. A 12. 21. A 22. 27.【2】D 30. A 33.【3】A 36.【1】D 38.【1】C 40.【1】C 1. 2. 3. 4. 5. 6. 7. 8. C 3. B A 13. C D 23. C 27
19、.【3】C 31. D 34.【1】D 36.【2】B 38.【2】B 40.【2】B 4. B 5. 14. D 15. 24. B 25. 28.【1】D 32.【1】B 34.【2】C 36.【3】A 38.【3】A 40.【3】D C 6. D 7. D 8. C 9. D 10. D D 16. C 17. B 18. A 19. A 20. A A 26.【1】A 26.【2】D 27.【1】B 28.【2】C 29.【1】C 29.【2】D 32.【2】A 33.【1】C 33.【2】B 35.【1】C 35.【2】A 35.【3】B 37.【1】A 37.【2】B 37.【3】
20、A 39.【1】C 39.【2】B 39.【3】A 二、讀程序?qū)懡Y(jié)果: 31 15 asd af aa z67 *p1=20,*p2=10 x=10,y=20 5 4 3 2 1 61 6,15 8 三、填空題 1【1】 return t 2【2】 r!=0 3【3】 *s = ?0? 【4】 *s-*t 4【5】 !=【6】 j 四、編程題 1. #include long fun(int x) long y=1; while(x>0) y*=x; x-; return(y); main() int m,n,k; printf(scanf(printf( 2 #include #define N 10 float average(float array) int i=0; float s=0; for(i=0;imain() float scoreN,i; float ave; printf( for(i=0;i scanf( ave=average(score); pri
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司背景墻策劃方案
- 公司春季放風(fēng)箏活動(dòng)方案
- 公司游園小活動(dòng)策劃方案
- 公司職稱評(píng)審策劃方案
- 公司群體互動(dòng)策劃方案
- 公司群體性運(yùn)動(dòng)活動(dòng)方案
- 公司節(jié)前大掃除活動(dòng)方案
- 公司知識(shí)跨年活動(dòng)方案
- 公司管理規(guī)范年活動(dòng)方案
- 公司旅游預(yù)熱引流活動(dòng)方案
- 2025-2030中國(guó)網(wǎng)球行業(yè)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025中國(guó)國(guó)新控股有限責(zé)任公司招聘7人筆試參考題庫(kù)附帶答案詳解
- 酒店客戶關(guān)系管理試題及答案
- 高壓氧試題(含答案)
- 傳染病人轉(zhuǎn)診制度
- Notre-Dame de Paris 巴黎圣母院音樂(lè)劇歌詞(中法雙語(yǔ)全)
- 物理學(xué)史考試題庫(kù)及答案(含各題型)
- 深靜脈血栓預(yù)防和護(hù)理評(píng)估
- 扣眼穿刺法課件
- 術(shù)后尿潴留預(yù)防與處理
- 2025年中級(jí)育嬰員技能等級(jí)證書(shū)理論全國(guó)考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論