什么是編程語(yǔ)言

2023-03-20 15:43 更新

我們要學(xué)習(xí)的編程語(yǔ)言是C++,因?yàn)樽?998年起大學(xué)先修課程考試就基于C++語(yǔ)言了。之前的考試用的是Pascal語(yǔ)言。C++和Pascal都是高級(jí)語(yǔ)言,你或許也聽(tīng)說(shuō)過(guò)Java、C和FORTRAN等其他高級(jí)語(yǔ)言吧。

從“高級(jí)語(yǔ)言”這個(gè)名字可以推斷,應(yīng)該同樣存在低級(jí)語(yǔ)言,低級(jí)語(yǔ)言一般也稱為機(jī)器語(yǔ)言或匯編語(yǔ)言。不嚴(yán)格地講,計(jì)算機(jī)只能執(zhí)行低級(jí)語(yǔ)言編寫(xiě)的程序。正因如此,高級(jí)語(yǔ)言編寫(xiě)的程序需要經(jīng)過(guò)翻譯才能運(yùn)行。翻譯也要消耗時(shí)間,這是高級(jí)語(yǔ)言的一個(gè)小缺點(diǎn)。

但高級(jí)語(yǔ)言的優(yōu)勢(shì)是巨大的。首先,使用高級(jí)語(yǔ)言編程要容易得多,“容易”意味著編程時(shí)間更少,代碼更簡(jiǎn)短易讀,出錯(cuò)的可能性更小。其次,高級(jí)語(yǔ)言是可移植的,也就是說(shuō)程序只需要很小的改動(dòng)甚至不需要改動(dòng)就可以在各類機(jī)器上運(yùn)行。而低級(jí)語(yǔ)言編寫(xiě)的程序只能在某一種機(jī)器上運(yùn)行,必須重寫(xiě)才能支持其他類型的機(jī)器。

正因?yàn)檫@些優(yōu)點(diǎn),幾乎所有的程序都是用高級(jí)語(yǔ)言編寫(xiě)的,低級(jí)語(yǔ)言僅用于一些特殊的應(yīng)用場(chǎng)合。

有兩種翻譯程序的方式:解釋編譯。解釋器讀取高級(jí)語(yǔ)言程序并執(zhí)行程序語(yǔ)句。實(shí)際上,解釋器采用的是逐行翻譯的方式,每讀一行就執(zhí)行該行,然后讀取下一行,交替進(jìn)行。 enter image description here

編譯器讀取高級(jí)語(yǔ)言程序,并在執(zhí)行程序命令之前全部翻譯好。通常,對(duì)程序進(jìn)行編譯是獨(dú)立的一步,之后才能執(zhí)行編譯好的代碼。在這種情況下,高級(jí)語(yǔ)言程序稱為源代碼,而翻譯后的程序稱為目標(biāo)代碼可執(zhí)行程序

比如使用C++編程序時(shí),你可以使用文本編輯器編寫(xiě)代碼(文本編輯器是一個(gè)簡(jiǎn)單的字處理器),寫(xiě)好之后,將它保存在一個(gè)名為program.cpp的文件中,其中“program”可以是你起的任意名字,而“.cpp”是約定的C++源代碼文件后綴。

然后,你可以離開(kāi)文本編輯器并運(yùn)行編譯器(具體情況取決于你的編程環(huán)境)。編譯器讀入源代碼,翻譯之后,會(huì)創(chuàng)建一個(gè)名為program.o的目標(biāo)代碼文件,或者名為program.exe的可執(zhí)行文件。 enter image description here

編譯完成之后,下一步就是執(zhí)行程序,執(zhí)行需要某種執(zhí)行器。執(zhí)行器負(fù)責(zé)加載程序(把程序從磁盤復(fù)制到內(nèi)存)并讓計(jì)算機(jī)啟動(dòng)執(zhí)行程序。

這個(gè)過(guò)程可能看起來(lái)很復(fù)雜,但不必?fù)?dān)心,大多數(shù)編程環(huán)境(有時(shí)也稱作開(kāi)發(fā)環(huán)境)已經(jīng)將這些步驟自動(dòng)化了。一般而言,你需要做的就是編寫(xiě)代碼,然后敲一個(gè)命令就能編譯和運(yùn)行程序。另一方面,理解這個(gè)過(guò)程背后的步驟是有意義的,出錯(cuò)的時(shí)候你能更好地找出問(wèn)題所在。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)