国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

C語(yǔ)言中函數(shù)編寫(xiě)方法的分析與探討

2014-04-29 00:44王秀娟趙山林
計(jì)算機(jī)時(shí)代 2014年2期
關(guān)鍵詞:調(diào)用函數(shù)

王秀娟 趙山林

摘 要: 函數(shù)是C語(yǔ)言學(xué)習(xí)的難點(diǎn)和重點(diǎn),通過(guò)分析函數(shù)的結(jié)構(gòu),將函數(shù)編寫(xiě)中難以確定的問(wèn)題進(jìn)行分解、細(xì)化。按照返回值的個(gè)數(shù)將函數(shù)分為:無(wú)返回值函數(shù)、單反回值函數(shù)、多返回值函數(shù)三種類(lèi)型。對(duì)這三種類(lèi)型函數(shù)的設(shè)計(jì)方法分別舉例分析和說(shuō)明,詳細(xì)闡述了函數(shù)編寫(xiě)的具體過(guò)程。

關(guān)鍵詞: 函數(shù); 形式參數(shù); 指針變量; 調(diào)用

中圖分類(lèi)號(hào):TP399 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2014)02-49-02

0 引言

C語(yǔ)言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,通過(guò)函數(shù)來(lái)實(shí)現(xiàn)模塊化的程序設(shè)計(jì)[1]。程序是由若干個(gè)函數(shù)來(lái)組成的,因此函數(shù)在C語(yǔ)言程序設(shè)計(jì)中具有舉足輕重的地位。很多學(xué)生在編寫(xiě)函數(shù)時(shí),很迷茫,不知從何入手,經(jīng)常出現(xiàn)這種情況:無(wú)論一個(gè)程序多么復(fù)雜,都將所有的功能全部放在主函數(shù)中,這樣會(huì)造成很多的問(wèn)題,例如:程序編寫(xiě)困難、程序結(jié)構(gòu)不清晰、功能難于擴(kuò)充、調(diào)試?yán)щy等。為了解決這些問(wèn)題,本文重點(diǎn)分析函數(shù)的結(jié)構(gòu),并總結(jié)出不同類(lèi)型函數(shù)的編寫(xiě)方法。

1 函數(shù)結(jié)構(gòu)

函數(shù)由兩大部分組成:函數(shù)頭和函數(shù)體。第一行為函數(shù)頭部分,花括號(hào)括起來(lái)的為函數(shù)體部分。其中,函數(shù)類(lèi)型指的是函數(shù)返回值的類(lèi)型,若函數(shù)無(wú)返回值則函數(shù)類(lèi)型為“void”。函數(shù)名由編程者來(lái)命名,通常應(yīng)該做到見(jiàn)名知意[3]。函數(shù)名后面小括號(hào)中的是形式參數(shù),其中的每一個(gè)參數(shù)應(yīng)該分別定義數(shù)據(jù)類(lèi)型。函數(shù)體部分和主函數(shù)的函數(shù)體部分一樣,由數(shù)據(jù)描述和算法實(shí)現(xiàn)兩部分組成。函數(shù)體用順序、選擇、循環(huán)三種結(jié)構(gòu)的設(shè)計(jì)方法編寫(xiě)即可。從函數(shù)的結(jié)構(gòu)可以看出,只要設(shè)計(jì)出函數(shù)頭,整個(gè)函數(shù)的設(shè)計(jì)也就迎刃而解。

2 函數(shù)設(shè)計(jì)過(guò)程分析

第一步:設(shè)計(jì)函數(shù)頭。①分析哪些量是函數(shù)的已知量,數(shù)據(jù)類(lèi)型是什么,將已知數(shù)據(jù)作為函數(shù)的形參;②哪些是未知量,即函數(shù)需要得到的結(jié)果,若未知數(shù)據(jù)只有一個(gè),可確定其數(shù)據(jù)類(lèi)型,即為函數(shù)類(lèi)型。

第二步:編寫(xiě)函數(shù)體[4]。

3 無(wú)返回值函數(shù)的編寫(xiě)

無(wú)返回值函數(shù)的功能通常是為了調(diào)用函數(shù)實(shí)現(xiàn)特定的功能,這種函數(shù)的類(lèi)型應(yīng)定義為“void”,函數(shù)體中不需要使用“return”語(yǔ)句[5-6]。

5 多返回值函數(shù)的編寫(xiě)

C語(yǔ)言中通過(guò)return語(yǔ)句只能返回一個(gè)值,如果在調(diào)用函數(shù)過(guò)程中需要返回多個(gè)值給主調(diào)函數(shù)通常有兩種方法:①設(shè)定n個(gè)指針變量,利用間接訪問(wèn)方式訪問(wèn)主調(diào)中的變量來(lái)實(shí)現(xiàn);②設(shè)定1個(gè)指針變量,調(diào)用時(shí)使其指向主調(diào)中的數(shù)組,利用主調(diào)中的數(shù)組的各個(gè)元素表示n個(gè)返回值[9]。

