官术网_书友最值得收藏!

1.3.3 機器語言與高級語言

1.機器語言

機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬件結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點。

一條指令就是機器語言的一個語句,它是一組有意義的二進制代碼,指令的基本格式如“操作碼字段和地址碼字段”,其中操作碼指明了指令的操作性質及功能,地址碼則給出了操作數或操作數的地址。

用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的含義。編程時,程序員得自己處理每條指令和每一數據的存儲分配和輸入、輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分煩瑣的工作。編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是0和1的指令代碼,直觀性差,還容易出錯。除了計算機生產廠家的專業人員外,絕大多數的程序員已經不再去學習機器語言了。

2.高級語言

根據程序設計語言與計算機硬件的聯系程度將其分為兩類:低級語言和高級語言。低級語言主要是機器語言和匯編語言。它的特點是與特定的機器有關,功效高,但使用復雜,難記憶,難書寫,編程困難,可讀性差,易出差錯,可移植性極差。低級語言程序過度地依賴某種特定的機器或環境。

高級語言的表示方法要比低級語言更接近于待解問題的表示方法,大量引入數學表示形式,其特點是與具體機器無關,易學、易用、易維護、易移植。但計算機不能直接執行,需要翻譯工具。一般說來,當高級語言程序翻譯成相應的低級語言程序時,一個高級語言程序單位要對應多條機器指令,相應的編譯程序所產生的目標程序往往功效較低。由于各種程序設計語言均有基于不同平臺的編譯或解釋系統,將“高級語言”編譯成不同的機器語言,而不是直接被機器執行。因此“高級語言”程序不再過度地依賴某種特定的機器或環境,且方便人們表述。從應用特點和對客觀系統的描述兩個方面可以對高級語言進一步分類。

從應用角度來看,高級語言可以分為基礎語言、結構化語言和專用語言。

(1)基礎語言也稱通用語言。屬于這類語言的有FORTRAN、Cobol、BASIC、Algol等。

(2)結構化語言是直接支持結構化控制結構,具有很強的過程結構和數據結構能力的高級語言。其中具有代表性的有Pascal、C、Ada語言等。

(3)專用語言是為某種特殊應用而專門設計的語言,通常具有特殊的語法形式。該類語言的應用范圍狹窄,移植性和可維護性不如結構化程序設計語言。應用比較廣泛的有APL語言、Forth語言、LISP語言等。

從描述客觀系統來看,高級語言可以分為面向過程語言和面向對象語言。

(1)面向過程語言是以“數據結構+算法”程序設計范式構成的程序設計語言。

(2)面向對象語言是以“對象+消息”程序設計范式構成的程序設計語言。比較流行的面向對象語言有Delphi、Visual Basic、Java、C++等。

主站蜘蛛池模板: 泸西县| 水城县| 土默特右旗| 靖边县| 永和县| 甘洛县| 长海县| 长汀县| 错那县| 廊坊市| 磐石市| 齐河县| 独山县| 同仁县| 军事| 晋城| 宜黄县| 湖南省| 郸城县| 灌阳县| 武乡县| 宣威市| 蓬莱市| 阿鲁科尔沁旗| 阿拉尔市| 新龙县| 漳浦县| 汝阳县| 四子王旗| 抚远县| 措勤县| 仁寿县| 东乌珠穆沁旗| 河北省| 思南县| 霸州市| 湘阴县| 普兰店市| 平安县| 宁海县| 宿州市|