函數(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ù)。
創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對(duì)營(yíng)銷(xiāo)、技術(shù)、服務(wù)都有自己獨(dú)特見(jiàn)解,公司采取“創(chuàng)意+綜合+營(yíng)銷(xiāo)”一體化的方式為您提供更專(zhuān)業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時(shí),也能得到同行業(yè)的專(zhuān)業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來(lái)將繼續(xù)專(zhuān)注于技術(shù)創(chuàng)新,服務(wù)升級(jí),滿足企業(yè)一站式成都全網(wǎng)營(yíng)銷(xiāo)推廣需求,讓再小的高端網(wǎng)站設(shè)計(jì)也能產(chǎn)生價(jià)值!
函數(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ù),最早由中國(guó)清朝數(shù)學(xué)家李善蘭翻譯,出于其著作《代數(shù)學(xué)》。之所以這么翻譯,他給出的原因是“凡此變數(shù)中函彼變數(shù)者,則此為彼之函數(shù)”,也即函數(shù)指一個(gè)量隨著另一個(gè)量的變化而變化,或者說(shuō)一個(gè)量。
C語(yǔ)言的發(fā)展頗為有趣,它的原型ALGOL 60語(yǔ)言。那么大家知道C語(yǔ)言函數(shù)是什么嗎?下面一起來(lái)看看!
函數(shù)(Function)是一段可以重復(fù)使用的代碼,這是從整體上對(duì)函數(shù)的認(rèn)識(shí)。
C語(yǔ)言本身帶了很多庫(kù)函數(shù),并分門(mén)別類(lèi)地放在了不同的頭文件中,使用時(shí)只要引入對(duì)應(yīng)的頭文件即可。
除了C語(yǔ)言自帶的.函數(shù),我們也可以編寫(xiě)自己的函數(shù),稱為自定義函數(shù)(User-Defined Function)。自定義函數(shù)和庫(kù)函數(shù)沒(méi)有本質(zhì)的區(qū)別,表現(xiàn)形式和使用方法一樣,只是開(kāi)發(fā)者不同而已。
這一章我們就來(lái)講解如何編寫(xiě)和使用自己的函數(shù)。
參數(shù)
函數(shù)的一個(gè)明顯特征就是使用時(shí)帶括號(hào)( ),必要的話,括號(hào)中還要包含數(shù)據(jù)或變量,稱為參數(shù)(Parameter)。參數(shù)是函數(shù)需要處理的數(shù)據(jù),例如:
strlen(str1)用來(lái)計(jì)算字符串的長(zhǎng)度,str1就是參數(shù)。
puts("C語(yǔ)言中文網(wǎng)")用來(lái)輸出字符串,"C語(yǔ)言中文網(wǎng)"就是參數(shù)。
返回值
既然函數(shù)可以處理數(shù)據(jù),那就有必要將處理結(jié)果告訴我們,所以很多函數(shù)都有返回值(Return Value)。所謂返回值,就是函數(shù)的執(zhí)行結(jié)果。例如:
char str1[] = "C Language";
int len = strlen(str1);
strlen() 的處理結(jié)果是字符串 str1 的長(zhǎng)度,是一個(gè)整數(shù),我們通過(guò) len 變量來(lái)接收。
函數(shù)返回值有固定的數(shù)據(jù)類(lèi)型(int、char、float等),用來(lái)接收返回值的變量類(lèi)型要一致。
從參數(shù)角度分類(lèi):1.有參函數(shù):函數(shù)有形參,可以是一個(gè),或者多個(gè),參數(shù)的類(lèi)型隨便,完全取決于函數(shù)的功能。2.無(wú)參函數(shù):函數(shù)沒(méi)有參數(shù),在形參列表的位置寫(xiě)一個(gè)viod或什么都不寫(xiě)。
每個(gè)C程序都至少有一個(gè)函數(shù),即主函數(shù)main(),如果程序的任務(wù)比較簡(jiǎn)單,全部的代碼都寫(xiě)在main()函數(shù)中,但是,在實(shí)際開(kāi)發(fā)中,程序的任務(wù)往往比較復(fù)雜,如果全部的代碼都寫(xiě)在main()函數(shù)中,main()函數(shù)將非常龐大臃腫,結(jié)構(gòu)復(fù)雜,代碼重復(fù)。
詳細(xì)信息:
我們可以根據(jù)程序的邏輯和任務(wù)的分工把代碼劃分到不同的自定義函數(shù)中,main()更關(guān)心業(yè)務(wù)邏輯和處理流程,需要執(zhí)行具體任務(wù)的時(shí)候,調(diào)用這些自定義的函數(shù)就可以了。
為了方使理解,我們把函數(shù)分為兩種:一種是庫(kù)函數(shù),一種是自定義函數(shù)。庫(kù)函數(shù)是C語(yǔ)言提供的,或系統(tǒng)提供的,實(shí)現(xiàn)了某些基本的功能,例如scanf、printf,在程序中可以直接使用。
自定義函數(shù)是程序員為了完成某項(xiàng)任務(wù)而編寫(xiě)的函數(shù),目的是為了實(shí)現(xiàn)某項(xiàng)的功能或讓主程序更簡(jiǎn)潔。程序員在使用自定義函數(shù)之前,必須先聲明和定義。