以下內容來自於《寫給大家看的C預言書》一書,作者是Greg Perry。
-
第1個計算機bug是一隻真正的蟲子。一臺軍用打印機不能正常工作了,結果在兩根電線中發現了一隻飛蛾。
-
函數是指C自帶的或者由你編寫的執行某些任務的例行程序。
-
如果一個函數名稱有多個部分,如doReportPrint(),通常把每個分隔詞以大寫字母開頭,這樣可以提高可讀性(函數名中不允許出現空格)。
-
只有單個字符可以放到單引號裏面,例如:正確寫法‘A’,錯誤寫法‘ABC’
-
在C程序中的大多數空格是爲了讓人更易讀,而不是讓編譯器更易讀。在程序中加上空行和代碼縮進可以幫助改善程序的可讀性,使你更容易查找。
-
某些雙字符組合在C語言中將這些組合解釋成單個字符。例如:‘\n’。
-
整個C程序從頭到尾都應加上註釋。註釋是散佈於程序中的解釋性信息。
-
程序維護是隨時間流逝不斷修改程序的過程,它會修正隱藏的錯誤,並調整程序以適應環境的改變。
-
空白指很多程序中存在的空格和空行,空白在提高程序的可讀性方面比註釋更重要。
-
編程的3條規則是註釋、註釋、再註釋,儘可能多地使用註釋。
-
printf()實際上沒有把輸出發送到屏幕,而是發送到了電腦的標準輸出設備(standard output device)。
-
在函數和命令的格式中佔位符是斜體的,提醒你這個位置要用一些東西來替代。
-
字符串的轉化字符是 %s, 單個字符的轉化字符是 %c
-
C語言允許變量名以下劃線開頭,但是你不應該這麼做。因爲C語言的一些內置變量以下劃線開頭,如果你的變量也以下劃線開頭,就有可能與某個內置變量重名。
-
字符串末端的0的名稱:
Null零
二進制零
字符串結束符
ASCII零
\0(反斜槓零) -
字符串的長度是指最大的字符數,但不包括null零。
-
無論何時,每次看到引號中的字符串字面量時,就要想到在內存中字符串末端的null零。
-
你總是得預留足夠的字符數組空間容納最長的字符串,還要算上字符串結束符。
-
預處理器指令總是以符號#開始,它們不會在運行時(即運行程序時)產生任何行爲。它們只在編譯程序時發生作用。
-
當你安裝編譯器時,安裝程序會在硬盤上創建一個獨立的位置(在一個目錄中),用來存放編譯器附帶的各種#include文件。當你想要使用某個內置#include文件時,要使用帶尖括號<>的#include格式。例如:printf()對應的#include文件是STDIO.H,而strcpy()對應的#include文件是STRING.H。
-
定義常量名要用大寫字母,大寫能使你在快速瀏覽程序時分辨出哪些是變量,哪些是常量。例如:#define PI 3.1415
-
在程序中使用scanf()時添加空格是一個好習慣。有時候當你連續地獲取數字或字符時,它能幫助你更好地輸入。
-
如果要求用戶輸入字符串到一個字符數組中,就不要在數組名前面加上&。
-
請大量地使用括號。它們能使你的表達式更清晰。
-
在編寫高級程序時,保持數據類型的一致性非常重要。因此必要時,需要使用強制類型轉換。