編程中的函數(shù)的英文名是function,而function有一個(gè)意思叫“功能”,所以編程中的函數(shù)一詞可以理解為”實(shí)現(xiàn)某個(gè)功能的模塊“。
創(chuàng)新互聯(lián)是一家集成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站頁面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)的建站公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。
比如學(xué)下面這個(gè)求最大值的函數(shù)
int?max(int?a,int?b)
{
return?(ab)?a:b;
}
它就是一個(gè)“功能”,或者說是一個(gè)“功能模塊”,它所實(shí)現(xiàn)的功能就是將所給的兩個(gè)值中更大的那個(gè)找出來并返回給調(diào)用它的地方。
中文之所以稱之為函數(shù),原因可能是數(shù)學(xué)中的函數(shù)往往有輸入和輸出,比如y=2x,x是輸入,給了輸入,就會(huì)有一個(gè)輸出y,而編程中的function也符合這一點(diǎn)(當(dāng)然,輸入不是必須的)。而且將function譯為功能感覺也怪怪的,要也是叫功能模塊更符合一點(diǎn)。
我個(gè)人的理解是:函數(shù)就是為了實(shí)現(xiàn)一個(gè)特定的功能,然后把實(shí)現(xiàn)這個(gè)功能的所有執(zhí)行語句做一個(gè)封裝。然后每次用到這個(gè)功能,你只要調(diào)用這個(gè)函數(shù)就可以了,很省事。
函數(shù)是數(shù)學(xué)名詞,代數(shù)式中,凡相關(guān)的兩數(shù)X與Y,對(duì)于每個(gè)X值,都只有一個(gè)Y的對(duì)應(yīng)值。這種對(duì)應(yīng)關(guān)系就表示Y是X的函數(shù)。
函數(shù)(function)的定義通常分為傳統(tǒng)定義和近代定義,函數(shù)的兩個(gè)定義本質(zhì)是相同的,只是敘述概念的出發(fā)點(diǎn)不同,傳統(tǒng)定義是從運(yùn)動(dòng)變化的觀點(diǎn)出發(fā),而近代定義是從集合、映射的觀點(diǎn)出發(fā)。
函數(shù)的近代定義是給定一個(gè)數(shù)集A,假設(shè)其中的元素為x,對(duì)A中的元素x施加對(duì)應(yīng)法則f,記作f(x),得到另一數(shù)集B,假設(shè)B中的元素為y,則y與x之間的等量關(guān)系可以用y=f(x)表示,函數(shù)概念含有三個(gè)要素:定義域A、值域B和對(duì)應(yīng)法則f。其中核心是對(duì)應(yīng)法則f,它是函數(shù)關(guān)系的本質(zhì)特征。
函數(shù),最早由中國清朝數(shù)學(xué)家李善蘭翻譯,出于其著作《代數(shù)學(xué)》。之所以這么翻譯,他給出的原因是“凡此變數(shù)中函彼變數(shù)者,則此為彼之函數(shù)”,也即函數(shù)指一個(gè)量隨著另一個(gè)量的變化而變化,或者說一個(gè)量。
許多程序設(shè)計(jì)語言中,可以將一段經(jīng)常需要使用的代碼封裝起來,在需要使用時(shí)可以直接調(diào)用,這就是程序中的函數(shù)。如C語言中:int max(int x,int y){return(xy?x:y;);}就是一段比較兩數(shù)大小的函數(shù),函數(shù)有參數(shù)與返回值。C++程序設(shè)計(jì)中的函數(shù)可以分為兩類:帶參數(shù)的函數(shù)和不帶參數(shù)的函數(shù)。這兩種參數(shù)的聲明、定義也不一樣。 帶有(一個(gè))參數(shù)的函數(shù)的聲明:類型名標(biāo)示符+函數(shù)名+(類型標(biāo)示符+參數(shù)){}不帶參數(shù)的函數(shù)的聲明:void+函數(shù)名( ){
}花括號(hào)內(nèi)為函數(shù)體。帶參數(shù)的函數(shù)有返回值,不帶參數(shù)的沒有返回值。 C++中函數(shù)的調(diào)用:函數(shù)必須聲明后才可以被調(diào)用。調(diào)用格式為:函數(shù)名(實(shí)參)調(diào)用時(shí)函數(shù)名后的小括號(hào)中的實(shí)參必須和聲明函數(shù)時(shí)的函數(shù)括號(hào)中的形參個(gè)數(shù)相同。有返回值的函數(shù)可以進(jìn)行計(jì)算,也可以做為右值進(jìn)行賦值。 C語言中的部分函數(shù):main(主函數(shù))max(求最大數(shù)的函數(shù))scanf(輸入函數(shù))printf(輸出函數(shù))
函數(shù)是一個(gè)獨(dú)立的程序段,它執(zhí)行具體的,明確的任務(wù)。也就是說函數(shù)是我們預(yù)先編寫好的一段處理某個(gè)具體問題的代碼。
C語言中我們通常會(huì)使用函數(shù)來執(zhí)行一系列指令。一次函數(shù)調(diào)用將在一個(gè)程序內(nèi)的任何一個(gè)給定點(diǎn)上執(zhí)行一系列指令。函數(shù)可以根據(jù)需要被多次調(diào)用。如果一個(gè)程序中會(huì)多次的執(zhí)行同一個(gè)任務(wù),那么函數(shù)的使用將會(huì)大大的減少程序的代碼量,而且包含函數(shù)的程序還便于維護(hù)和修改程序,因?yàn)槲覀冎恍枰薷暮瘮?shù)就可以對(duì)程序中的多處進(jìn)行修改了。