《C語言複習 函式》

2021-09-25 13:06:21 字數 2384 閱讀 8229

一、函式

二、庫函式

三、自定義函式

四、函式呼叫

五、函式的宣告和定義

六、函式遞迴

函式是一組一起執行乙個任務的語句。每個 c 程式都至少有乙個函式,即主函式main(),所有簡單的程式都可以定義其他額外的函式。

您可以把**劃分到不同的函式中。如何劃分**到不同的函式中是由您來決定的,但在邏輯上,劃分通常是根據每個函式執行乙個特定的任務來進行的。

c 標準庫提供了大量的程式可以呼叫的內建函式。例如,函式strcat()用來連線兩個字串,函式memcpy()用來複製記憶體到另乙個位置。諸如此類函式稱為庫函式。

庫函式主要有以下幾類:

io函式

字串操作函式

字元操作函式

記憶體操作函式

陣列函式

其他函式

這些庫函式不需要全部記住,只要會查文件即可(

自定義函式和庫函式一樣,有函式名,返回值型別和函式引數。 但是不一樣的是這些都是我們自己來設計。這給程

序員乙個很大的發揮空間。 

其書寫格式如下:

ret_type fun_name(para1, * )

//ret_type 返回型別

//fun_name 函式名

//para1 函式引數

舉例:寫乙個函式找出2個數中的最大值(2個數不相等)。

#include int get_max(int a,int b)

else

}int main()

1.引數

函式的引數有2種,一種是實參,一種是形參。

實參:真實傳給函式的引數.可以是常量、變數、表示式、函式,無論是何種型別,在傳遞時必須有確定的值。

形參:指函式名後括號中的變數,形參只有在函式被呼叫的過程中才會例項化,當函式呼叫完成後自動銷毀,所以形參只在函式中有效。

注意:形參與實參佔據不同的記憶體塊,形參相當於實參的乙份拷貝,改變形參的值並不會對實參有任何影響。

2.呼叫

函式的呼叫有2種方式:傳值呼叫、傳址呼叫。

傳值呼叫:將變數的值傳遞給函式,由於形參與實參佔據不同記憶體塊,對形參的修改並不會影響實參。

補充:函式可巢狀呼叫和鏈式訪問(將乙個函式的返回值作為另乙個函式的引數)

舉例:分別用傳值呼叫和傳值呼叫寫兩個交換2個整數的函式。

1.函式宣告

告訴編譯器有乙個函式叫什麼,引數是什麼,返回型別是什麼。但是具體是不是存在,無關緊要。

函式的宣告一般出現在函式的使用之前。要滿足先宣告後使用。

函式的宣告一般要放在標頭檔案中的。 

2.函式定義

函式的定義是指函式的具體實現,交待函式的功能實現。

舉例:求2個數的和

#ifndef __test_h__

#define __test_h__

//函式的宣告

int add(int x, int y);

#endif //__test_h__

#include "test.h"

//函式add的定義

int add(int x, int y)

六、函式遞迴

1.定義

函式呼叫自身的方法稱為遞迴(recursion)。它通常將乙個大型複雜的問題轉化為乙個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程中所需要的多次計算,大大的減少了程式的**量,其主要思想是:大事化小。

2.必要條件

存在限制條件,當滿足這個限制條件的時候,遞迴便不再繼續。

每次遞迴呼叫之後越來越接近這個限制條件。

舉例:求n的階乘。

#include int fac(int n)

else

}int main()

C語言複習鞏固(四) 函式

函式 function 通過實參 argument 初始 形參 parameter 執行完函式體 function body 返回 return value 乙個值。或者不返回 提供給大家乙個學習庫函式的 比如我們常用的 int main float f int x int main 例1 incl...

C語言複習(專公升本複習)

示例 inculdevoid mian 上面是乙個簡單的c語言程式下面就來介紹其中的各個關鍵點 c語言程式是由乙個或者多個函式構成,乙個c語言有若干條c語言語句構成 2.注 乙個c語言程式或是乙個資料夾中只能有乙個主函式 inculdevoid mian 1.inculde 標頭檔案 inculde...

c語言複習

記住,typedef是定義了一種型別的新別名,不同於巨集,它不是簡單的字串替換。比如 先定義 typedef char pstr 然後 int mystrcmp const pstr,const pstr const pstr實際上相當於const char 嗎?不是的,它實際上相當於char co...