快速上手

1. 空白和註釋

1.空行將程序的不同部分分隔開來;
2.製表符(tab)用於縮進語句,更好的顯示程序的結構
3.註釋:C語言中,註釋以 /* 開始,以 */ 結束。在C程序中,凡是可以插入空白的地方都可以插入註釋。C語言版的註釋不能嵌套。(也就是說第一個 /* 和第一個 */ 符號之間的內容都可以被看做是註釋,不管裏面還有多少個 /* 符號)
4.使用 #if 指令。

#if  0
statements
#endif

在 #if 和 #endif 之間的程序段就可以有效地從程序中去除,即使這段代碼之間原先存在註釋也無妨,所以這是一種更爲安全的方法。

2. 預處理指令

1.預處理指令是由預處理器解釋的。預處理器讀入源代碼,根據預處理指令對其進行修改,然後把修改過的源代碼遞交給編譯器。
2.關鍵字 void 表示函數並不返回任何值,在其它語言裏,這種無返回值的函數被稱爲過程(procedure)

3. main函數

1.每個C程序都必須有一個 main 函數 ,因爲它是程序執行的起點,main 函數的函數體包括 左花括號和與之匹配的右花括號之間的任何內容
2.在C語言中數組參數是以 引用 形式進行傳遞的,也就是 傳址調用 ,而標量和常量則是 按值傳遞的 ,在函數中對標量參數的任何修改都會在函數返回時丟失,因此被調函數無法修改調用函數以傳值形式傳遞給它的參數。但是,當被調函數修改數組參數的其中一個元素時,調用函數所傳遞的數組就會被實際的修改
3. gets 函數從標準輸入讀取一行文本並把它存儲於作爲參數傳遞給它的數組中。一行輸入由一串字符組成,以一個換行符(newline)結尾。gets函數 丟棄換行符,並在該行的末尾存儲一個 NUL字節。(一個 NUL 字節是指字節模式爲全 0 的字節,類似於 ‘\0’ 這樣的字符常量)。然後,gets函數返回一個非 NULL 值,表示該行已被成功讀取。當gets函數被調用但事實上不存在輸入行時,他就會返回 NULL 值,表示它達到了輸入的末尾即文件尾。
4.NUL 是 ASCII 字符集中 ‘\0’ 字符的名字,它的字節模式爲全 0 。NULL 值一個其值爲 0 的指針。它們都是指針型,其值也相同,所以它們可以交換使用。但是,程序員還是應該使用合適的常量,因爲它可以告訴閱讀程序的人不僅使用0這個量,還要告訴他使用這個值的目的。
5.符號 NULL 在頭文件 stdio.h 中定義。另一方面,並不存在預定義的符號 NUL ,所以如果你想使用它而不是字符常量 ‘\0’ ,就必須自行定義
6.C語言中不存在 字符串(string)類型,但在整個C語言中,存在一項約定:字符串就是一串以 NUL 字節結尾的字符。NUL 是作爲字符串終止符,它本身並不被看作是字符串的一部分。
7.字符串常量就是源程序中被雙引號括起來的一串字符。
8.爲什麼 ch 被聲明爲整型卻要用來接收字符?
答:EOF 是一個整型值,它的位數比字符類型要多,把 ch 聲明爲整型可以防止從輸入讀取的字符意外地被解釋爲 EOF 。但同時,這也意味着接收字符的 ch 必須足夠大,足以容納 EOF 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章