函數(shù)是用戶與程序的接口,在定義一個(gè)函數(shù)前,首先要清楚以下三個(gè)問(wèn)題。1) 函數(shù)的功能實(shí)現(xiàn)及算法選擇。算法選擇會(huì)在后續(xù)文章詳細(xì)講解,本節(jié)重點(diǎn)關(guān)注函數(shù)的功能實(shí)現(xiàn)。一般選取能體現(xiàn)函數(shù)功能的函數(shù)名,且見(jiàn)名知意,如求和函數(shù)的函數(shù)名可取為 add,求最大值的函數(shù)名可取為 max,排序函數(shù)可取名為 sort 等。2) 需要用戶傳給該函數(shù)哪些參數(shù)、什么類型,即函數(shù)參數(shù)。3) 函數(shù)執(zhí)行完后返回給調(diào)用者的參數(shù)及類型,即函數(shù)返回值類型。 函教定義格式 函數(shù)定義的一般格式為: 返回類型 函數(shù)名 (類型參數(shù)1,類型參數(shù)2,…) {函數(shù)體 }也可以不含參數(shù),不含參數(shù)時(shí),參數(shù)表中可寫(xiě)關(guān)鍵字 void 或省略,為規(guī)范起見(jiàn),教程中對(duì)沒(méi)有參數(shù)的函數(shù),參數(shù)表中統(tǒng)一寫(xiě) void。例如: 類型 函數(shù)名 () {函數(shù)體 }等價(jià)于: 類型 函數(shù)名 (void) //建議的書(shū)寫(xiě)方式 {函數(shù)體 } 如果該函數(shù)沒(méi)有返回類型,則為 void 類型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 類型外,在函數(shù)體中,均需要顯式使用 return 語(yǔ)句返回對(duì)應(yīng)的表達(dá)式的值。 函教返回值 函數(shù)的值是指調(diào)用函數(shù)結(jié)束時(shí),執(zhí)行函數(shù)體所得并返回給主調(diào)函數(shù)的值。 關(guān)于函數(shù)返回值說(shuō)明如下。1) 帶返回值的函數(shù),其值一般使用 return 語(yǔ)句返回給調(diào)用者。其格式為: return 表達(dá)式;或者 return (表達(dá)式);例如: int add (int a, int b) {return (a + b); //return 后為表達(dá)式 } 函數(shù)可以含一個(gè)或多個(gè) return 語(yǔ)句,但每次調(diào)用時(shí)只能執(zhí)行其中一個(gè) return 語(yǔ)句。例如,求整數(shù)絕對(duì)值的函數(shù): int f (int n) //含多個(gè)return語(yǔ)句,但每次調(diào)用只執(zhí)行一個(gè) {if (n = 0)return n;elsereturn -n; }
創(chuàng)新互聯(lián)公司長(zhǎng)期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為解放企業(yè)提供專業(yè)的網(wǎng)站制作、做網(wǎng)站,解放網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
函數(shù)常見(jiàn)的可以,分兩種,有返回值的和無(wú)返回值(void)的,定義函數(shù)f(int
a,int
b)小括號(hào)里的是形參,個(gè)數(shù)不限,要定義其類型。有返回值的函數(shù)的調(diào)用格式p=f(m,n);無(wú)返回值的函數(shù)調(diào)用格式是f(m,n)。m,n叫實(shí)參,變量類型需要和形參對(duì)應(yīng)
^-^希望你能滿意
將代碼段封裝成函數(shù)的過(guò)程叫做函數(shù)定義。
函數(shù)可以重復(fù)使用的代碼,用來(lái)獨(dú)立地完成某個(gè)功能,它可以接收用戶傳遞的數(shù)據(jù),也可以不接收。接收用戶數(shù)據(jù)的函數(shù)在定義時(shí)要指明參數(shù),不接收用戶數(shù)據(jù)的不需要指明,根據(jù)這一點(diǎn)可以將函數(shù)分為有參函數(shù)和無(wú)參函數(shù)。
相關(guān)概念:
函數(shù)不能嵌套定義,main 也是一個(gè)函數(shù)定義,所以要將 sum 放在 main 外面。函數(shù)必須先定義后使用,所以 sum 要放在 main 前面。
函數(shù)定義時(shí)給出的參數(shù)稱為形式參數(shù),簡(jiǎn)稱形參;函數(shù)調(diào)用時(shí)給出的參數(shù)(也就是傳遞的數(shù)據(jù))稱為實(shí)際參數(shù),簡(jiǎn)稱實(shí)參。函數(shù)調(diào)用時(shí),將實(shí)參的值傳遞給形參,相當(dāng)于一次賦值操作。
原則上講,實(shí)參的類型和數(shù)目要與形參保持一致。如果能夠進(jìn)行自動(dòng)類型轉(zhuǎn)換,或者進(jìn)行了強(qiáng)制類型轉(zhuǎn)換,那么實(shí)參類型也可以不同于形參類型,例如將 int 類型的實(shí)參傳遞給 float 類型的形參就會(huì)發(fā)生自動(dòng)類型轉(zhuǎn)換。