將代碼段封裝成函數(shù)的過(guò)程叫做函數(shù)定義。
創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)站重做改版、鄒平網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為鄒平等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
函數(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ù)稱(chēng)為形式參數(shù),簡(jiǎn)稱(chēng)形參;函數(shù)調(diào)用時(shí)給出的參數(shù)(也就是傳遞的數(shù)據(jù))稱(chēng)為實(shí)際參數(shù),簡(jiǎn)稱(chēng)實(shí)參。函數(shù)調(diào)用時(shí),將實(shí)參的值傳遞給形參,相當(dāng)于一次賦值操作。
原則上講,實(shí)參的類(lèi)型和數(shù)目要與形參保持一致。如果能夠進(jìn)行自動(dòng)類(lèi)拆乎型轉(zhuǎn)換,或者進(jìn)行了強(qiáng)制類(lèi)型轉(zhuǎn)換,那么實(shí)參類(lèi)型也可以不同于形參類(lèi)型,例如將 int 類(lèi)型的實(shí)參傳遞給 float 類(lèi)型的形參就會(huì)發(fā)生自動(dòng)類(lèi)型轉(zhuǎn)換。
函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語(yǔ)句。每個(gè) C 程序都至少茄拍升有一個(gè)函數(shù),即主函數(shù) main() ,所有簡(jiǎn)單的程序都可以定義其他額外的函數(shù)。
您可以把代碼劃分到不同的函數(shù)中。如何劃分代碼到不同的函數(shù)中是由您來(lái)決定的,但在邏輯上,劃分通常是根據(jù)每個(gè)函數(shù)執(zhí)行一個(gè)特定的任務(wù)來(lái)進(jìn)行的。
C 標(biāo)準(zhǔn)庫(kù)提供了大量的程序可以調(diào)用的內(nèi)置函數(shù)。例如,函數(shù) strcat() 用來(lái)連接兩個(gè)字符串,函數(shù) memcpy() 用來(lái)復(fù)制內(nèi)存到另一個(gè)位置。
函數(shù)還有很多叫法,比如方法、子例程或程序,等等。
C 語(yǔ)言中的函數(shù)定義的一般形式如下:
在 C 語(yǔ)言中,函數(shù)由一個(gè)函數(shù)頭和一個(gè)函數(shù)主體組成。下面列出一個(gè)函數(shù)的所有組成部分:
以下是 max() 函數(shù)的源代碼。該函數(shù)有兩個(gè)參數(shù) num1 和 num2,會(huì)返回這兩個(gè)數(shù)中較大的那個(gè)數(shù):
創(chuàng)建 C 函數(shù)時(shí),會(huì)定義函數(shù)做什么,然后通過(guò)調(diào)用函數(shù)來(lái)完成已定義的任務(wù)。
當(dāng)程序調(diào)用函數(shù)時(shí),程序控制權(quán)會(huì)轉(zhuǎn)移給被調(diào)用的函數(shù)。被調(diào)用的函數(shù)執(zhí)行已定義的任務(wù),當(dāng)顫老函數(shù)的返回語(yǔ)句被執(zhí)行時(shí),或到達(dá)函數(shù)的結(jié)束括號(hào)時(shí),會(huì)把程序控制權(quán)交還給主程序。
調(diào)用函數(shù)時(shí),傳遞所需參數(shù),如果函數(shù)返回一個(gè)值,則可以存儲(chǔ)返回值。例如:
如上把 max() 函數(shù)和 main() 函數(shù)放一塊,編譯源代碼。當(dāng)運(yùn)行最后的可執(zhí)行文件時(shí),會(huì)賀棚產(chǎn)生下列結(jié)果:
形式參數(shù)就像函數(shù)內(nèi)的其他局部變量,在進(jìn)入函數(shù)時(shí)被創(chuàng)建,退出函數(shù)時(shí)被銷(xiāo)毀。
當(dāng)調(diào)用函數(shù)時(shí),有兩種向函數(shù)傳遞參數(shù)的方式:
默認(rèn)情況下,C 使用 傳值調(diào)用 來(lái)傳遞參數(shù)。一般來(lái)說(shuō),這意味著函數(shù)內(nèi)的代碼不能改變用于調(diào)用函數(shù)的實(shí)際參數(shù)。
# includestdio.h
int main()
{
int i,m=0;
for(i=2;i=100;i+=2) m=m+i;
printf("%d\n",m);
return 0;
}
或
#include
int
main()
{
int
i,sum=0;
for(i=1;i=50;i++)
{
sum=sum+2*i;
}
printf("2+4+6+…+98+100=%d\n",sum);
return
0;
}
擴(kuò)展資料:
C程序是由一組變量或是函數(shù)的外部對(duì)象組成的。 函數(shù)是一個(gè)自我包含的完成一定相關(guān)功能的輪塵執(zhí)行代碼段。我們可以把函數(shù)看成一個(gè)“黑盒子”,只要將數(shù)據(jù)送進(jìn)去就能得到結(jié)果,而函數(shù)內(nèi)部究竟是如何工作的,外部程序是不知道的。外部程序所知道的僅限于輸入給函數(shù)什么以及函數(shù)輸出什么。函數(shù)提供了編制程序的手段,使之容易讀、寫(xiě)、理解、排除錯(cuò)誤、修改和維護(hù)。
C程序中函數(shù)的數(shù)目實(shí)際上是不限的,如果說(shuō)有什么限制的話,那就是,一個(gè)C程序中必須至少有一個(gè)函數(shù),而且其中必須有一個(gè)并且僅有一個(gè)以main為名的函數(shù),這個(gè)函數(shù)稱(chēng)為枝桐明主函猛告數(shù),整個(gè)程序從這個(gè)主函數(shù)開(kāi)始執(zhí)行。
參考資料來(lái)源:百度百科-C語(yǔ)言
C語(yǔ)言中一個(gè)函數(shù)(function)是一個(gè)可以從程序其它地方調(diào)用執(zhí)行的語(yǔ)句塊。
1、通過(guò)使用函數(shù)(functions)我們可以把我們的程序以更模塊化的形式組織起來(lái),從而利用C語(yǔ)言所支持的結(jié)構(gòu)化程序設(shè)計(jì)。
2、從數(shù)學(xué)角度,函數(shù)即集合A和集合B之間的映射關(guān)系。實(shí)際上計(jì)算機(jī)中的函數(shù)概念也是困燃源于此,因此,一般函數(shù),都有形參和返回值。
3、從計(jì)算機(jī)組成原理的角度來(lái)看,函數(shù)即是一個(gè)小型的計(jì)算機(jī)系統(tǒng),依據(jù)馮諾伊曼的“存儲(chǔ)程序原理”,每一個(gè)計(jì)算機(jī)系統(tǒng)包含:輸入系統(tǒng)、輸出系統(tǒng)、運(yùn)算器神正以及控制器,實(shí)際上對(duì)于C語(yǔ)言中的函數(shù)來(lái)說(shuō),它是“存儲(chǔ)程序原理”的軟實(shí)現(xiàn),其中形參、實(shí)參游尺悔這是輸入系統(tǒng),返回值是輸出系統(tǒng),函數(shù)體中的運(yùn)算符,比如+、-、*、/四則運(yùn)算即為運(yùn)算器,而邏輯運(yùn)算符以及if、while等控制語(yǔ)句便是一個(gè)控制器。