許多程序設(shè)計(jì)語(yǔ)言中,可以將一段經(jīng)常需要使用的代碼封裝起來(lái),在需要使用時(shí)可以直接調(diào)用,這就是程序中的函數(shù)。如C語(yǔ)言中:int max(int x,int y){return(xy?x:y;);}就是一段比較兩數(shù)大小的函數(shù),函數(shù)有參數(shù)與返回值。C++程序設(shè)計(jì)中的函數(shù)可以分為兩類(lèi):帶參數(shù)的函數(shù)和不帶參數(shù)的函數(shù)。這兩種參數(shù)的聲明、定義也不一樣。 帶有(一個(gè))參數(shù)的函數(shù)的聲明:類(lèi)型名標(biāo)示符+函數(shù)名+(類(lèi)型標(biāo)示符+參數(shù)){}不帶參數(shù)的函數(shù)的聲明:void+函數(shù)名( ){

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出裕安免費(fèi)做網(wǎng)站回饋大家。
}花括號(hào)內(nèi)為函數(shù)體。帶參數(shù)的函數(shù)有返回值,不帶參數(shù)的沒(méi)有返回值。 C++中函數(shù)的調(diào)用:函數(shù)必須聲明后才可以被調(diào)用。調(diào)用格式為:函數(shù)名(實(shí)參)調(diào)用時(shí)函數(shù)名后的小括號(hào)中的實(shí)參必須和聲明函數(shù)時(shí)的函數(shù)括號(hào)中的形參個(gè)數(shù)相同。有返回值的函數(shù)可以進(jìn)行計(jì)算,也可以做為右值進(jìn)行賦值。 C語(yǔ)言中的部分函數(shù):main(主函數(shù))max(求最大數(shù)的函數(shù))scanf(輸入函數(shù))printf(輸出函數(shù))
C還沒(méi)有影子的時(shí)候,高級(jí)語(yǔ)言BASIC就有GOSUB調(diào)用子程序語(yǔ)句,這實(shí)際上就是調(diào)用一個(gè)比較完整的功能模塊,而C語(yǔ)言的函數(shù)一詞正是從function(功能,函數(shù))翻譯過(guò)來(lái)的;高級(jí)語(yǔ)言還連影子都沒(méi)有的時(shí)候,匯編語(yǔ)言就有一系列跳轉(zhuǎn)和返回指令,就已經(jīng)具備了跳出主程序流程完成某種功能后返回主流程繼續(xù)執(zhí)行的操作。所以在下認(rèn)為函數(shù)調(diào)用操作并不是C的發(fā)明創(chuàng)造,在C的研發(fā)一開(kāi)始,這種思想已經(jīng)很成熟了(在CPU的研發(fā)指令安排中已經(jīng)具備了這種思想),只是C把程序結(jié)構(gòu)完全函數(shù)化了。再說(shuō),C的初衷是替代匯編語(yǔ)言的,匯編語(yǔ)言已經(jīng)具備了這種思想,C沒(méi)有這種功能就很難達(dá)到初衷了。后來(lái)互相影響,一些高級(jí)語(yǔ)言也都模塊化升級(jí),像BASIC的子程序調(diào)用已經(jīng)與C的不差上下了。個(gè)人管見(jiàn),只供參考。
函數(shù)的作用主要是為了重復(fù)調(diào)用,當(dāng)一段代碼在多處使用時(shí),就要考慮寫(xiě)函數(shù)了。
還有一個(gè)方面,用了函數(shù),代碼看起來(lái)會(huì)很簡(jiǎn)潔。
我個(gè)人認(rèn)為函數(shù)這部分的重點(diǎn)給你說(shuō)下哦:
1.函數(shù)的返回值類(lèi)型,也就是你函數(shù)return的內(nèi)容的類(lèi)型,注意如果有多種結(jié)束函數(shù)途徑的話一定要有多個(gè)return,譬如說(shuō)
int fun(int x)
{
if(x0)
return 0;
else
return 1;
}
2.函數(shù)形參的傳遞關(guān)系,有的可以改變值,有的不可以改變值,也是給你個(gè)例子:
void fun1(int x,int *y,int z)
{
x=1;
*y=1;
z=1;
}
如果主函數(shù)有變量int a=b=c=2;fun(a,b,c);的話,那么b和c的值會(huì)改變,而a的值不會(huì)改變,那是因?yàn)椋?/p>
a并不對(duì)變量a所占用內(nèi)存空間的內(nèi)容進(jìn)行操作。
b是把b變量的內(nèi)存空間地址傳遞進(jìn)去了,fun函數(shù)直接對(duì)b變量所在內(nèi)存空間進(jìn)行操作,所以b會(huì)改變。
至于c,你暫時(shí)不用知道,因?yàn)樾螀nt c表示的是一個(gè)引用,是c++里面會(huì)涉及的,你現(xiàn)在用c所以暫時(shí)只要知道有這么種方法就可以了。
3.就是注意函數(shù)中變量的存活期,這個(gè)說(shuō)起來(lái)有點(diǎn)麻煩,你看下書(shū)上關(guān)于局部變量和全局變量那部分的內(nèi)容吧,那個(gè)說(shuō)的比較詳細(xì)。
在初學(xué)C語(yǔ)言的一個(gè)學(xué)期后,我們進(jìn)行了C語(yǔ)言實(shí)訓(xùn)階段,嘗試自己編寫(xiě)一個(gè)比較復(fù)雜的程序系統(tǒng)。在為期兩周的時(shí)間中,我們同組的同學(xué)共同的感受是:C語(yǔ)言實(shí)訓(xùn)和平時(shí)上課所接觸的程序是有很大不同的,所經(jīng)受的考驗(yàn)和克服的困難是平時(shí)所無(wú)法比擬的。好在同組的搭檔們精誠(chéng)合作,分工明確,有問(wèn)題共同解決,攻克了C語(yǔ)言實(shí)訓(xùn)的復(fù)雜程序。在這里,我作為其中的參與者,自然感觸良多。
剛開(kāi)始接觸到C的時(shí)候,我已經(jīng)學(xué)過(guò)一些有關(guān)VB的內(nèi)容,這個(gè)在算法和思維上稍微有點(diǎn)幫助。回想本學(xué)期的學(xué)習(xí),首先,最基本的,是C的數(shù)據(jù)格式,讓我們知道整數(shù),浮點(diǎn)數(shù)以及字符常量在C中的運(yùn)用。然后,在學(xué)會(huì)了數(shù)據(jù)轉(zhuǎn)化,以及熟練的可以對(duì)各種數(shù)據(jù)處理之后,我開(kāi)始進(jìn)行有關(guān)數(shù)據(jù)結(jié)構(gòu),像數(shù)組,結(jié)構(gòu)體等的學(xué)習(xí),因?yàn)橛械臇|西從現(xiàn)有的知識(shí)來(lái)看都是非常簡(jiǎn)單的,還沒(méi)有聯(lián)系到指針等等一些復(fù)雜的概念。可是,僅僅學(xué)會(huì)這些是遠(yuǎn)遠(yuǎn)不夠的,C語(yǔ)言中,還有很多更加經(jīng)典、重要、實(shí)用的知識(shí)。
說(shuō)說(shuō)函數(shù)。雖說(shuō)很多程序語(yǔ)言都有函數(shù)這一內(nèi)容,但我覺(jué)得C語(yǔ)言的函數(shù)是最有魅力的了。學(xué)習(xí)函數(shù)的方法是比較簡(jiǎn)單的,只有兩個(gè)字“牢記”,即:牢記函數(shù)的功能,牢記函數(shù)的用途以及如何輸入輸出。函數(shù)從本質(zhì)上講是一段通用程序,用它可以幫助我們節(jié)約很多編程的時(shí)間,學(xué)習(xí)C語(yǔ)言的“高人”都說(shuō),一個(gè)聰明的編程者在編寫(xiě)程序前往往總是先找自己所編寫(xiě)的程序中有多少是可以用函數(shù)來(lái)代替的。比如,大家可以作一個(gè)比較字符串的實(shí)驗(yàn),用C語(yǔ)言中的strcmp()函數(shù)只要一句話,而自己編寫(xiě)的話,30句都很難實(shí)現(xiàn),可想而知函數(shù)的實(shí)用和快捷。在我們C語(yǔ)言實(shí)訓(xùn)的代碼中,函數(shù)更是得到了充分的應(yīng)用,可以說(shuō),實(shí)訓(xùn)題目的復(fù)雜代碼,就是用無(wú)數(shù)個(gè)函數(shù)的調(diào)用和嵌套積累出來(lái)的。
要注意的是,有的同學(xué)剛剛開(kāi)始的時(shí)候,都是被一些大的程序激勵(lì)的,所以當(dāng)開(kāi)始的時(shí)候看到繁瑣的數(shù)據(jù)轉(zhuǎn)化和簡(jiǎn)單的算法,都覺(jué)得很無(wú)聊,都想自己做幾個(gè)自己滿意的程序來(lái)看看,雖然這種想法很好,但是,我們說(shuō),沒(méi)有基礎(chǔ),純粹是搬照一些現(xiàn)成設(shè)計(jì)方法,是不足取的。要知道,程序設(shè)計(jì)講究的是個(gè)人的思維的,假如剛開(kāi)始就被一些現(xiàn)成的思想束縛住,以后就會(huì)覺(jué)得很無(wú)趣。
我們知道,指針其實(shí)是C語(yǔ)言的靈魂,許多的數(shù)據(jù)結(jié)構(gòu)在我們學(xué)到這里之前都可以說(shuō)是精通了。所以我們的任務(wù)就是,讓數(shù)據(jù)結(jié)構(gòu)在指針中運(yùn)行。當(dāng)然,剛剛開(kāi)始接觸到這些新的東西,是一件非常痛苦的事情,所以我們一定要用非常形象的思維去看待指針,不能太固化。所以,新的東西,比如結(jié)構(gòu)體在指針中的表現(xiàn)方法,數(shù)組及多維數(shù)組在結(jié)構(gòu)體中的運(yùn)用,都一點(diǎn)一點(diǎn)的加了進(jìn)來(lái),同時(shí)豐滿了我們對(duì)原來(lái)C的數(shù)據(jù)機(jī)構(gòu),數(shù)據(jù)表示的理解。當(dāng)我們完成了這三步的學(xué)習(xí),我們已經(jīng)可以自豪的說(shuō),我們的基礎(chǔ)都扎實(shí)了,可以進(jìn)一步的學(xué)習(xí)有關(guān)算法,設(shè)計(jì)概念等等深層次的東西了。
但是,指針,結(jié)構(gòu)體,這些太抽象的東西,在學(xué)習(xí)C語(yǔ)言的時(shí)候我們就有點(diǎn)“似懂非懂”,可是在眼下的C語(yǔ)言實(shí)訓(xùn)中,像這么重要的C語(yǔ)言知識(shí),一定要達(dá)到能熟練掌握,實(shí)際運(yùn)用的程度。在實(shí)訓(xùn)的大程序中,結(jié)構(gòu)體在指針中的表現(xiàn)方法,數(shù)組及在結(jié)構(gòu)體中的運(yùn)用等具體的技術(shù)環(huán)節(jié),都得到了體現(xiàn),不會(huì)指針,我們的工作是沒(méi)法展開(kāi)的。所以,在實(shí)訓(xùn)期間,大家在鞏固基本知識(shí)的基礎(chǔ)上,逐塊攻克實(shí)訓(xùn)課題,克服了困難,自信心得到了提高。
最后,談?wù)勎覀兘M的程序軟件。商店商品管理系統(tǒng),是一個(gè)比較利于應(yīng)用,解決實(shí)際問(wèn)題,方便實(shí)際管理的程序。設(shè)計(jì)代碼比較復(fù)雜,結(jié)構(gòu)比較嚴(yán)謹(jǐn)。在程序編寫(xiě)的1周左右的時(shí)間里,組員們遇到了上述的困難,包括程序設(shè)計(jì)構(gòu)思,甚至是指針等某些知識(shí)點(diǎn)的欠缺,導(dǎo)致的工作中出現(xiàn)的困難。但是,當(dāng)大家一起團(tuán)結(jié)協(xié)作,解決了這些困難之后,發(fā)現(xiàn)自己也可以編寫(xiě)復(fù)雜的、應(yīng)用性的程序了,更發(fā)現(xiàn)自己對(duì)C語(yǔ)言這門(mén)學(xué)科的興趣也提高了。
當(dāng)然,我們編寫(xiě)的商店商品管理系統(tǒng),還存在很多疏漏和不合理之處。比如,程序復(fù)雜冗長(zhǎng),如果時(shí)間充裕,我們將在不改變程序運(yùn)行結(jié)果的基礎(chǔ)上,簡(jiǎn)化程序,使每一句更加精辟,總體上更加簡(jiǎn)化。另外,在程序的外觀上,我們由于時(shí)間問(wèn)題,沒(méi)有做更多的修飾,運(yùn)行起來(lái)顯得比較死板、枯燥乏味。如果增添一些色彩和其他效果,我們的程序也許會(huì)更加完美。
以上就是我的C語(yǔ)言實(shí)訓(xùn)個(gè)人總結(jié)
名稱欄目:c語(yǔ)言關(guān)于函數(shù)的思想感悟 c語(yǔ)言結(jié)論及心得
文章出自:http://chinadenli.net/article16/hjecdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、面包屑導(dǎo)航、電子商務(wù)、軟件開(kāi)發(fā)、用戶體驗(yàn)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)