C/C++編程日記:C語言遞歸

遞歸是以自類似的方式重複項目的處理過程。一樣地,在編程語言中,在函數內部調用函數自身,稱爲遞歸調用。以下:程序員

void recursion(){  recursion(); /* 函數調用自身 */}int main(){  recursion();}編程

C 語言支持遞歸,即,一個函數能夠調用自身。但在使用遞歸時,程序員須要注意定義一個從函數退出的條件,不然會進入無限循環。編程語言

 


 

遞歸函數在解決許多數學問題上起了相當重要的做用,好比計算一個數的階乘、生成斐波那契數列,等等。函數

數的階乘學習

下面的實例使用遞歸函數計算一個給定的數的階乘:設計

#include <stdio.h>int factorial(unsigned int i){  if(i <= 1)    {      return 1;    }    return i * factorial(i - 1); } int  main() {    int i = 15;    printf("Factorial of %d is %d\n", i, factorial(i));    return 0; }blog

 


 

當上面的代碼被編譯和執行時,它會產生下列結果:遞歸

若是你也想成爲程序員,想要快速掌握編程,趕忙關注小編加入學習企鵝圈子吧!遊戲

裏面有資深專業軟件開發工程師,在線解答你的全部疑惑~編程語言入門「so easy」ci

資料包含:編程入門、遊戲編程、課程設計等。

免費學習書籍:


 

免費學習資料:


 

Factorial of 15 is 2004310016

斐波那契數列

下面的實例使用遞歸函數生成一個給定的數的斐波那契數列:

#include <stdio.h>int fibonaci(int i){  if(i == 0)  {      return 0;  }  if(i == 1)  {      return 1;  }  return fibonaci(i-1) + fibonaci(i-2);}int  main(){    int i;    for (i = 0; i < 10; i++)    {        printf("%d\t%n", fibonaci(i));    }    return 0; }

 


 

當上面的代碼被編譯和執行時,它會產生下列結果:

0 1  1  2  3  5  8  13  21  34

相關文章
相關標籤/搜索