編譯程式和解釋程式均能產生目標程式嗎

2021-05-04 20:28:21 字數 4994 閱讀 8583

1樓:匿名使用者

解釋程式 是不生成目標程式的。 例如指令碼語言。

編譯程式和解釋程式的區別在於a.是否產生目標

2樓:home不知道

編譯程式和解釋程式的區別在於

a.是否產生目標程式

b.是否用於將高階語言源程式轉換成機器語言c.是否屬於語言處理程式

d.是否有視覺化的開發環境

正確答案:a

下面是關於解釋程式和編譯程式的敘述,正確的是()

3樓:匿名使用者

c、d解釋程式是一種語言處理程式,在詞法、語法和語義分析方面與編譯程式的工作原理基本相同,但在執行使用者程式時,它直接執行源程式或源程式的內部形式(中間**)。因此,解釋程式並不產生目標程式,這是它和編譯程式的主要區別。

解釋程式它逐條地取出源程式中的語句,邊解釋,邊執行。編譯的話就是隻要編譯一次,下次再執行就不用再解釋了。

4樓:魔高丈

選擇c和d。

a、解釋程式

所謂解釋程式是高階語言翻譯程式的一種,它將源語言(如basic)書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。這種工作方式非常適合於人通過終端裝置與計算機會話,如在終端上打一條命令或語句,解釋程式就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。

這的確是很方便的,很適合於一些小型機的計算問題。但解釋程式執行速度很慢,例如源程式中出現迴圈,則解釋程式也重複地解釋並提交執行這一組語句,這就造成很大浪費。

b、編譯程式

這是一類很重要的語言處理程式,它把高階語言(如fortran、cobol、pascal、c等)源程式作為輸入,進行翻譯轉換,產生出機器語言的目標程式,然後再讓計算機去執行這個目標程式,得到計算結果。

編譯程式工作時,先分析,後綜合,從而得到目標程式。所謂分析,是指詞法分析和語法分析;所謂綜合是指**優化,儲存分配和**生成。為了完成這些分析綜合任務,編譯程式採用對源程式進行多次掃描的辦法,每次掃描集中完成一項或幾項任務,也有一項任務分散到幾次掃描去完成的。

下面舉一個四遍掃描的例子:第一遍掃描做詞法分析;第二遍掃描做語法分析;第三遍掃描做**優化和儲存分配;第四遍掃描做**生成。

值得一提的是,大多數的編譯程式直接產生機器語言的目標**,形成可執行的目標檔案,但也有的編譯程式則先產生組合語言一級的符號**檔案,然後再呼叫匯程式設計序進行翻譯加工處理,最後產生可執行的機器語言目標檔案。

在實際應用中,對於需要經常使用的有大量計算的大型題目,採用招待速度較快的編譯型的高階語言較好,雖然編譯過程本身較為複雜,但一旦形成目標檔案,以後可多次使用。相反,對於小型題目或計算簡單不太費機時的題目,則多選用解釋型的會話式高階語言,如basic,這樣可以大大縮短程式設計及除錯的時間。

5樓:匿名使用者

d.解釋程式對源程式的語句是翻譯一條執行一條

6樓:匿名使用者

選a,解釋與編譯本身是一個步驟,執行是下個步驟。

編譯程式和解釋程式有何區別?

7樓:之何勿思

編譯程式能生成目標程式,而解釋程式不能。

補充:1、編譯程式是整體編譯完了,再一次性執行。

2、而解釋程式是一邊解釋,一邊執行。 解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。

3、編譯器是把源程式的每一條語句都編譯成機器語言,並儲存成二進位制檔案,這樣執行時計算機可以直接以機器語言來執行此程式,速度很快。

4、而直譯器則是隻在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以執行速度是不如編譯後的程式執行的快的。這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進位制的形式)

8樓:貿富貴班香

說一句翻一句。就像外語翻譯中的「口譯」一樣。

而解釋程式是一邊解釋,並不形成目標程式,再一次性執行。

解釋一句後就提交計算機執行一句,一邊執行編譯程式是整體編譯完了,不產生全文的翻譯文字

9樓:冀秀英永裳

計算機並不能直接地接受和執行用高階語言編寫的源程式,源程式在輸入計算機時,通過"翻譯程式"翻譯成機器語言形式的目標程式,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。編譯方式是指利用事先編好的一個稱為編譯程式的機器語言程式,作為系統軟體存放在計算機內,當使用者將高階語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目標程式,然後計算機再執行該目標程式,以完成源程式要處理的運算並取得結果。

解釋方式是指源程式進入計算機後,解釋程式邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程式。如pascal、fortran、cobol等高階語言執行編譯方式;basic語言則以執行解釋方式為主;而pascal、c語言是能書寫編譯程式的高階程式設計語言。

編譯程式、解釋程式、彙編程式是3種語言處理程式。其區別主要為:彙編程式(為低階服務)是將組合語言書寫的源程式翻譯成由機器指令和其他資訊組成的目標程式。

解釋程式(為高階服務)直接執行源程式或源程式的內部形式,一般是讀一句源程式,翻譯一句,執行一句,不產生目標**,如basic解釋程式。編譯程式(為高階服務)是將高階語言書寫的源程式翻譯成與之等價的低階語言的目標程式。編譯程式與解釋程式最大的區別之一在於前者生成目標**,而後者不生成;此外,前者產生的目標**的執行速度比解釋程式的執行速度要快;後者人機互動好,適於初學者使用。

