C語言函數(shù)的基礎知識-創(chuàng)新互聯(lián)

一、定義、聲明和調用

創(chuàng)新互聯(lián)建站堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十載網(wǎng)站建設經(jīng)驗創(chuàng)新互聯(lián)建站是成都老牌網(wǎng)站營銷服務商,為您提供成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設、網(wǎng)站設計、H5場景定制、網(wǎng)站制作、品牌網(wǎng)站設計、小程序制作服務,給眾多知名企業(yè)提供過好品質的建站服務。
函數(shù):一段可以重復使用的代碼
函數(shù)三要素:返回值 函數(shù)名 函數(shù)形參列表
函數(shù)聲明:包含函數(shù)的三要素
函數(shù)定義:函數(shù)的具體實現(xiàn)
返回值:如果一個函數(shù)沒有返回值,則寫成 void
函數(shù)形參列表:如果沒有參數(shù),寫成空 ,變量之間用逗號隔開

二、函數(shù)聲明:

函數(shù)聲明時,形參可以不加變量名,只有類型也可以

int add(int, int);

三、函數(shù)定義:

函數(shù)定義時,形參可以必須要有變量名

int add(int a, int b)
{
int sum = a + b;
return sum;
}

四、函數(shù)調用 :

如果函數(shù)定義在主函數(shù)上方,可以不寫函數(shù)聲明。

如果函數(shù)定義在主函數(shù)下方,必須在主函數(shù)上方寫好聲明

int main()
{
int a = 10;
int b = 20;
// 函數(shù)調用的時候,傳的參數(shù)叫實參
int sum= add(a, b);
printf (“sum = %d\n”, sum);
return 0;
}

五、函數(shù)名

函數(shù)名是函數(shù)的入口地址

定義一個函數(shù)指針:

int (*p)(int a.int b) =add;

六、遞歸函數(shù)

一個函數(shù)在它的函數(shù)體內調用它自身稱為遞歸調用,這種函數(shù)稱為遞歸函數(shù)。執(zhí)行遞歸函數(shù)將反復調用其自身,每調用一次就進入新的一層。

用遞歸計算 n!。階乘 n! 的計算公式如下:

根據(jù)公式編程:

long factorial(int n)
{
long result;
if(n ==0 || n ==1)
{
result = 1;
}
else
{
result = factorial(n-1) * n; // 遞歸調用
}
return result;
}

這是一個典型的遞歸函數(shù)。調用factorial后即進入函數(shù)體,只有當 n== 0 或 n==1 時函數(shù)才會執(zhí)行結束,否則就一直調用它自身。

由于每次調用的實參為 n-1,即把 n-1 的值賦給形參 n,所以每次遞歸實參的值都減 1,直到最后 n-1 的值為 1 時再作遞歸調用,形參 n 的值也為1,遞歸就終止了,會逐層退出。

例如求 5!,即調用factorial(5)。當進入factorial函數(shù)體后,由于 n=5,不等于0或1,所以執(zhí)行result = factorial(n-1) * n;,即result = factorial(5-1) * 5;,接下來也就是調用factorial(4)。這是第一次遞歸。

進行四次遞歸調用后,實參的值為 1,也就是調用factorial(1)。這時遞歸就結束了,開始逐層返回。factorial(1) 的值為 1,factorial(2) 的值為 12=2,factorial(3) 的值為 23=6,factorial(4) 的值為 64=24,最后返回值 factorial(5) 為 245=120。

注意:

1.為了防止遞歸調用無終止地進行,必須在函數(shù)內有終止遞歸調用的手段。常用的辦法是加條件判斷,滿足某種條件后就不再作遞歸調用,然后逐層返回。

2.遞歸調用不但難于理解,而且開銷很大,如非必要,不推薦使用遞歸。很多遞歸調用可以用迭代(循環(huán))來代替。

以上就是C語言函數(shù)基礎知識有哪些?的詳細內容,更多請關注創(chuàng)新互聯(lián)其它相關文章!

分享文章:C語言函數(shù)的基礎知識-創(chuàng)新互聯(lián)
標題URL:http://bm7419.com/article0/igiio.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、靜態(tài)網(wǎng)站、標簽優(yōu)化外貿(mào)網(wǎng)站建設、網(wǎng)站制作、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作