十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
一個(gè)函數(shù)由兩部分組成:①函數(shù)的首部,包括函數(shù)名、函數(shù)類型、函數(shù)屬性、函數(shù)參數(shù)(形式參數(shù))名、參數(shù)類型。②函數(shù)體,即函數(shù)首部下面的花括號(hào)內(nèi)的部分。函數(shù)體一般包括兩部分:聲明部分、執(zhí)行部分。
創(chuàng)新互聯(lián)是一家專業(yè)提供內(nèi)江企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站建設(shè)、H5建站、小程序制作等業(yè)務(wù)。10年已為內(nèi)江眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
返回值類型,如void,float,int,char等等。如果未寫,則默認(rèn)為int型。
調(diào)用的函數(shù)名
括號(hào)內(nèi)寫上所傳遞的數(shù)據(jù)類型和用來(lái)接收數(shù)據(jù)的變量。如(float num1,int num2)且數(shù)據(jù)類型及數(shù)量與調(diào)用函數(shù)時(shí)一致
舉例子:int sq(int a,int b);
scanf和printf函數(shù)是系統(tǒng)定義的函數(shù),函數(shù)的首部和函數(shù)體在定義的時(shí)候有。我們用的時(shí)候一直看到的是已經(jīng)定義好了的,系統(tǒng)默認(rèn)有效的。
所以不需要在程序開(kāi)頭重新寫出來(lái)函數(shù)頭部分。
擴(kuò)展資料:
scanf()是C語(yǔ)言中的一個(gè)輸入函數(shù)。與printf函數(shù)一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數(shù)時(shí)要加上#include stdio.h。(在有一些實(shí)現(xiàn)中,printf函數(shù)與scanf函數(shù)在使用時(shí)可以不使用預(yù)編譯命令#include stdio.h。)它是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。
printf:
格式輸出,它是c語(yǔ)言中產(chǎn)生格式化輸出的函數(shù)(在 stdio.h 中定義)。用于向終端(顯示器、控制臺(tái)等)輸出字符。格式控制由要輸出的文字和數(shù)據(jù)格式說(shuō)明組成。
在程序中出現(xiàn)函數(shù)名時(shí),要注意區(qū)分以下三種情況:
1. main函數(shù)中的int?max(int?x,int?y);?是函數(shù)的聲明,一般格式為?返回值?函數(shù)名(參數(shù)類型?參數(shù));
2. max(a,b)為函數(shù)的調(diào)用,一般格式為?函數(shù)名(參數(shù));
3. 后面的max(int?x,int?y){?...}是函數(shù)的定義,一般格式為?返回值?函數(shù)名(參數(shù)類型?參數(shù)){函數(shù)體}
c語(yǔ)言規(guī)定,在一個(gè)函數(shù)定義之前調(diào)用它,需要提前進(jìn)行聲明。
原因是,如果沒(méi)有聲明函數(shù),當(dāng)程序運(yùn)行到max(a,b)時(shí),由于后面的函數(shù)定義還沒(méi)有被讀到,所以計(jì)算機(jī)并不知道m(xù)ax是個(gè)什么東西,程序就會(huì)出錯(cuò)。
如果將函數(shù)定義提到main函數(shù)的前面,就無(wú)需進(jìn)行聲明了,程序也不會(huì)報(bào)錯(cuò)。
函數(shù)首部包括函數(shù)的類型名、函數(shù)名和形參列表。
下面以一個(gè)具體函數(shù)來(lái)說(shuō)明什么是函數(shù)首部。
int?fun(int?a,?int?b)?//?函數(shù)首部
//?{?}中的內(nèi)容就是函數(shù)體
{
return?ab???a?:?b;??//?函數(shù)返回值
}