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