一把梭系列 ~ C語言範例 (0019) [函式(函數)簡介]

一把梭系列 ~ C語言範例 (0019) [函式(函數)簡介]

一把梭系列 ~ C語言範例 (0019) [函式(函數)簡介]


資料來源: https://openhome.cc/Gossip/CGossip/FunctionABC.html


線上執行: https://www.tutorialspoint.com/compile_c_online.php

★前言:


★主題:


    函數就是當某些程式碼片段經常被重複使用,此時可以抽出成為獨立的個體以便重覆呼叫使用。

    
    程式語言中函數被定義可以接受資料,並運行其中的算法,最後將結果傳回給花被他呼叫的程式,因此一函數的組成主要包括四個部份:
        01.返回值
        02.函式名稱
        03.參數列
        04.函式主體
    
    上述前三者稱為函式宣告或函式原型(Function prototype),在C/C++規定如果函式是在 main 之後實作,必須在 main 之前進行宣告,否則會出現編譯錯誤。
    

    另外程式設計師也會將同類型的函數都用獨立H與C檔案分別分類收藏管理,藉此方便日後使用與修改維護


★code
    math.h

#ifndef MATH_H_INCLUDED
#define MATH_H_INCLUDED

int power2(int);
int power(int, int);

#endif // MATH_H_INCLUDED

    math.c

#include "math.h"

int power2(int num)
{
    return power(num, 2);
}

int power(int n, int p)
{
    int r = 1;
    int i = 0;
    for(i = 0; i < p; i++) {
        r *= n;
    }

    return r;
}

    main.c

#include <stdio.h>
#include <stdlib.h>
#include "math.h"

int main(void)
{
    int num = 0;
    int p = 0;

    printf("輸入數值:");
    scanf("%d", &num);

    printf("輸入次方:");
    scanf("%d", &p);

    printf("%d 平方:%d\n", num, power2(num));
    printf("%d 的 %d 次方 %d\n", num, p, power(num, p));

    return 0;
}


★結果:


★延伸說明/重點回顧:

    01.個人經驗只要重複使用過三次的功能都應該把它變成函數

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *