c語言必背18個經典程序「c函數定義的格式」

今天我們來提一提C語言中的函數,注意,這裡的函數可不是數學術語中的函數,不是自變數、因變數這種,而是一段程序。

且,該段程序是可以被另一段程序直接引用的,也可以叫做是子程序或者叫做子方法。

正如我每次在寫代碼的時候,都會率先寫好一個主函數,也就是int main(){},這就是一個主函數,那在該函數外的其他函數,就可以稱作為子函數了。

對函數定義的詳細講解

如下圖所示,不過關於int main(){}的話,其實它有一個返回值,也就是要用return 0寫出來的,之所以我這裡沒寫是因為Xcode默認返回值為0,不過為了嚴謹一些,還是寫上比較好。

計算機當中的函數,用C語言實現函數的定義,對簡化程序非常重要
計算機當中的函數,用C語言實現函數的定義,對簡化程序非常重要

我們一般常用的類型名有很多void、long、int等等等等。

我主要用的就是int,當然,看到這兒,有的小夥伴會有疑問,int main和void main的區別是什麼呢。

其實區別很簡單,可以看到int和void兩個就知道,關鍵區別在於這兩者。

int類型說明返回值為int,而void呢,就是沒有返回值。

計算機當中的函數,用C語言實現函數的定義,對簡化程序非常重要

不過我們一般在寫的時候,主方法普遍用int main(){},原因在於很多編譯器都是要求有返回值的,且默認返回值為0,而void呢是沒有返回值的,可能會產生一些問題。

正如mac上的Xcode一樣,用了void main之後就出現警告了,所以為了更好地移植代碼,所以我選擇使用int main(){}

計算機當中的函數,用C語言實現函數的定義,對簡化程序非常重要

具體實例

那話講了那麼多,看了那麼多,都不如實際給出幾道題來得有效,我這裡呢打算給出兩道題,也就是前段時間我提到過的,一道很簡單,就是對奇偶數的判斷,另一道則是輸出斐波那契數列,要求使用函數的形式做出這兩道題。

首先是奇偶數判斷,給出流程圖:

計算機當中的函數,用C語言實現函數的定義,對簡化程序非常重要

注意,為何我不把子函數放在主函數的後面呢,這裡的原因我之後會提到。

其實思路非常明確,就是先寫子函數,子函數的目的就是判斷奇偶數,那奇偶數的判斷條件我昨天也講過了,就是除以2取餘數,判斷是否為0,為0則為偶數,否則為奇數。

代碼實現:

#include<stdio.h>
void evenodd(int n){
    if(n%2==0){//取余為0
        printf("it is an evenn");
    }
    else{
        printf("it is a oddn");
    }
}
int main() {
    //輸入一個整數,主要是用來判斷的
    int number = 0;//定義一個整數
    scanf("%d", &number);
    evenodd(number);
}

至於為什麼不把子函數這一塊給放在後面呢,原因在於:

計算機當中的函數,用C語言實現函數的定義,對簡化程序非常重要

C99它是不支持隱式聲明的,C語言啊是自上而下運行的,所以按照上圖這樣的順序運行下去,在主函數里,壓根就沒有定義過evenodd,所以解決辦法就是把evenodd的函數放到主函數前面去。

如下圖所示,結果測試也是正確的。

計算機當中的函數,用C語言實現函數的定義,對簡化程序非常重要

其次是斐波那契數列,給出流程圖:

計算機當中的函數,用C語言實現函數的定義,對簡化程序非常重要

與奇偶數判斷相比,斐波那契數列在子函數中較為複雜了些,但是在主函數中就很簡單了,直接調用即可。

代碼實現:

#include<stdio.h>
void fibonacci(){
    int a = 0;
    int b = 1;
    int sum = 0;
    for(int i = 0; i < 10; i++){
        printf("%d ",sum);
        sum = a+b;
        b = a;
        a = sum;
    }
    printf("n");
}
int main() {
    fibonacci();
}

結果測試:

計算機當中的函數,用C語言實現函數的定義,對簡化程序非常重要

總結

函數其實並不難,但是這也是一個需要掌握的方法,畢竟掌握了函數,在寫程序的時候就能加快速度,減少重複工作。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/274596.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:14
下一篇 2024-12-17 14:14

相關推薦

發表回復

登錄後才能評論