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

下載本文檔

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

文檔簡(jiǎn)介

1、Page of 10函數(shù)習(xí)題選擇題以下正確的說(shuō)法是 BA)用戶若需要調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前必須重新定義B)用戶可以重新定義標(biāo)準(zhǔn)庫(kù)函數(shù),如若此,該函數(shù)將失去原有定義C)系統(tǒng)不允許用戶重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)D)用戶若需要使用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前不必使用預(yù)處理命令將該函數(shù)所在的頭文件包含編譯, 系統(tǒng)會(huì)自動(dòng)調(diào)用。以下正確的函數(shù)定義是 A ) double fun(int x, int y) z=x+y ; return z ; C) fun (x,y) int x, y ; double z ;z=x+y ; return z ; 以下正確的說(shuō)法是D 。double fun(int x,y) int z ;

2、 return z ;D) double fun (int x, int y) double z ;return z ; A)實(shí)參和與其對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元B)實(shí)參和與其對(duì)應(yīng)的形參共占用一個(gè)存儲(chǔ)單元C)只有當(dāng)實(shí)參和與其對(duì)應(yīng)的形參同名時(shí)才共占用相同的存儲(chǔ)單元D)形參時(shí)虛擬的,不占用存儲(chǔ)單元以下正確的函數(shù)聲明是C 。A ) double fun(int x , int y)B)double fun(int x ; int y)C)double fun(int x , int y) ; D)double fun(int x,y)若調(diào)用一個(gè)函數(shù),且此函數(shù)中沒(méi)有 return 語(yǔ)句,則正確的說(shuō)

3、法是 DA)該函數(shù)沒(méi)有返回值B)該函數(shù)返回若干個(gè)系統(tǒng)默認(rèn)值C)能返回一個(gè)用戶所希望的函數(shù)值D)返回一個(gè)不確定的值以下不正確的說(shuō)法是 B 。A)實(shí)參可以是常量,變量或表達(dá)式B)形參可以是常量,變量或表達(dá)式C)實(shí)參可以為任意類型D)如果形參和實(shí)參的類型不一致,以形參類型為準(zhǔn)C 語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)的形參之間的數(shù)據(jù)傳遞方式是 BA)地址傳遞B)值傳遞C)有實(shí)參傳給形參,再由形參傳給實(shí)參D)由用戶指定傳遞方式C 語(yǔ)言規(guī)定,函數(shù)返回值的類型是由 D 決定的。A)return 語(yǔ)句中的表達(dá)式類型 B)調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型 C)調(diào)用該函數(shù)時(shí)由系統(tǒng)臨時(shí)D)在定義函數(shù)時(shí)所指定的函數(shù)類型以下

4、正確的描述是 B 。A)函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B)函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C)函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套D)函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是 A 。Page 1 of 10A )數(shù)組的首地址B)數(shù)組中第一個(gè)元素的值C)數(shù)組中的全部元素的值D)數(shù)組元素的個(gè)數(shù)如果在一個(gè)函數(shù)中的復(fù)合語(yǔ)句中定義了一個(gè)變量,則該變量A 。A )只在該復(fù)合語(yǔ)句中有定義B)在該函數(shù)中有定義C)在本程序范圍內(nèi)有定義D )為非法變量以下不正確的說(shuō)法是D 。在不同函數(shù)中可以使用相同名字的變量形式參數(shù)是局部變量在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍

5、內(nèi)有定義在函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有定義以下不正確的說(shuō)法是 B 。A )形參的存儲(chǔ)單元是動(dòng)態(tài)分配的函數(shù)中的局部變量都是動(dòng)態(tài)存儲(chǔ)全局變量都是靜態(tài)存儲(chǔ) D)動(dòng)態(tài)分配的變量的存儲(chǔ)空間在函數(shù)結(jié)束調(diào)用后就被釋放了下面程序的輸出是 A 。(不同的編譯系統(tǒng)可能有不同的結(jié)果 , 6,3,2 ) int i=2 ;printf( “%d%d%d”,i*=2,+i,i+) ;8,4,2 B)8,4,3C)4,4, 5 D)4,5,6已知一個(gè)函數(shù)的定義如下:double fun(int x, double y) , 則該函數(shù)正確的函數(shù)原型聲明為: C A ) double fun (int x,d

6、ouble y)B)fun (int x,double y)C) double fun (int ,double ); D)fun(x,y) ;16 關(guān)于函數(shù)聲明,以下不正確的說(shuō)法是 C 。如果函數(shù)定義出現(xiàn)在函數(shù)調(diào)用之前,可以不必加函數(shù)原型聲明如果在所有函數(shù)定義之前,在函數(shù)外部已做了聲明,則各個(gè)主調(diào)函數(shù)不必再做函數(shù)原型聲 明函數(shù)再調(diào)用之前,一定要聲明函數(shù)原型,保證編譯系統(tǒng)進(jìn)行全面的調(diào)用檢查標(biāo)準(zhǔn)庫(kù)不需要函數(shù)原型聲明17. 以下不正確的說(shuō)法是D 。A )全局變量,靜態(tài)變量的初值是在編譯時(shí)指定的靜態(tài)變量如果沒(méi)有指定初值,則其初值為 0局部變量如果沒(méi)有指定初值,則其初值不確定 D)函數(shù)中的靜態(tài)變量在函

