C語言的發(fā)展頗為有趣,它的原型ALGOL 60語言。那么大家知道C語言函數(shù)是什么嗎?下面一起來看看!
創(chuàng)新互聯(lián)于2013年開始,公司以成都做網(wǎng)站、成都網(wǎng)站制作、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶千余家,涉及國內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
函數(shù)(Function)是一段可以重復(fù)使用的代碼,這是從整體上對函數(shù)的認(rèn)識。
C語言本身帶了很多庫函數(shù),并分門別類地放在了不同的頭文件中,使用時(shí)只要引入對應(yīng)的頭文件即可。
除了C語言自帶的.函數(shù),我們也可以編寫自己的函數(shù),稱為自定義函數(shù)(User-Defined Function)。自定義函數(shù)和庫函數(shù)沒有本質(zhì)的區(qū)別,表現(xiàn)形式和使用方法一樣,只是開發(fā)者不同而已。
這一章我們就來講解如何編寫和使用自己的函數(shù)。
參數(shù)
函數(shù)的一個(gè)明顯特征就是使用時(shí)帶括號( ),必要的話,括號中還要包含數(shù)據(jù)或變量,稱為參數(shù)(Parameter)。參數(shù)是函數(shù)需要處理的數(shù)據(jù),例如:
strlen(str1)用來計(jì)算字符串的長度,str1就是參數(shù)。
puts("C語言中文網(wǎng)")用來輸出字符串,"C語言中文網(wǎng)"就是參數(shù)。
返回值
既然函數(shù)可以處理數(shù)據(jù),那就有必要將處理結(jié)果告訴我們,所以很多函數(shù)都有返回值(Return Value)。所謂返回值,就是函數(shù)的執(zhí)行結(jié)果。例如:
char str1[] = "C Language";
int len = strlen(str1);
strlen() 的處理結(jié)果是字符串 str1 的長度,是一個(gè)整數(shù),我們通過 len 變量來接收。
函數(shù)返回值有固定的數(shù)據(jù)類型(int、char、float等),用來接收返回值的變量類型要一致。
函數(shù)是數(shù)學(xué)名詞,代數(shù)式中,凡相關(guān)的兩數(shù)X與Y,對于每個(gè)X值,都只有一個(gè)Y的對應(yīng)值。這種對應(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,對A中的元素x施加對應(yīng)法則f,記作f(x),得到另一數(shù)集B,假設(shè)B中的元素為y,則y與x之間的等量關(guān)系可以用y=f(x)表示,函數(shù)概念含有三個(gè)要素:定義域A、值域B和對應(yīng)法則f。其中核心是對應(yīng)法則f,它是函數(shù)關(guān)系的本質(zhì)特征。
函數(shù),最早由中國清朝數(shù)學(xué)家李善蘭翻譯,出于其著作《代數(shù)學(xué)》。之所以這么翻譯,他給出的原因是“凡此變數(shù)中函彼變數(shù)者,則此為彼之函數(shù)”,也即函數(shù)指一個(gè)量隨著另一個(gè)量的變化而變化,或者說一個(gè)量。
最簡單的理解,函數(shù)就是一個(gè)子程序
或者說是程序的模塊、零件
把一些代碼封裝起來,給他們起個(gè)名字(函數(shù)名)
到時(shí)候要用到這些代碼的時(shí)候,引用用他們的名字就可以了
所謂的函數(shù)的參數(shù),就是引用這些代碼模塊的時(shí)候,需要這些模塊處理的數(shù)據(jù);而函數(shù)的返回值,就是處理的結(jié)果。
C是面向過程的語言,函數(shù)是組成C程序的基本單元。
例如,我定義一個(gè)函數(shù)
int Add(int i)
{
return i+1;
}
其功能是,取得i的值,返回i+1的值
我在主程序中就可以這樣調(diào)用這個(gè)函數(shù)
int main(void)
{
int a=1;
a=Add(a);
printf("%d",a);
return 0;
}
程序執(zhí)行的結(jié)果就是2;
同樣,我要是定義這樣一個(gè)無參函數(shù)
void foo(void)
{
printf("I am a function");
}
其功能是打印一行字
那么這樣的主程序:
int main(void)
{
foo();
return 0;
}
其執(zhí)行結(jié)果就是一行"I am a function"
不知說明白沒,呵呵,還有不解可以提出,我的qq226527085
# 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ù)的外部對象組成的。 函數(shù)是一個(gè)自我包含的完成一定相關(guān)功能的執(zhí)行代碼段。我們可以把函數(shù)看成一個(gè)“黑盒子”,只要將數(shù)據(jù)送進(jìn)去就能得到結(jié)果,而函數(shù)內(nèi)部究竟是如何工作的,外部程序是不知道的。外部程序所知道的僅限于輸入給函數(shù)什么以及函數(shù)輸出什么。函數(shù)提供了編制程序的手段,使之容易讀、寫、理解、排除錯(cuò)誤、修改和維護(hù)。
C程序中函數(shù)的數(shù)目實(shí)際上是不限的,如果說有什么限制的話,那就是,一個(gè)C程序中必須至少有一個(gè)函數(shù),而且其中必須有一個(gè)并且僅有一個(gè)以main為名的函數(shù),這個(gè)函數(shù)稱為主函數(shù),整個(gè)程序從這個(gè)主函數(shù)開始執(zhí)行。
參考資料來源:百度百科-C語言