天天看點

《C語言程式設計:問題與求解方法》——2.1節進階程式設計語言和編譯程式簡介

本節書摘來自華章社群《c語言程式設計:問題與求解方法》一書中的第2章,第2.1節進階程式設計語言和編譯程式簡介,作者:何 勤,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

2.1 進階程式設計語言和編譯程式簡介

計算機發明的早期,人們都是用一條條的指令來編寫機器語言程式的。各種指令的操作碼和書寫格式很難記憶;而且程式一旦出現錯誤,将很難從0和1組成的海洋中查找出這些錯誤。此外,為一種類型的計算機編寫的程式很難移植到另一台不同類型的計算機上運作。

一條指令所能夠做的事微不足道。這就意味着:用機器語言來編寫程式的程式員,必須将他的整體程式設計思路細化、分解,直到成為計算機能夠執行的、微觀的、一條條的指令為止。這使得用機器語言來編寫大型程式變得極其困難。

人們能否使用一種宏觀的、與具體計算機類型無關的、人類比較易于掌握和了解的由“字元”序列組成的“程式”,來具體“指導”計算機自動生成機器語言程式,變成一件極為重要和迫切的任務。進階程式設計語言在這種迫切的需求下誕生了。

進階程式設計語言是一種人們比較容易掌握的、無二義性的、“将代數式和英語符号組合在一起的獨立于機器的程式設計語言”,本書後面經常簡稱為進階語言或進階程式設計語言。

c語言、c++語言、java語言、c#語言、pascal語言和basic語言都屬于進階程式設計語言。據統計,使用進階語言程式設計比用低級語言程式設計的效率大約高出5~20倍。

所謂編譯程式,是一種由計算機專家編寫出來的機器語言程式,它可以把人們用某種進階語言編寫的程式(稱為源程式)翻譯加工成一個二進制機器語言程式。進階語言源程式是不能直接在計算機上運作的。

【問題】在不同類型計算機上運作的c語言編譯程式是否相同?從功能和形式兩方面考慮。

繼續閱讀