7、數(shù)每次調(diào)用時(shí),都會(huì)重新設(shè)置初值 18. 以下不正確的說(shuō)法是B 。register 變量可以提高變量使用的執(zhí)行效率register變量由于使用的是 CPU 的寄存器,其數(shù)目是有限制的extern變量定義的存儲(chǔ)空間按變量類型分配 D)全局變量使得函數(shù)之間的“耦合性”更加緊密,不利于模塊化的要求 二填空題C 語(yǔ)言函數(shù)返回類型的默認(rèn)定義類型是 int 。函數(shù)調(diào)用語(yǔ)句 :fun(a,b),(c,d,e) 實(shí)參個(gè)數(shù)為 2 。函數(shù)的實(shí)參傳遞到形參有兩種方式: 值傳遞 和 地址傳遞 。在一個(gè)函數(shù)內(nèi)部調(diào)用另一個(gè)函數(shù)的調(diào)用方式稱為 嵌套調(diào)用 。在一個(gè)函數(shù)內(nèi)部直接或間 接調(diào)用該函數(shù)自身成為函數(shù) 遞歸 的調(diào)用方式。C

8、 語(yǔ)言變量按其作用域分為 外部變量 和 內(nèi)部變量 。按其生存期分為 全 局變量 和 局部變量 。已知函數(shù)定義 :void dothat(int n,double x) , , 其函數(shù)聲明的兩種寫法為void dothat(int n,double x); 和 void dothat(int , double) ; 。C 語(yǔ)言變量的存儲(chǔ)類別有 auto , extern , register 和 static 。凡在函數(shù)中未指定存儲(chǔ)類別的局部變量,其默認(rèn)的存儲(chǔ)類別為 auto 。在一個(gè) C程序中,若要定義一個(gè)只允許本源程序文件中所有函數(shù)使用的全局變量,則該變量 需要定義的存儲(chǔ)類別為 static

9、 。變量被賦初值可以分為兩個(gè)階段:即編譯階段 和 運(yùn)行階段 。三程序閱讀題寫出下面程序的運(yùn)行結(jié)果。 func (int a,int b) static int m=0,i=2;i+=m+1; m=i+a+b; return (m);main ( ) int k=4,m=1,p1,p2;p1=func(k,m) ; p2=func(k,m) ; printf( “%d,%dn”,p1,p2) ;8,17寫出下面程序的運(yùn)行結(jié)果。# define MAX 10 int aMAX, i ; sub1 ( ) for (i=0; iMAX; i+) ai=i+i ;sub2 ( ) int aMAX,

10、i ,max ;max=5;for (i=0; iMAX; i+) ai=i ;sub3 (int a ) int i ;for (i=0; iMAX; i+) printf( “%d ”,ai);printf( “n”);main ( ) sub1( ); sub3(a); sub2( ); sub3(a);0 2 4 6 8 10 12 14 16 18Page 3 of 10Page of 10Page of 100 2 4 6 8 10 12 14 16 18若輸入的值是 125,寫出下面程序的運(yùn)行結(jié)果 #include fun (int n) int k,r ;for (k=2; k

11、1) printf( “* ”); r = n % k ;if (n!=1) printf( “%dn”,n);main ( ) int n ;scanf(“%d”,&n);printf( “%d=”,n);if (n0) printf( “- ”);n = fabs(n); fun(n);-125=-5*5*5寫出下面程序的運(yùn)行結(jié)果。int i=0;fun1 (int i) i = (i%i)*(i*i)/(2*i)+4 ;printf( “i=%dn”,i);return (i) ;fun2(int i) i = i=2 ? 5 : 0 ;return (i) ;main ( ) int

12、i = 5 ;fun2(i/2) ; printf( “i=%dn ”,i) ; fun2(i=i/2) ; printf( “i=%dn ”,i) ; fun2(i/2) ; printf( “i=%dn ”,i) ; fun1(i/2) ; printf( “i=%dn ”,i) ;i=5i=2i=2i=4i=2寫出下面程序的功能。func (int n) int i,j,k;i=n/100; j=n/10-i*10 ; k=n%10 ;if (i*100+j*10+k) = i*i*i+j*j*j+k*k*k) return n ;return 0;main ( ) int n,k ;f