5.1 通過(guò)多個(gè)指針變量返回多值

被調(diào)函數(shù)原型聲明:

void fun(帶類(lèi)型說(shuō)明的形參表列,類(lèi)型 *p1,類(lèi)型 *p2,類(lèi)型 *p3,……類(lèi)型 *pn);

這種方法是在主調(diào)函數(shù)中定義多個(gè)變量來(lái)表示多個(gè)返回值,在被調(diào)用函數(shù)中用指針指向主調(diào)函數(shù)中表示未知的變量,通過(guò)間接訪問(wèn)的方式修改主調(diào)函數(shù)中變量的值,從而獲得多個(gè)返回值[10-11]。分析時(shí),已知量仍作為函數(shù)的形參,未知量也作為函數(shù)的形參,但要定義為指針類(lèi)型。函數(shù)的結(jié)果不再通過(guò)“return”語(yǔ)句返回,所以函數(shù)類(lèi)型定義為“void”。

編寫(xiě)函數(shù),求兩個(gè)數(shù)的最大公約數(shù)和最小公倍數(shù)。

6 結(jié)束語(yǔ)

函數(shù)是C語(yǔ)言程序的基本組成單位,因此掌握函數(shù)的編寫(xiě)至關(guān)重要。從本文的分析中不難看出,對(duì)于函數(shù)的編寫(xiě),函數(shù)頭的確定是首要內(nèi)容,一旦函數(shù)頭確定了,則該函數(shù)的已知(即普通形參)和未知(即函數(shù)返回結(jié)果)便明確了。若未知量是一個(gè),則把未知量的類(lèi)型定義為函數(shù)類(lèi)型,未知量是多個(gè)時(shí),通常使用指針指向需返回的多個(gè)值[14]。另外需要注意的是,我們分析的已知量,不是通過(guò)“scanf”函數(shù)從鍵盤(pán)讀取數(shù)據(jù),而是在調(diào)用函數(shù)的過(guò)程中將實(shí)參的值傳遞給對(duì)應(yīng)的形參,因此,實(shí)參和形參的個(gè)數(shù)應(yīng)相等,類(lèi)型應(yīng)一致,按順序一一對(duì)應(yīng)[15]。筆者在多年從事C語(yǔ)言程序教學(xué)的過(guò)程中發(fā)現(xiàn),只要學(xué)生掌握了函數(shù)編寫(xiě)的正確方法和技巧,就可以事半功倍,使函數(shù)的編寫(xiě)不再成為一個(gè)難題。

參考文獻(xiàn):

[1] 趙山林,高媛.C程序設(shè)計(jì)[M].人民郵電出版社,2012.

[2] 譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[M].清華大學(xué)出版社,2005.

[3] 吉順如.C語(yǔ)言程序設(shè)計(jì)教程[M].機(jī)械工業(yè)出版社,2010.

[4] 何欽銘,顏暉.C語(yǔ)言程序設(shè)計(jì)[M].高等教育出版社,2008.

[5] 濤偉,楊秀金.C++函數(shù)的參數(shù)傳遞和返回值問(wèn)題的教學(xué)研討[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2005.23:70-74

[6] 趙家剛,李俊蔌.C語(yǔ)言程序設(shè)計(jì)[M].西安交通大學(xué)出版社,20l0.

[7] 尹寶林.C程序設(shè)計(jì)思想與方法[M].機(jī)械工業(yè)出版社,2009.

[8] 王立柱.C語(yǔ)言程序設(shè)計(jì)[M].機(jī)械工業(yè)出版社,2011.

[9] 賈伯琪,顧衛(wèi)兵,蘇仕華,張四海,何克東.計(jì)算機(jī)程序設(shè)計(jì)[M].機(jī)械工業(yè)出版社,2011.

[10] Harry H.Cheng著,何欽銘,王兆青,陸漢權(quán)譯.C For Engineers And Scientists[M].高等教育出版社,2011.

[11] 龔沛曾,楊志強(qiáng).C/C++程序設(shè)計(jì)教材[M].高等教育出版社,2004.

[12] 朱小菲,劉玉喜.C語(yǔ)言程序設(shè)計(jì)教程[M].清華大學(xué)出版社,2005.

[13] 夏濤.C語(yǔ)言程序設(shè)計(jì)[M].北京郵電大學(xué)出版社,2007.

[14] 蘇小紅,王宇穎,孫志崗.C語(yǔ)言程序設(shè)計(jì)[M].高等教育出版社,2008.

[15] 王金鵬,肖進(jìn)杰.C程序設(shè)計(jì)進(jìn)階與實(shí)例解析[M].清華大學(xué)出版社,2011.

猜你喜歡
調(diào)用函數(shù)
第3講 “函數(shù)”復(fù)習(xí)精講
二次函數(shù)
第3講 “函數(shù)”復(fù)習(xí)精講
二次函數(shù)
函數(shù)備考精講
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
第3講“函數(shù)”復(fù)習(xí)精講
核電廠建設(shè)階段物項(xiàng)調(diào)用管理探討
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究