本節書摘來自異步社群《c primer plus(第6版)中文版》一書中的第2章,第2.9節,作者 傅道坤,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
程式設計是一件富有挑戰性的事情。程式員要具備抽象和邏輯的思維,并謹慎地處理細節問題(編譯器會強迫你注意細節問題)。平時和朋友交流時,可能用錯幾個單詞,犯一兩個文法錯誤,或者說幾句不完整的句子,但是對方能明白你想說什麼。而編譯器不允許這樣,對它而言,幾乎正确仍然是錯誤。
編譯器不會在下面講到的概念性問題上幫助你。是以,本書在這一章中介紹一些關鍵概念幫助讀者彌補這部分的内容。
在本章中,讀者的目标應該是了解什麼是c程式。可以把程式看作是你希望計算機如何完成任務的描述。編譯器負責處理一些細節工作,例如把你要計算機完成的任務轉換成底層的機器語言(如果從量化方面來解釋編譯器所做的工作,它可以把1kb的源檔案建立成60kb的可執行檔案;即使是一個很簡單的c程式也要用大量的機器語言來表示)。由于編譯器不具有真正的智能,是以你必須用編譯器能了解的術語表達你的意圖,這些術語就是c語言标準規定的形式規則(盡管有些限制,但總比直接用機器語言友善得多)。
編譯器希望接收到特定格式的指令,我們在本章已經介紹過。作為程式員的任務是,在符合c标準的編譯器架構中,表達你希望程式應該如何完成任務的想法。