C陷阱與缺陷 讀書筆記1 詞法「陷阱」

2022-08-04 09:36:07 字數 670 閱讀 1443

第一章

一、知識點

1、術語「符號」(token)指的是程式的乙個基本組成單元。(p15)

2、除了字串與字元常量,符號的中間不能嵌有空白(空格符、製表符、換行符)。例如:下面的表示式:

a---b與表示式a -- - b的含義相同,而與a - -- b的含義不同。(p19)

3、在c語言中,用單引號引起的乙個字元實際上代表乙個整數,整數值對應於該字元在編譯器採用的字符集中的序列值。用雙引號引起的字串,代表的卻是乙個指向無名陣列起始字元的指標,該陣列被雙引號之間的字元以及乙個額外的二進位制值為零的字元『\0』初始化。(p21)

4、a+++++b唯一有意義的解釋是a++ + ++b,但它也有可能被理解為 a++ ++ + b,這等價於 ((a++)++) + b,不過這個理解是不正確的,因為a++的結果不能作為左值,因此編譯器不會接受a++作為後面的++運算子的運算元。(p136)

二、問題

1、計算並列印輸出10000以內的所有fibonacci數?

2、什麼叫巢狀注釋?

3、為什麼 n-->0的含義是n-- >0,而不是n- ->0?

答:根據「大嘴法」規則,在編譯器讀入》之前,就已經將--作為單個符號了。

C陷阱與缺陷 讀書筆記 1 詞法「陷阱」

c陷阱與缺陷 是由andrew koenig所著,高巍譯。andrew koenig是at t大規模程式研發部 前貝爾實驗室 成員,不僅有著多年的c 開發,研究和教學經驗,而且還親身參與了c 的演化和變革,對c 的變化和發展起到重要的影響。第一章 詞法陷阱 編譯器中負責將程式分解為乙個乙個符號的部分...

C缺陷與陷阱 詞法陷阱

從較低的層面考察,程式是由符號 token 序列組成的,將程式分解成符號的過程,稱為詞法分析。這節主要分析在程式被詞法分析器分解成各個符號的過程中可能出現的問題。編譯器中負責將程式分解成乙個乙個符號的部分,一般稱之為詞法分析器。c語言中符號之間的空白 包括空格符,製表符和換行符 將被忽略。術語符號 ...

《C缺陷與陷阱》讀書筆記

一 為什麼很多程式設計規範上要求單字元符號兩邊用空格隔開呢?如 a 2 最好不要寫成 a 2 在 c陷阱與缺陷 中詞法陷阱部分講到 如y x p,原本想表達的意思是p指標指向除數,但實際編譯過程中,編譯器會將 理解為一段注釋的開始,編譯器將不斷地讀入字元,直到 出現為止 這一錯誤也在 c專家程式設計...