第 1 章 概覽
1.1C語言的起源
貝爾實驗室的Dennis M.Ritchie在1972年開發了C,它來自於Ken Thompson的B語言。
1.2使用C語言的理由
1.2.1設計特性
C是一種融合了控制特性的現代語言,其設計使得使用者可以自然地採用自頂而下、結構化的程式設計,以及模組化的設計。這種做法使得編出的程式更可靠、更易懂。
1.2.2高效性
C是一種高效地語言,C程式往往很緊湊且執行速度快。
1.2.3可移植性
C是一種可移植語言,在一個系統上編寫的C程式經過很少改動或不經修改就可以在其他系統上執行。
1.2.4強大的功能和靈活性
C強大而又靈活。
1.2.5面向程式設計人員
C面向程式設計人員的需要。它允許您訪問硬體,並可以操縱記憶體中的特定位;它具有豐富的運算子供選擇,讓您能夠簡潔地表達自己的意圖。
1.2.6缺點
C在表達方面的自由會增加風險。“自由的代價是永遠地警惕”
1.3C語言的發展方向
C的應用領域包括: 計算機語言、PC應用程式、電影特效製造、機器人工廠、嵌入式系統、UNIX作業系統等。
1.4計算機工作的基本原理
CPU的工作:從記憶體中獲取一個指令並執行該指令,然後從記憶體中獲取下一個指令執行。CPU有自己的工作區,該工作區由若干暫存器組成,每個暫存器可以儲存一個數。一個暫存器儲存下一條指令的記憶體地址,CPU使用該資訊獲取下一條指令。獲取一條指令後,CPU在另一個暫存器中儲存該指令並將第一個暫存器的值更新為下一條指令的地址。
1.5高階計算機語言和編譯器
高階語言(如C、Java、Pascal)都以更抽象的方式描述動作,並且沒有與特定的CPU或指令集相關聯。編譯器是將高階語言程式解釋成計算機所需的詳細機器語言指令集的程式。
1.6使用C語言的8個步驟
1.6.1定義程式目標
希望程式做什麼:考慮程式需要的資訊;程式需要進行的計算和操作,以及程式應該向您報告的資訊。
1.6.2設計程式
程式如何完成目標:使用者介面應該是什麼樣的,程式應該如何組織,目標使用者是誰,有多長時間來完成這個程式?
1.6.3編輯
建立和編輯C語言原始碼,檔案拓展名為.c。
1.6.4編譯
將原始碼轉換成機器語言,在編譯過程中檢測及報告程式碼中的錯誤。編譯器的輸出稱為目的碼,存放目的碼的檔案稱為目標檔案,檔案拓展名為.obj。目標檔案只包含原始碼轉換成的機器語言。
1.6.5連結
連結器將把編譯器從原始碼檔案生成的各個模組聯合起來,加上C語言提供的程式庫中的程式碼模組,把所有程式碼連線成一個可執行檔案,檔案拓展名為.exe。可執行檔案包含目的碼和您所使用的庫例程以及啟動程式碼的機器程式碼。
1.6.6執行程式
執行.exe程式檔案。
1.6.7測試和除錯程式
除錯(Debugging)就是要發現並改正程式錯誤。
1.6.8維護和修改程式
對程式進行更改,優化等。
1.6.9總結
編寫程式碼前先進行規劃:使用筆記來大略記下程式的目標,並勾勒出設計概貌。