《寫給大家看的c語言書》重點記錄

       這是老外寫的一本書,“寫給大家看的”書,當然就非常好理解了,譯文依然是以很輕鬆的格調來講述傳說中的c語言,書中比較好的一個欄目就是“陷阱”,這麼蛋疼的名字不知道是作者的問題還是譯者的問題,這個欄目講的不能算是陷阱,應該說是c語言中需要注意的問題吧。下面摘錄了全書中的“陷阱”,有些地方表述不清楚,我就做了一些補充,也刪掉了一些極其沒用的“陷阱”。


●  輸入代碼的時候一定不要馬虎,當c語言需要某個特定的字符比如單括號時,就一定不能錯寫爲方括號。

●  不要讓整數以0開頭,除非整數是0本身。

●  不要使用冗餘的註釋。沒有價值的註釋只會浪費你寶貴的編程的時間。

●  不要嵌套註釋。如果你要註釋掉一段程序,必須確保這段代碼不含註釋。

●  不要寫幾乎沒有空白的程序。需要時儘可能多的在程序中使用縮進和空行,對代碼行進行分組。當你學習了更多c語言之後,你將學會在哪裏加空白能提高程序的可讀性。

●  不要指望c語言知道如何自動格式化數據。你必須自己使用轉化字符。

●  不要忘記用%f的小數控制,除非你想讓程序把所有的浮點數都打印出個小數位。

●  不要混淆數據類型和變量類型。避免把一種數據類型的值存儲到另一種數據類型的變量中。

●  最好不要在主函數的前面定義變量(這樣的變量稱爲全局變量,如果不小心使用,容易導致錯誤),而應該在主函數的左大括號之後定義變量。

●  不要在數字中使用逗號。輸入值3萬應該是30000,而不是30,000。

●  只有當字符數組包含足夠多的元素用來存放字符串時,才能把字符串放到字符數組中。

●  不要忘了數組的下標從0開始,而不是1(有些編程語言是從1開始)。

●  不要計算錯了!如果你沒有爲結尾的NULL零預留足夠的元素,c語言將不能正確處理字符。

●  不要忘記在第一個控制字符串字符前面加上空格(例如,“%d”在%號前面有一個空格)以確保正確的輸入。 (此處實在不知道啥意思,哪位知道還請告知,多謝!)

●  不要在scanf()數組名前面加上&。

●  如果你想減去一個負數,不要把兩個減號連在一起,在他們之間留個空格。

●  不要用%計算非整型數據除法的餘數。如果除以非整數,得到的結果是精確的浮點數。

●  不要寫不加括號的長表達式。括號有助於讓表達式更清晰、準確,避免由於遵循運算符優先級表而出錯。

●  不要混用不通的數據類型。要對數據類型進行強制轉換,使得在求值之前所有數據類型的一致。

●  不要忽視運算符的優先級。在表中,複合運算符的優先級較低,而且在幾乎其他所有運算符計算結束後纔開始操作。

●  不要在關係運算符兩邊用不通數據類型的值。

●  不要在if或else語句後面加上分號。分號只能出現在if或else語句的主體中每條語句的句末。

●  不要過多使用!(“非”運算符)。大多數否定的邏輯可以取反(<變成>=)以避免使用非運算符。

●  不要把太多的關係運算符組合在一個表達式中。

●  不要在條件運算符?:的每一邊都重複賦值語句。把變量和賦值運算符放到條件運算符左邊以提高效率。

●  不要認爲前綴和後綴總是產生相同的值。只有當應用於一個變量時,前綴和後綴纔是相同的。如果把++和- -與其他變量和表達式組合起來,前綴和後綴的位置對於想要得到的結果來說至關重要。

●  不要在while的condition外的括號後面加上分號。如果加了分號,將會導致無限循環。

●  不要忘記for循環中的分號。

●  不要在某種沒用某種關係測試(如if或循環中)的情況下使用break或continue。

●  可以使用switch語句時,不要使用嵌套的if語句。Switch語句是更清晰的語句。

●  如果你不能肯定第1個字符數組可以存放合併後的字符串,就不要用strcat()來連接兩個字符串。

●  不要在puts()的字符串中加換行符,除非你想打印出一個空行。Puts()會自動在字符串末尾加上換行符。

●  在數組中,不要使用比所定義的更多的元素。

●  在初始化數組之前,不要使用它。

●  不要嘗試把一種數據類型的指針指向另一種數據類型的變量。

●  無需知道c語言爲變量分配的準確地址。你只需使用&,c語言會幫你處理其餘的事。

●  不要忘記在對指針取值時使用*,否則你將得到錯誤的值。

●  不要想一下子就掌握指針的精髓。只有再用c編程一段時間之後,你纔會完全的欣賞指針。此時,指針看起來沒有任何幫助,      你可能覺得唯一的好處就是知道了scanf()中&的真正意思。

●  不要用內置函數來填充字符型指針的位置,除非字符型指針初始設置爲指向一個很長的字符串。

●  不要總是依賴普通數組來存放數據。有時候,程序只是在短時間才需要的數據,這種情況下使用堆能更好的利用內存資源。

●  不要忘記在所有結構體定義的末尾加上分號。

●  不要在程序的中間定義全局變量。如果這樣做,會很難找到它們。

●  不要一開始就是用全局變量。


此文純手打,轉載請註明出處,謝謝!

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