徐連杰+張建+王睿
摘 要:隨著電子計算機的迅速發(fā)展和廣泛應用,C程序設計語言在計算機軟件開發(fā)中的作用日益顯著。C語言是目前世界上流行且使用得非常廣泛的結構化的高級程序設計語言。C語言是1972年由貝爾實驗室的Dennis Ritchie在B語言的基礎上開發(fā)出來的。最初的C語言是作為UNIX操作系統(tǒng)的開發(fā)語言而被人們認識,它以最簡易的方式編譯、使用低級處理存儲器以及進行少量的代碼編寫;而且其也是在任何環(huán)境下都能運行的通用計算機編程語言。本文從C程序的設計入手,簡單介紹C語言的函數(shù)用法。
關鍵詞:C語言;C++;函數(shù)
1 C程序的設計過程
1.1 程序設計
C語言是適合于面向過程的程序設計,主要設計思路是自頂向下、逐步細化;規(guī)劃好程序的設計方法,由順序結構、選擇結構、循環(huán)結構三種基本結構進行描述。
1.2 程序編寫
用C語言代碼表示算法的過程就是C程序的編寫過程。編寫好源程序后輸入到計算機中,生成源代碼程序文件。當C程序的算法簡單時,可以編寫一個由主函數(shù)構成的簡單程序;當C程序的算法復雜時,可以編寫一個由主函數(shù)及若干子函數(shù)構成的程序。因此,函數(shù)是C程序的基本組成單位。
下面是一個簡單C語言程序:
#include
Main()
{
Printf(“Hello,everyone?。躰”);
}
該程序是由一個主函數(shù)組成的簡單算法,其運行的結果是Hello,everyone!基本所有的C程序都基于最簡單的程序,然后不斷添加子函數(shù),使用各種函數(shù)功能而實現(xiàn)。
1.3 上機實現(xiàn)
C程序的上機實現(xiàn)過程就是編譯、調試和運行過程,從而可以實現(xiàn)上機操作。
1.4 C程序結構特點
C語言程序整體是由一個或多個稱為函數(shù)的模塊構成的。每個函數(shù)都具有對應的功能,函數(shù)之間存在著相對明顯的界面,從而使程序具有清晰的模塊結構。正因為C語言程序的結構特點,提高了軟件開發(fā)的效率,改善了軟件質量。這也從整體上體現(xiàn)了C語言的普遍性及實用性。
2 C語言中函數(shù)的介紹及使用
2.1 函數(shù)的定義
函數(shù)的定義就是編寫完成函數(shù)功能的模塊。通常C函數(shù)由一個主函數(shù)和若干子函數(shù)組成,而主函數(shù)是程序執(zhí)行的起始點,用于調用其他子函數(shù);子函數(shù)還可以調用別的子函數(shù),通過調用關系可以實現(xiàn)復雜的C程序。我們所使用的函數(shù)包括兩種,即標準庫函數(shù)和用戶自定義函數(shù)。標準庫函數(shù)是C系統(tǒng)定義好的放在標準庫中以直接供用戶使用的函數(shù);用戶自定義函數(shù)是專門用于解決自己的問題所編寫的。函數(shù)的定義格式一般如下:
類型名 {函數(shù)名(形參列表)
(定義變量
語句序列)}
從格式可以看出,函數(shù)的定義主要由函數(shù)名和用大括號{}包圍的函數(shù)體兩部分構成。函數(shù)名的小括號()中無論有無參數(shù),都不能省略。當函數(shù)帶有多個形式參數(shù)時,圓括號中的形式參數(shù)要用逗號相隔,并在大括號前說明它的數(shù)據(jù)類型。
2.2 函數(shù)的說明和調用
在一個函數(shù)中需要調用另一個函數(shù)時,程序控制就從調用函數(shù)轉到被調函數(shù)中去,并且從被調用的函數(shù)體起始位置開始執(zhí)行該函數(shù)的語句。在執(zhí)行完后,或者遇到return語句時,程序就控制返回調用函數(shù)原來的斷點繼續(xù)執(zhí)行。一般在調用一個函數(shù)時,需要說明該函數(shù)的存儲類型和數(shù)據(jù)類型,這稱為函數(shù)的說明。函數(shù)的說明存在于程序的說明部分,它既可以在函數(shù)的內部,也可以存在于函數(shù)的外部說明部分。C語言規(guī)定,如果一個調用函數(shù)發(fā)生在該函數(shù)的定義之前,則在調用前必須對該函數(shù)說明。目前函數(shù)說明格式兩種,一是存儲類型,數(shù)據(jù)類型,函數(shù)名(形式參數(shù)數(shù)據(jù)類型及參數(shù)名);二是存儲類型,數(shù)據(jù)類型,函數(shù)名(形式參數(shù)數(shù)據(jù)類型)。
下面來分析一下函數(shù)在調用時常見的問題,如參數(shù)的使用。在調用一個函數(shù)時,必須使用有實際值的量作函數(shù)的參數(shù),稱之為函數(shù)的實參。實參數(shù)的個數(shù)和順序必須與函數(shù)定義中形式參數(shù)保持一致;此外,數(shù)據(jù)類型必須與相應的形式參數(shù)保持一致??傮w來說,在程序調用執(zhí)行中,隨著程序控制作用的轉移,實參數(shù)的值被賦予了相應的形式參數(shù),而參數(shù)的值可以看作是對參數(shù)初始化的初值。
2.3 函數(shù)的應用舉例
函數(shù)的應用大而廣之,在本文中無法對函數(shù)的各種功能進行一一說明。只能簡單地介紹一下函數(shù)的使用和引導。因此,下面簡單列舉一個例子進行分析,以更加真實地感受一下函數(shù)的強大功能。例如,數(shù)組在函數(shù)間的傳遞。
數(shù)組是由多個數(shù)據(jù)組成的集合體,在C語言程序中經(jīng)常需要把數(shù)組的數(shù)據(jù)傳遞到函數(shù)中進行處理。我們常采用地址傳送方式進行處理,把數(shù)組的存儲首地址作為實參調用函數(shù);在被調用的函數(shù)中,以指針變量作為形式參數(shù)接收數(shù)組的首地址;當該指針被賦予數(shù)組的首地址后,就指向了數(shù)組的存儲空間。下面以求數(shù)組的平均值的函數(shù)具體說明。
Float mean(int *data,int num)
{
Int I;
float avg;
for(avg=0,i=0;i avg+=*data; avg/=num; return(avg); } 該函數(shù)是求數(shù)組中所有數(shù)據(jù)的平均值,體現(xiàn)了處理數(shù)組的函數(shù)的特性。其中最重要的就是處理數(shù)組的函數(shù)的形式參數(shù)必須有接收數(shù)組地址的指針。如上面data形式參數(shù)。此外,還經(jīng)常有一個形式參數(shù)用于接收數(shù)組的大小,如num。在上面的main函數(shù)中,指針data接收數(shù)組地址后,就指向了數(shù)組的存儲空間;在程序中使用for循環(huán),通過指針data的變化逐次訪問數(shù)組的各個元素,并把元素的值累加;變量num控制循環(huán)次數(shù);全部累加元素和除以數(shù)據(jù)個數(shù)num就得到了平均值。 在最近20年里,C語言已經(jīng)成為一種最重要的、最流行的程序設計語言。不管是在哪種編程軟件中,都是一種不可或缺的編程語言。C語言的簡單性和易使用性讓編程者能夠更快、更好地使用;C語言是一種融入控制功能的新式語言,它的設計使得用戶自然而然地去采用自頂而下的、結構化的設計原則;C語言程序中所包含的各種函數(shù)更是極大地方便了用戶,能夠快速地利用編程實現(xiàn)復雜的算法;C語言的效率很高,能夠充分地發(fā)揮當代計算機各方面的效能。 參考文獻: [1] 張?zhí)壹t,彭珍,楊炳儒,謝永紅.“C程序設計”課程的KM教學法研究[J].計算機教育,2010(02):113-115+101. [2] 楊俊生,張潤.基于計算思維的“C程序設計”案例設計初探[J].工業(yè)和信息化教育,2013(06):65-69+64. [3] 孫玲. C程序邏輯思維訓練支持系統(tǒng)構建與應用[D].山西師范大學,2014:105-107.