13、or (n=100; n 0 ) d = s%10;if (d%2=0) 改為 = =t=d* sl+ t;sl *= 10;s = 10; return (t);下面函數(shù) fun 的功能是:統(tǒng)計(jì)字符串 s 中各元音字母(即 A,E,I,O,U )的個(gè)數(shù),注意:字母 不分大,小寫;判斷下面程序的正誤,如果錯(cuò)誤請(qǐng)改正過(guò)來(lái)。fun (char s , int num5) int k; i=5;for (k=0; k= 0) numi+; 函數(shù) fun 的功能是:根據(jù)整型形參 m,計(jì)算如下公式的值:1100*100200*200300*3001m* m判斷下面程序的正誤,如果錯(cuò)誤請(qǐng)改正過(guò)來(lái)fun (

14、int m) double y = 0, d ; int i ;for ( i =100; i = ?0? & si= ?9?)sj =si; 改為 sj+sj= ”0”;五程序填空題下面函數(shù)用“折半查找法” 從有 10個(gè)數(shù)的 a 數(shù)組中對(duì)關(guān)鍵字 m查找,若找到,返回其下標(biāo)值, 否則返回 1,請(qǐng)?zhí)? 2)空使程序完整。經(jīng)典算法提示: 折半查找法的思路是先確定待查元素的范圍,將其分成兩半,然后比較位于中間點(diǎn)元素的值。 如果該待查元素的值大于中間點(diǎn)元素的值,則將范圍重新定義為大于中間點(diǎn)元素的范圍,反之 亦反。int search(int a10,int m) int x1=0,x2=0,mid ;

15、while (x1=x2) mid = (x1+x2)/2;if (mamid) 【2x1=mid+1 】else return (mid) ; return (-1) ;del 函數(shù)的作用是刪除有序數(shù)組 a中的指定元素 x,n為數(shù)組 a的元素個(gè)數(shù),函數(shù)返回刪除后 的數(shù)組 a元素個(gè)數(shù),請(qǐng)?zhí)?(2) 空使程序完整。int del (int a10,int n,int x) int p=0,i ;while (x=ap&pn)【1p+】 ;for (i=p-1; in-1; i+) 【2ai=ai+1】 ;return (n-1) ; 3.以下程序的功能是計(jì)算函數(shù) F(x,y,z) x y z y

16、 ,請(qǐng)?zhí)?3) 空使程序完整。x y z y# include TOC o 1-5 h z 【1float fun(float a,float b)】 ;main ( ) float x,y,z,f ; scanf(“%f,%f,%f ”,&x,&y,&z); f = fun (【2x+y,x-y】);f += fun ( 【3z+y,z-y】);printf( “f=%d”,f);float fun(float a,float b) return (a/b) ;4.avg 函數(shù)的作用是計(jì)算數(shù)組 array 的平均值返回,請(qǐng)?zhí)?(3) 空使程序完整。 float avg(float array

17、10) int i ;float avgr , sum=0 ;for (i=1; 【1i10】; i+)sum+=【 2arrayi】;avgr = sum / 10 ;【 3return avgr】 ; 六編程題1. 寫兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個(gè)函數(shù),并輸 出結(jié)果,且兩個(gè)整數(shù)的輸入也在主函數(shù)。#include int max(int m,int n) int w;while (n) w= m%n ; m= n; n=w;return m;int min(int m,int n)return m*n/max(m,n);main()int m,n;sca

18、nf(%d,%d,&m,&n);printf(%d ,%dn,max(m,n),min(m,n);2. 寫一個(gè)判素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)數(shù),輸出是否為素?cái)?shù)的信息。#include #include int prime(int m) int i;for(i=2;i=sqrt(m);i+)if(m%i=0) return 0;return 1;main() int m;scanf(%d,&m);if(prime(m)printf(%d isn, m);elseprintf(%d is notn, m);寫一個(gè)函數(shù),使給定的一個(gè)二維數(shù)組( NN)轉(zhuǎn)置,即行列互換。(N是不大于 10 的數(shù),由 輸

19、入決定)。(可不作)編寫一個(gè) fun 函數(shù) void fun(char s1,char s2),將兩個(gè)字符串 s1 和 s2 連接起來(lái)存放在s1 中。void fun(char s1,char s2)int i,j;for(i=0;s1i!=0 ;i+);for(j=0;(s1i=s2j)!=0 ;i+,j+);編寫一個(gè) fun 函數(shù): long fun(char s), 將一個(gè)數(shù)字字符串轉(zhuǎn)換為一個(gè)整數(shù)(不得調(diào)用標(biāo)準(zhǔn) 庫(kù)函數(shù))。例如,若輸入字符串“ 1234”,則函數(shù)把它轉(zhuǎn)換為整數(shù)值 1234。#include long fun(char s) int i, n, sign;for (i = 0; isspace(si); i+) /* skip white space */sign = (si = -) ? -1 : 1;if (si = + | si = -) /* skip sign *

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論