1、c程式是由函式構成的。乙個c源程式至少且僅包含乙個main函式,也可以包含乙個main函式和若干個其他函式。因此,函式是c程式的基本單位。被呼叫的函式可以是系統提供的庫函式(如printf和scanf函式),也可以是使用者根據需要自己編制設計的函式(如
int max(int x,inty)
/*定義max函式,函式值為整型,形式引數x、y為整型
*/
)。c的函式相當於其他語言中的子程式。用函式來實現特定的功能。程式全部工作都是由各個函式分別完成,編寫c程式就是編寫乙個個的函式。
2、乙個函式由兩個部分組成:
a、函式的首部,即函式的第一行,包括函式名、函式型別、函式屬性、函式引數(形式引數)名、引數型別。如上面的max函式的首部為:
int max (int x, int y)
函式型別 函式名 函式引數型別 函式引數名 函式引數型別 函式引數名
乙個函式名後面必須跟一對圓括號,括號內寫函式的引數名及其型別。函式可以沒有引數,如mian()。
b、函式體,即函式首部下面的花括號內的部分。如果乙個函式內有多個花括號,則最外層的一對花括號為函式體範圍。
函式體一般包括以下連個部分。
● 宣告部分。在這部分中定義所用到的變數和對所呼叫的函式的宣告。如上面對呼叫函式max的宣告「int max(int x,int y)」。
●執行部分。由若干個語句組成。
當然,在某些情況下也可以沒有宣告部分,甚至可以既無宣告部分也無執行部分。如:
voiddump()
他是乙個空函式,什麼也不做,但這是合法的。
3、乙個c程式總是從main函式開始執行的,而不論main函式在整個程式中的位置如何(main函式可以放在程式的最前頭,也可以放在程式的最後,或者一些函式之前,或在另一些函式之後)。
4、c程式書寫格式自由,一行內可以寫幾個語句,一句可以分寫在多行上,c程式沒有行號。
5、每個語句和資料宣告的最後必須有乙個分號。分號是c語句的必要組成部分。如:「c=a+b;」分號是不可缺少的。即使是程式最好的乙個語句也應包含分號。
6、c程式本身沒有輸入輸出語句。輸入和輸出的操作是由庫函式scanf和printf等函式來完成的。c對輸入輸出實行「函式化」。由於輸入輸出操作牽涉具體的計算機裝置,把輸入輸出操作放在函式中處理,就可以使c語言本身的規模較小,編譯程式簡單,很容易在各種機器上實現,程式具有可移植性。不同計算機系統除了提供標準函式外,還提供一些專門的函式,因此不同計算機系統中所提供的函式個數和功能是有所不同的。
7、可以用/*..........*/對c程式中的任何部分做注釋。乙個好的、使用價值的源程式都應當加上必要的注釋,以增加程式的可讀性。
以上內容來自閱讀譚浩強編著的c程式語言設計,為個人所做筆記!禁止個人和團體用作商業用途,特在此說明!
C語言型別定義
對於使用者定義型別,typedef和 define有什麼區別?一般來說,最好使用typedef,部分原因是他能正確處理指標型別。例如這些宣告 typedef char string t define string d char string t s1,s2 stirng d s3,s4 s1,s2,...
C語言巨集定義
c語言有很多預處理命令,如包含命令 include,巨集定義命令 define。預處理命令在程式編譯之前被編譯器處理,而巨集定義也在此時被替換。或c 語言源程式中允許用乙個識別符號來表示乙個字串,稱為 巨集 被定義為 巨集 的識別符號稱為 巨集名 在編譯預處理時,對程式中所有出現的 巨集名 都用巨集...
C語言巨集定義
乙個巨集定義的作用域是從定義處到 undef處或檔案結尾。undef num 現在此處num沒有定義。1.ifdef num 如果num有巨集定義就編譯此處。else 如果num沒有巨集定義就編譯此處 endif 不論num 有沒有巨集都編譯,即判斷體已結束。ifndef num 如果num沒有巨集...