計算機語言

2021-07-28 20:12:27 字數 2398 閱讀 3186

計算機語言

計算機語言

(也稱為程式語言

)是用來書寫程式的語言

,是人命令計算機完成工作

的工具。每一種語言都規定了一組有確定含義的符號和一組規則。根據規則構成的符號串

的總體就是語言。計算機語言分為機器語言、組合語言、高階語言和***語言。

機器語言是機器指令的集合。直接採用機器語言來書寫程式是一件非常繁瑣而枯燥的工作,

而且容錯出錯

。用各種字母組合或單詞縮寫代替相應的機器指令更便於程式設計,

於是產生了組合語言

,它是符號化的機器語言。例如在以

intel 8086/8088

為cpu

的計算機中,

把整數1

存入暫存器

ax的操作

,機器指令是

101110000000000100000000

,而用彙編

指令寫出來則是

mov ax,1

。顯然,組合語言比機器語言更直觀和容易記憶,它用

mov表示「

傳送」,

用add表示「

相加」。當然

,計算機不能直接按照這類符號執行相應的操作

,而需要把它們翻譯成

相應的機器指令。

這個翻譯工作被交給乙個被稱為「

匯程式設計序」

的翻譯程式來完成。被翻

譯的組合語言程式稱為源程式

,由匯程式設計序翻譯出的程式稱為目標程式

,而翻譯的過程則

稱為彙編。源程式經過彙編得到的目標**較短

,幾乎沒有多餘的指令,程式的

執行效率較高,

但使用的符號繁多,編寫程式繁瑣、費時、容易出錯

,難以維護。圖

2.1表示了彙編

的過程。

圖2.1 

彙編和匯程式設計序

由於組合語言和機器語言都依賴於具體的機器

,非專業人員使用很困難

。直到產生

高階語言以後,程式設計才逐漸大眾化。高階語言的表示方法更接近數學方法和自然語言。

源程式目標

程式匯程式設計序

c語言與程式設計·12

·例如讓機器完成求和操作

,並把結果存放到變數c中,

用高階語言寫作

c=a+b

。用高階語言

書寫的程式

,不用修改或只作少量修改

,就可適用於各種不同的機器。同樣的道理,機器

也不能識別高階語言的語句

,它也必須經過翻譯。一般一條高階語言的語句要翻譯成一組

機器指令。這裡承擔翻譯工作的程式被稱為「

編譯程式」

,被翻譯的高階語言程式稱為源程式,

翻譯的結果是一系列機器指令,稱為目標程式。圖

2.2表示了編譯的過程。

圖2.2 

編譯和編譯程式

早期的源程式規模較小

,編譯系統能直接產生機器可以執行的目標程式。隨著程式規

模的不斷擴大

,出現了將程式按結構分段

,交由多人分別進行設計和編譯的方法。這種方

法不僅生成各段程式的目標模組

,還產生連線裝配這些模組的有關資訊。另外,

一些經常使用、能夠完成一定功能的規範化程式段被集中起來存放在「

程式庫」中,

當設計人員需要用到某種功能時

,可直接使用相應的程式段

,而不必重複設計這些代

碼。這就需要用到「

連線程式」

,它能把多個分別編譯得到的目標程式

,以及程式中用到

的程式庫中的**

,裝配成乙個完整的可執行程式。因此,

乙個包括多個程式檔案的大專案

,通常要對這些程式檔案分別進行編譯,然後

把這些分別編譯產生的目標檔案和系統的程式庫進行連線

,才能最終裝配成乙個可執行程

序。圖2.3

表示了連線的過程。

源程式1

源程式2

源程式n

目標程式

1目標程式

2目標程式

n連線程式

„„„„

„„可執行程式

系統程式庫

編譯程式

編譯程式

編譯程式

圖2.3 

連線和連線程式

一般說來

,高階語言程式經過

編譯得到的目標**較為冗長

,執行程式的時間較長,

效率較低。儘管如此

,由於高階語言與自然語言和數學語言較為接近

,容易被人理解,因

而得到了廣泛的應用。目前已經出現了數百甚至上千種高階語言

,它們的語法規則各不相同,

應用範圍也不盡相同。

源程式目標

程式編譯程式

廣大程式設計師歡迎

計算機語言

早期的程式設計均使用機器語言。程式設計師們將用0,1數字編成的程式 打在紙帶或卡片上,1打孔,0不打孔,再將程式通過紙帶機或卡片機輸入計算機,進行運算。這樣的機器語言由純粹的0和1構成,十分複雜,不方便閱讀和修改,也容易產生錯誤。程式設計師們很快就發現了使用機器語言帶來的麻煩,它們難於辨別和記憶,給...

計算機語言

用二進位制 0和1描述的指令 低階語言 優點 速度最快 缺點 最複雜,開發效率最低。組合語言的實質和機器語言是相同的,都是直接對硬體操作吧指令換成了英文縮寫。優點 速度最快 缺點 最複雜,開發效率最低。高階語言在開發效率上大大提高 高階語言編制的程式不能直接被計算機識別,必須經過轉換才能被執行。優點...

計算機語言啊

1 感情不像鍊錶,刪掉誰,頭尾指標賦個值又完好如初。它像堆疊,從棧頂慢慢清理,丟掉不想要的,再慢慢壓回去。2 鋤禾日當午,不如coding苦,對著c 一調一下午 鋤禾日當午,不如coding苦,調了一下午,bug還得補 鋤禾日當午,不如coding苦,bug剛補完,結構需重組 鋤禾日當午,哪有cod...