15 07 12 函式 遞迴

2022-07-17 11:54:12 字數 1596 閱讀 3323

一、函式:

函式是乙個相對獨立的**塊。善於利用函式,以減少重複編寫程式段的工作量。

函式的四要素:函式名,形參(輸入),返回型別(輸出),函式體(加工運算)

函式的一般在class類中建立。可以簡單的理解為在main函式裡輸出結果,在函式裡輸入計算過程,可以反覆呼叫,以減輕寫**的工作量。

(一)定義:

[static] 返回型別 函式名([變數型別 變數名[,變數型別 變數名[...變數型別 變數名]]])

(二)呼叫:

[資料型別 變數名 = ]函式名([實參1[,實參2...]])

說明:1.函式名與變數名規則一樣。

2.實參與形參一定要一一對應。

3.return所返回值一定要與"返回型別"一致。

4.函式定義沒有一定的原則,只要好用就可以。

5.引數是位址的,在變數前面加ref;

(三).函式前面加注釋:

為了在以後用到此函式的時候不會忘記此函式的功能,需要加一些注釋,這樣在使用的時候就可以將滑鼠放在上面看到寫好的注釋以進行一定的提醒。

注釋的使用方法是:在函式的上方輸入///,也就是三個斜槓,然後再輸入的地方輸入注釋。

(四).函式乙個是傳值,另乙個是傳址:

(1)傳值就是將實參的值傳入所呼叫的函式裡面,實參的值並沒有發生變化,預設的傳值有int型,浮點型,bool型,char字元型,結構體型等等;

(2)傳址就是將位址傳到所呼叫的函式裡面進行操作,實參的值也會跟著變化,傳址的有陣列和字串string;

(3)上面所說的就牽扯到資料的分類,分為值型別和引用型別,值型別就是傳值的那種,引用型別包括字串型別、陣列和物件,上面說的字串型別特殊,主要是

因為字串實際上是乙個字元char陣列,它在修改的時候並不是直接修改,而是心開闢了乙個儲存空間也就是建立了乙個新的字串,所以它在呼叫、賦值的時候相

當於傳值,但它是引用型別的。

數字大小排序:

static int paixu(params int  n)}}

return n;

}static int bijiao(int a, int b) //形式引數

else

}

二、函式遞迴:

一、概念

函式體內呼叫本函式自身,直到符合某一條件不可繼續呼叫。

二、應滿足的條件

(1).有反覆執行的過程(呼叫自身)。

(2).有跳出反覆執行過程的條件(函式出口)。

三、注意事項

1.遞迴中必須要存在乙個迴圈結束的條件。

2.遞迴函式的每次呼叫都需要棧來儲存,如果次數太多的話容易造成棧溢位。

//遞迴,函式自己呼叫自己

//猴子吃桃,公園裡有一堆桃子,每天猴子吃掉一半,並且扔掉乙個壞的,到了第七天,猴子發現只剩下乙個桃子了,問第一天公園裡有多少桃子?

static void main(string args)

static int taozi(int day)

int n = (taozi(day + 1) + 1) * 2;

return n;

}

遞迴非遞迴寫函式

2.編寫乙個函式實現n k,使用遞迴實現 分析 n的k次 n n n n n k個n 用遞迴的思想來講,就等於n n的 k 1 次方 include include pragma waring disable 4996 int fun int n,int k int main 3.寫乙個遞迴函式di...

遞迴之遞迴的函式

遞迴的函式 time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 給定乙個函式 f a,b,c 如果 a 0 或 b 0 或 c 0 返回值為 1 如果 a 20 或 b 20 或...

遞迴演算法與遞迴函式

遞迴演算法就是通過將問題不斷分解為同類子問題而解決問題的方法。絕大多數程式語言是支援函式的自呼叫的,也就是支援函式自身來進行遞迴。根據計算理論,可以證明出遞迴可以完全取代迴圈,因此在很多函式程式設計中習慣使用遞迴來實現迴圈。但是遞迴有乙個問題就是需要不斷的呼叫函式,會有較大的開銷。遞迴的函式需要逐級...