使用c語言的時(shí)間越長越能發(fā)現(xiàn)“函數(shù)”的作用非常多。首先C語言程序的基本組成部分就是函數(shù),函數(shù)也是編譯器進(jìn)行編譯的最小單位,函數(shù)讓程序員可以使用“自頂向下逐步求精”的設(shè)計(jì)方法完成軟件設(shè)計(jì)與開發(fā),函數(shù)可以重復(fù)調(diào)用讓代碼量減小,函數(shù)使用參數(shù)與返回值與其它函數(shù)交換數(shù)據(jù)使程序結(jié)構(gòu)更清晰,函數(shù)的功能比較明確可以由不同的人來開發(fā)使多人合作開發(fā)一個(gè)系統(tǒng)成為可能。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比永嘉網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式永嘉網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋永嘉地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
c語言以函數(shù)為程序的基本單位主要是為了程序便于調(diào)試,以及程序更趨于結(jié)構(gòu)化,增強(qiáng)了程序的可讀性和可移植性,減少代碼冗余。c提供標(biāo)準(zhǔn)函數(shù)庫給用戶,這些函數(shù)可方便的調(diào)用,可以減少用戶不必要的開發(fā)工作量。
函數(shù)的作用主要是為了重復(fù)調(diào)用,當(dāng)一段代碼在多處使用時(shí),就要考慮寫函數(shù)了。
還有一個(gè)方面,用了函數(shù),代碼看起來會(huì)很簡潔。
如果在設(shè)計(jì)c語言程序中,反復(fù)要用到一個(gè)組合計(jì)算的程序段,比如:
void main()
{
int a,b,c,x,y,z,j,k,l;
...
c=a+b; c-=(a-b)/2; //計(jì)算c=(a+b)-(a-b)/2
...
z=x+y; z-=(x-y)/2; //計(jì)算z=(x+y)-(x-y)/2
...
l=j+k; l-=(j-k)/2; //計(jì)算l=(j+k)-(j-k)/2
...
}
由于它們的計(jì)算公式相同,就采用一個(gè)函數(shù)來替代相似的語句:
int fun(int a,int b) { int c; c=a+b; c-=(a-b)/2; return c; } //按照公式計(jì)算并返回結(jié)果
這樣程序就變成了:
int fun(int a,int b) { int c; c=a+b; c-=(a-b)/2; return c; }
void main()
{
int a,b,c,x,y,z,j,k,l;
...
c=fun(a,b);
...
z=fun(x,y);
...
l=fun(j,k);
...
}
*這樣的效果是:重復(fù)利用了函數(shù)的代碼,節(jié)省程序的代碼量(尤其是計(jì)算公式很復(fù)雜的情況更突出),程序簡潔易讀,便于統(tǒng)一修改計(jì)算公式和方法。
*還有一個(gè)優(yōu)點(diǎn)就是:你調(diào)用函數(shù)時(shí),無須知道算法的細(xì)節(jié),按照函數(shù)調(diào)用規(guī)則就可以使用了,比如,標(biāo)準(zhǔn)c提供的函數(shù)double sin(double x),你只要知道這是個(gè)計(jì)算正弦函數(shù)值的函數(shù)即可,拿來可用而不必去看具體標(biāo)準(zhǔn)函數(shù)庫是怎樣計(jì)算的。
*你的函數(shù)如果寫得正確、經(jīng)典的話,完全可以封裝成標(biāo)準(zhǔn)函數(shù)拿給其他人使用,甚至可以不提供源代碼就可以。
*沒有返回值的函數(shù)又可以叫子程序