MT4編程入門(四):自定義函數(shù)
作者:MT4 來源:cxh99.com 發(fā)布時間:2012年05月22日
- 自定義函數(shù)與數(shù)學函數(shù)在本質(zhì)上是一致的
例如:數(shù)學函數(shù)ft(x,y)=3x+2y (x,y為正整數(shù)) 寫成程序語句就是:
int ft(int x,int y)
{
int temp;
temp=3*x+2*y;
return(temp);
}
一、和自定義變量一樣,自定義函數(shù)在使用前,也必須先設立,以定義其類型、名稱、參數(shù)和運算語句。
函數(shù)類型、名稱、參數(shù)位于函數(shù)頭部(參數(shù)間以逗號分隔),
大括號中的是運算語句,也就是函數(shù)體部分。
return語句為函數(shù)結(jié)束語句,return后面括號中的值為函數(shù)返回值,即函數(shù)運算結(jié)果。
上例中,int為函數(shù)類型,表示該函數(shù)的返回值(運算結(jié)果)是整數(shù);
(x,y)為參數(shù),由于自定義變量使用之前都必須先創(chuàng)建,所以要加上類型定義詞int
ft為函數(shù)名,有了函數(shù)名,我們就可以在別處用ft(2,1)的形式來調(diào)用此函數(shù);
函數(shù)體部分有三句:
第一句,定義一個整形變量temp
第二句,計算temp的值
第三句,函數(shù)結(jié)束,返回調(diào)用點,以temp的值作為本函數(shù)返回值。
此函數(shù)也可以簡寫為:int ft(int x,int y){return(3*x+2*y);}
二、函數(shù)類型與類型符
函數(shù)類型就是函數(shù)返回值(運算結(jié)果)的類型,與自定義變量類型差不多
有整型(int)、雙精度型(double)、字符串型(string)、邏輯型(bool)等,
還有一種函數(shù)是以函數(shù)運行為目的,運行結(jié)束后不需要返回值也沒有返回值的,則函數(shù)類型可以寫成void(無值型)
三、函數(shù)中如果定義了自定義變量,那么此變量僅在本函數(shù)內(nèi)部存在,函數(shù)運行結(jié)束時,自定義變量也就自動注銷。
上例中,有x、y、temp三個自定義變量,在函數(shù)運行時創(chuàng)建,在函數(shù)運行結(jié)束時自動消失,僅在函數(shù)內(nèi)部有效,與函數(shù)外部無關。
四、函數(shù)的調(diào)用
函數(shù)調(diào)用非常簡單,只要函數(shù)名正確、參數(shù)個數(shù)一致、類型相同就能正確調(diào)用
如我們前面創(chuàng)建了ft(x,y)函數(shù),則別處我們可以用ft(4,5)等樣式來調(diào)用ft(x,y)函數(shù)求值。
調(diào)用時,傳遞參數(shù)值給ft(x,y)函數(shù)(按順序把4傳給x,把5傳給y),返回結(jié)果22后繼續(xù)執(zhí)行主程序。