1. 程式人生 > >定義函式(遞迴)詳解

定義函式(遞迴)詳解

函式:就是功能(實現這個功能的過程)

 1、定義函式
    返回值  函式名(形參)
    {
    }
    static 返回值 函式名(形參)
    {
    }

注:如果被修飾為static,此函式只能被本地呼叫。

2、呼叫函式:執行一次函式

注:此函式的作用域一定要存在宣告(告訴編譯器,此介面就是為一個函式)

宣告函式:告訴編譯器,函式的型別

標頭檔案:就是存放模組提供此函式原型或型別宣告

字尾名:.h

          1、外部宣告:告訴編譯器此型別來自非本檔案(外檔案)

                   extern 宣告;

                     函式:extern 函式原型;

                         變數:extern 變數原型;  extern int a;

             2、引用標頭檔案: #include <>只有會去系統目錄下查詢

                                  #include  " "會去指定路徑下查詢,如果查詢不到,則會去系統下查詢。

遞迴:直接或間接呼叫自身函式

返回值 函式名(形參)

{

  ...

函式名(實參);

...

}

 注:1when從什麼時候 2when到什麼時候結束 3what 每次遞迴時你需要幹嘛 
 2、呼叫函式會系統呼叫函式的棧空間;
   棧:First IN LAST OUT(FILO)
       (模型:#)
   

#include<stdio.h>
//求和
int sum(int i)
{
    if(i==1)
        return 1;
     return i+sum(i-1);
}
//階乘
int jc(int i)
{
        if(i==1)
                return 1;
        return i*jc(i-1);
}
//階乘的和
int jch(int i)
{
        if(i==1)
                return 1;
        return jc(i)+jch(i-1);
}

void main()
{
        printf("1-100的和%d\n",sum(100));      
        printf("1-5的階乘%d\n",jc(5));          
        printf("1-5的階乘和%d\n",jch(5));       

}

相關推薦

定義函式

函式:就是功能(實現這個功能的過程)  1、定義函式:     返回值  函式名(形參)     {     }     static 返回值 函式名(形參)     {     } 注:如果被修飾為static,此函式只能被本地呼叫。 2、呼叫函式:執行一次函式 注

logistic迴歸(二:損失函式cost function

有監督學習 機器學習分為有監督學習,無監督學習,半監督學習,強化學習。對於邏輯迴歸來說,就是一種典型的有監督學習。 既然是有監督學習,訓練集自然可以用如下方式表述: {(x1,y1),(x2,y2),⋯,(xm,ym)} 對於這m個訓練樣本,每個樣本本身

C++之函式物件/偽函式Function Object

       除了自定義的函式物件,標準庫還為我們提供了一系列現成的函式物件, 比如常見的數學、邏輯運算等。例如:negate<type>(),plus<type>(),minus<type>(),multiplies<type&g

objective-c 類和物件中靜態資料成員和靜態成員函式類方法

作為初學者,相信大家都對objective-c的靜態資料成員和靜態成員函式都挺糾結的,我現在和大家分享下我對這個知識點的理解,請大家多多指點.... 如果大家學過C++,那麼都應該知道和了解靜態資料成

圖的深度優先遍歷+

圖的深度優先遍歷 非遞迴演算法: #include<iostream> #include<stack> using namespace std; const int MaxSize=100; class MGraph{//鄰接矩陣的構建 p

入門 ---- 列印數字(原理)

wechat:812716131 ------------------------------------------------------ 技術交流群請聯絡上面wechat ----------------------------------------------

HDU - 1995 奇妙的塔 漢諾塔思想

用1,2,...,n表示n個盤子,稱為1號盤,2號盤,...。號數大盤子就大。經典的漢諾塔問  題經常作為一個遞迴的經典例題存在。可能有人並不知道漢諾塔問題的典故。漢諾塔來源於  印度傳說的一個故事,上帝創造世界時作了三根金剛石柱子,在一根柱子上從下往上按大小 

C++ 

這幾天看了一下遞迴 1.遞迴 遞迴:一個物件部分地由它自己組成或定義,稱為遞迴。 遞迴函式:一個函式直接或間接地呼叫自身。 遞迴呼叫:在呼叫一個函式的過程中又出現直接或間接地呼叫該函式本身,稱為函式的

八皇後問題歸方法

span isp als using ostream 開始 int 對角線 沒有 八皇後遞歸詳解 核心代碼如下: //八皇後遞歸解法 #include<iostream> using namespace std; int queen[9] = {-1,-1

opencv-python 的Camshift函式附逐行

這是我在OpenCV-python教程中找到的程式碼並附上的詳解 import cv2 import numpy as np cap = cv2.VideoCapture(0) # ret判斷是否讀到圖片 # frame讀取到的當前幀的矩陣 # 返回的是元組型別,所以

演算法精:C語言描述

演算法精解真的是一本不錯的書,雖然我真的不是很喜歡看書,但是不知不覺間就看完了6單元。裡面對每一模組的具體程式碼實現和分析,寫的非常透徹。初入CSDN,也是決定要好好學習一波,自此開始好好記錄自己學習的一步步腳印和一次次的失敗。不知道能堅持多久,但希望能久一些。 1.遞迴的認知。  

C++友元函式和友元類C++ friend

私有成員只能在類的成員函式內部訪問,如果想在別處訪問物件的私有成員,只能通過類提供的介面(成員函式)間接地進行。這固然能夠帶來資料

VMware虛擬機文件後綴

blank mdk 記錄 tom 而不是 我們 sun 編輯 right VMware虛擬機文件(後綴)詳解 虛擬機的文件管理由VMware Workstation來執行,一個虛擬機一般以一系列文件的形式儲存在宿主機中,這些文件一般在由workstation為虛

#26 Linux kernel內核與uname、lsmod、modinfo、depmod、insmod、rmmod、modprobe...命令用法

linux kernel(內核)詳解與uname、lsmod、modinfo、depmod、insmod、rmmod、modprobe...命令用法Linux kernel: 內核設計流派: 單內核設計,但是充分借鑒了微內核體系設計的優點,為內核引入了模塊化機制,內核高度模塊化; 內核被模塊化之

C++11Mutex互斥鎖

AR c++ 條件 oid 簡單 但是 資源 void AD 多個線程訪問同一資源時,為了保證數據的一致性,最簡單的方式就是使用 mutex(互斥鎖)。 (1).直接操作 mutex,即直接調用 mutex 的 lock / unlock 函數。此例順帶使用了 boost:

java 內部類inner class

ron isp https nerd 對象 重寫 prot print 元素 優點 ⒈ 內部類對象可以訪問創建它的對象的實現,包括私有數據; ⒉ 內部類不為同一包的其他類所見,具有很好的封裝性; ⒊ 使用內部類可以很方便的編寫事件驅動程序; ⒋ 匿名內部類可以方便的定義運行

調用高德地圖API熱力圖

ocs use map asc type contain maps key script 具體腳本語言如下: <!doctype html> <html> <head> <meta charset="utf-8">

【資料結構】二叉樹的建立與遍歷

該程式全是使用遞迴的操作 執行環境是:Dev-C++ #include <stdio.h> #include <stdlib.h> typedef struct node{ char data; struct node *lchild,*rchild; }bi

楊輝三角

題目 按要求輸入如下格式的楊輝三角 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 輸入 輸入只包括一個整數n,表示將要輸出的楊輝三角的層數。 輸出 對應於該輸入,請輸出相應層數的楊輝三角,每一層的整數之間用一個空格隔開。 樣例

Android 學習之《第一行程式碼》第二版 筆記十一廣播機制

一、廣播機制簡介 1. 四大元件之一 2. Android 提供了一套完整的API,允許應用程式自由地傳送和接收廣播。 A. 傳送廣播藉助Intent B. 接收廣播藉助廣播接收器(Broadcast Receiver) 3. 廣播型別: A. 標準廣播: 完全非同步執行