學習筆記 自定義函式基礎

2021-07-25 12:38:25 字數 3129 閱讀 9141

自定義函式

簡述:

c語言程式中,軟體模組用函式實現

用於實現模組化程式設計:

1.將乙個大的程式劃分成若干程式模組,每個模組實現一定的功能麼,以方便分工,或降低開發難度。

2.程式進行除錯時,分別對每一模組進行除錯,在較小的範圍內查錯並改正。

核心思想:

自頂向下,逐步求精。

優勢:

降低程式的複雜度,使程式設計、維護、閱讀、除錯等操作簡單化

函式三要素:

函式名、函式返回值、函式引數。

如:float f1(float x);

其中f1是函式名,f1前的float是函式返回值型別,float x是函式引數。

示例**1:

#include #include #include /*

求f1(x)=3*x^3+2*x^2-1

*/float f1(float x)

int main()

結果:

解析:

如上**將通過x求y的過程封裝入f1()這個函式,在需要使用這段**時,只需要使用y=f(x);這種中學數學中使用了無數次的表示形式即可。

分類:

自定義函式類別:

由函式的引數分類:

無參函式:

主調函式不必為呼叫函式提供引數

形式:

型別識別符號  函式名([void])

有參函式:

呼叫函式時,由主調函式向被調函式提供資料。

形式:

型別識別符號  函式名(形式引數表列)

引數類別:

形式引數(形參)

在定義函式時,函式名後面括號中的變數

實際引數(實參)

在呼叫函式時,函式名後面括號中的引數(可以是乙個表示式)

要點:

注1:實參變數對形參變數進行值傳遞(對形參的操作不會影響到實參)

注2:形參只能是變數(因為需要對形參賦值,可以參考賦值運算子的使用規則)

注3:定義函式時指定形參,但並不分配儲存單元。

在函式呼叫時才會為其分配儲存單元

注4:當函式呼叫結束時,函式中用到的非靜態區域性變數

(大部分形式引數)占用的記憶體空間會被釋放。

注5:因為每個函式都有專有的記憶體空間用於儲存變數(區域性變數),所以允許在不同的函式中使用相同的引數名。

按函式返回值分類:

無返回值函式:

返回值為void型別,只完成某些操作。

有返回值函式:

返回值為函式定義(宣告)時的資料型別

執行完畢返回return後的值。

return語句:

意義:

用於函式的返回,

形式:

return (表示式);

return 表示式;

return;

注:當有多個return語句時,執行到哪個,哪個起作用(直接返回)。

函式的返回:

包括:

1.執行流程的返回:由被呼叫函式返回到主調函式。

2.執行結果的返回:將被呼叫函式執行得到的結果帶回主調函式。

要點:

1.無返回值的函式return語句可以省略,而有返回值的函式必須寫return語句。

2.舊的c語言標準中允許main函式無返回值(void),但最新的標準規定main函式必須要有乙個整型的返回值(int)

並且在正常結束時,返回乙個0(return 0;  這裡返回不同的值代表不同的狀態,但這裡不深入研究)

這是因為linux之類的系統中要求程式必須給作業系統返回值,以方面識別程式的執行狀態。為了提高**的相容性,最新的標準做出了這樣的規定。

3.當返回的型別和定義的返回型別不匹配時,如:

long f1(float x)

系統會自動對返回值進行資料型別的轉換

,轉換的規則和賦值時自動資料型別轉換的規則相同。

高階使用與要點

**示例1:

#include #include /*

這個程式用於輸出指定符號組成的三角圖形

*/void printchs(int,char);//這裡在定義之前宣告了這個函式的返回值型別、名字、引數型別和個數

int main()

//這裡才定義函式內部的方法,因為前面已經宣告過這個函式,所以即使把定義放在這裡,程式也不會出錯

void printstars()

void printmessage()

int max(int a,int b)

int min(int a,int b)//這個函式宣告時並沒有給形式引數命名

系統會自動對y進行資料型別的轉換,轉換的規則和賦值時自動資料型別轉換的規則相同。

python學習筆記 自定義函式

1 函式的定義 首先,我們要定義乙個函式,以說明這個函式的功能。def square sum a,b c a 2 b 2 return c 這個函式的功能是求兩個數的平方和。首先,def,這個關鍵字通知python 我在定義乙個函式。square sum是函式名。括號中的a,b是函式的引數,是對函式...

PHP學習筆記之自定義函式

定義函式格式 function functionname function myfunction php函式和其他語言函式一樣可以有引數和返回值,引數可以有預設值。返回多個值的函式 可以通過返回乙個陣列然後使用list 函式構造即可!包含引用傳參的函式呼叫 引用傳遞可以在函式內對引數的修改在函式範圍...

MySQL學習筆記(23) 自定義函式

create function function name returns create function fun returns varchar 30 return date format now y年 m月 d日 h點 i分 s秒 使用 select fun 結果 2018年05月04日 12點...