用cobol、fortran等語言編寫的程式考慮到執行速度一般都是編譯執行。

10樓:匿名使用者

編譯程式就是把用高階語言編寫的程序導向的源程式翻譯成目標程式的語言處理程式。簡單說就是翻譯成計算機能識別的2進位制。

解釋程式由一個總控程式和若干個執行子程式組成。解釋程式的工作過程如下:首先,由總控程式執行初始準備工作,置工作初態;然後,從源程式中取一個語句s,並進行語法檢查。

如果語法有錯,則輸出錯誤資訊;否則,根據所確定的語句型別轉去執行相應的執行子程式。返回後檢查解釋工作是否完成,如果未完成,則繼續解釋下一語句;否則,進行必要的善後處理工作。

解釋執行方式與編譯執行方式是不同的,其根本區別在於:編譯方式把源程式的執行過程嚴格地分成兩大步:編譯和執行。

即先把源程式全部翻譯成目標**,然後再執行此目標**,獲執行結果。解釋方式則不然。它是按照源程式中語句的動態順序,直接地逐句進行分析解釋,並立即執行。

所以,解釋程式是這樣一種程式,它能夠按照源程式中語句的動態順序,逐句地分析解釋並執行,直至源程式結束。

與編譯程式一樣,解釋程式也與源語言及計算機有關。同一臺計算機上不同語言的解釋程式是不同的;同一種語言在不同的計算機上的解釋程式也可能不同。同一種高階語言的源程式,它可以採用解釋執行方式,也可以採用編譯執行方式。

例如,basic語言有解釋basic和編譯basic之分。前者執行速度慢;後者執行速度快。編譯程式和解釋程式都屬於系統程式。

所以都是在做處理。

11樓:匿名使用者

編譯程式將源程式翻譯成目標程式,而解釋程式是逐條解釋執行源程式語句

12樓:益堂允玉韻

編譯程式是整體編譯完了,再一次性執行。

而解釋程式是一邊解釋,一邊執行。

解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。

13樓:市苗伍昂然

首先,我們編寫的bai

程式現在一du般都是用

高階語言

編寫的zhi,如c/c++

以及面dao向物件的visual

系列;我們編內寫的程式

計算機是不能容直接執行的,因為計算機只能執行二進位制程式.因此要經過一個將我們寫的

**翻譯成二進位制的過程.

完成這個過程一般有兩種

方式:1.解釋方式

2.編譯方式

1.解釋方式是每執行一句就翻譯一句即邊執行邊解釋.這種方式每次執行程式時都要重新翻譯整個程式,

效率較低,執行速度慢,如qb,不過現在幾乎沒有人再用這種低效的方式的

設計語言

了.2.

編譯方式

是在程式第一次執行前就先執一個全部的翻譯過程,然後每次執行的時候就可以直接執行這個翻譯好的

二進位制檔案

了,這樣的程式只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net

採用的也是這種方式.

編譯和解釋程式都是什麼

14樓:匿名使用者

編譯(compilation , compile)

1、利用編譯程式從源語言編寫的源程式產生目標程式的過程。

2、用編譯程式產生目標程式的動作。 編譯就是把高階語言變成計算機可以識別的2進位制語言,計算機只認識1和0,編譯程式把人們熟悉的語言換成2進位制的。 編譯程式把一個源程式翻譯成目標程式的工作過程分為五個階段:

詞法分析;語法分析;語義檢查和中間**生成;**優化;目標**生成。主要是進行詞法分析和語法分析,又稱為源程式分析,分析過程中發現有語法錯誤,給出提示資訊。

解釋執行

1.解釋執行不依賴於平臺,因為編譯器會根據不同的平臺進行解析。例如js語言無論在windows平臺還是在unix平臺都可以使用。故可移植性強.

2.使用解釋執行的程式我們一般稱為解釋程式。它將源語言直接作為源程式輸入,解釋執行解釋一句後就提交計算機執行一句,並不形成目標程式。如在終端上打一條

命令或語句,解釋程式就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。這種工

作方式非常適合於人通過終端裝置與計算機會話.

直接點吧,編譯執行就是先將程式翻譯成機器**,以後執行的都是機器**.解釋執行就是,**跟著走,每執行一次,編譯一次.解釋執行也分為兩種,一種是執行一句,編譯一句,一種是編譯完全部**,再執行.

編譯程式時出現錯誤欄位isrtasklet的型別不

include include int jc int m int c int m,int n int main void 編譯程式和解釋程式有何區別 編譯程式能生成目標程式,而解釋程式不能。補充 1 編譯程式是整體編譯完了,再一次性執行。2 而解釋程式是一邊解釋,一邊執行。解釋一句後就提交計算機執行...

程式名詞解釋,管理學名詞解釋 程式

1 計算機程式是一組計算機能識別和執行的指令,執行於電子計算機上,滿足人們某種需求的資訊化工具。2 在國標 質量管理體系 基礎和術語 中對於 程式 的定義是 一個環節,內部巢狀著一系列複雜的列邏輯慎密的一個元件,如若一個地方出問題則會影響到整個主體 可以理解為事務 3 在中華人民共和國國家標準 質量...

用java編譯程式從鍵盤上任意輸入整數然後輸出該數的平

include void main 運 況 3 3 3 9 請按任意回鍵繼續 答.include int main void include double square double x void main 編寫一個程式,從鍵盤上輸入一個整數,並輸出這個整數的絕對值。include int main...