A. 編譯型語言和解釋語言的區別是什麼
1.編譯型語言在程序執行之前,有一個單獨的編譯過程,將程序翻譯成機器語言,以後執行這個程序的時候,就不用再進行翻譯了。
2.解釋型語言,是在運行的時候將程序翻譯成機器語言,所以運行速度相對於編譯型語言要慢。
3.C/C++ 等都是編譯型語言,而java,C#等都是解釋型語言。
4.雖然Java程序在運行之前也有一個編譯過程,但是並不是將程序編譯成機器語言,而是將它編譯成位元組碼(可以理解為一個中間語言)。
在運行的時候,由JVM將位元組碼再翻譯成機器語言。
5.腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。
B. C語言指什麼語言與英語有何區別
basic語言是解釋型的語言,而c語言是編譯型的語言。什麼意思呢,就是你編寫的basic語言程序運行的時候需要一個解釋器將高級語言代碼轉為機器碼然後才可以執行。c語言程序一般經過編譯和聯接後直接生成目標代碼。目標代碼本身就是機器碼所以可以直接運行。
從語法來看,c語言是面向過程的語言。basic語言嚴格意義上只是一個腳本語言,語法相對來講非常簡單。
另外,c語言是最接近匯編語言的一種語言,功能非常強大,但是要求開發人員對硬體,操作系統等底層的東西要有很深的了解,開發程序相對來講麻煩一些,但是程序性能非常好。basic語言相封裝了很多底層的東西,所以不要求開發人員有很深的計算機專業背景,開發簡單,但是不要指望用basic語言開發真正的商業程序。
由於以上的區別,造成這兩種語言的用途不一樣。basic語言常用來寫一些腳本,或者在真正開發之前作一個軟體模型。實際開發用c語言以確保運行速度和較小的內存需求等其他性能。
C. 請問C#是編譯型語言還是解釋型語言
c#是解釋型語言,不是編譯型語言。
只要不是"直接編譯成機器指令並直接運行機器指令執行檔"的編譯語言,就屬於解釋語言。
java,c#、vb.net等的源碼先編譯成位元組碼,再由虛擬機「解釋」執行位元組碼。
也屬於解釋語言,jit即時編譯的語言也屬於解釋語言。
D. c#是解釋型 還是 編譯型 語言
C#是解釋型語言,不是編譯型語言。
只要不是"直接編譯成機器指令並直接運行機器指令執行檔"的編譯語言,就屬於解釋語言。
Java,C#、VB.net等的源碼先編譯成位元組碼,再由虛擬機「解釋」執行位元組碼。
也屬於解釋語言,JIT即時編譯的語言也屬於解釋語言。
E. obiect c是解釋型語言還是編譯型語言
編譯性語言: 在運行前需要將源代碼轉換為可執行代碼的語言。 例如:C, C++, Java, C#。 解釋性語言: 運行前不需要編譯,可直接由運行器程序直接執行的編程語言。 例如:PHP, Bash。 腳本語言: 解釋性語言中,用於執行簡單任務的語言。
F. c語言是解釋型語言嗎
編程語言分為兩大類:1-編譯型語言;2-解釋型語言。之前我們講解過編譯型語言。現在就來講講解釋型語言
同學們可以繼續與翻譯進行類別,來理解「解釋型語言」。之前說過,編譯型語言是雇一個翻譯,將你寫的中文信全篇翻譯成英文,然後交給美國總統閱讀。而解釋型語言則不同,更像是「同聲傳譯」。
也就是說,解釋型語言使用一個翻譯站在你身邊,你寫出一句中文,它就直接翻譯成英文給對方閱讀。實際上,這個「翻譯」是一種虛擬機。所謂虛擬機,也是一種程序,它幫你隨時將編寫的源代碼翻譯成計算機可以理解的機器語言,讓計算機執行命令。而不需要產生中間的機器碼文件。比如,「BASIC」語言就是一種解釋型語言。
比如,你使用BASIC語言,想在屏幕上顯示文本「Hello」。那麼你可以先編寫源代碼文件,比如叫「hello.bas」,然後你可以直接將hello.bas文件送入虛擬機程序。然後虛擬機會直接幫你運行hello.bas(直接逐行解釋你的源代碼文件)。
解釋型語言最大的特點就是不創建中間文件。
解釋型語言的優點
對於不同的系統適應性較好,同樣的源代碼,可以直接運行在不同的系統(當然,前提是在不同系統上安裝好相應的虛擬機)。
解釋型語言的缺點
逐行解釋會導致程序運行速度不如編譯型語言快。可以想像下,你講中文時,說一句中文翻譯翻譯一句(解釋型語言)的速度,顯然比先把演講稿翻譯成全英文稿(編譯型語言)要慢很多。
解釋型語言舉例
屬於解釋型語言的有如下幾種:
Perl
JavaScript
VBScript
AppleScript
G. C/C++,Java,python誰是編譯型語言,誰是解釋型語言
總的來說,如今編譯型語言、解釋性語言的分界線不再那麼明顯,應該避免把語言簡單歸類為「編譯型」和「解釋型」。
我們最開始說C/C++是編譯型語言,原因是相對於Ruby這樣的解釋性語言,C/C++需要通過編譯器,把源代碼編譯成中間文件(.o和.obj),然後通過連接器和匯編器生成機器碼,即一系列基本操作序列,可以直接讓計算機執行。這些機器碼也就是我們通常的exe文件。
我們以Ruby為例談一下解釋型的語言,程序從源代碼到被計算機執行,也要經歷上述步驟。不同的地方在於,C/C++會把那些從源代碼「變」來的機器碼(即exe文件)保存起來,而Ruby直接將這些生成的基本操作序列(Ruby虛擬機)指令丟給Ruby虛擬機執行然後產生動作了。這就是我們所說的解釋型語言。
所以我們看到的現象是,編譯型語言要先編譯再運行,而解釋性語言直接「運行」源代碼。
回到最開始的問題,如果以是「否保存機器碼為exe文件」為區分,那麼Java和Python都屬於解釋型語言。
但具體來講,Java和Python是有很大不同的。Java代碼從源程序到執行,要經過的過程是:編譯器(javac)把源代碼轉化為位元組碼,然後解釋器(Java.exe)把位元組碼轉換為計算機理解的機器碼來執行,其過程中沒有把「機器碼保存為exe」的行為(這樣講也不完全准確,下面會講到)。其中編譯器和解釋器都是Java虛擬機(JVM)的一部分,由於針對不同的硬體與OS,Java解釋器有所不同,因此可以實現「一次編譯、到處執行」。所以JVM是Java跨平台特性的關鍵所在。
Java虛擬機(JVM)一種用於計算機設備的規范,可用不同的方式(軟體或硬體)加以實現。編譯虛擬機的指令集與編譯微處理器的指令集非常類似。Java虛擬機包括一套位元組碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域
對於Python,其源代碼到執行也要經過如下過程:源代碼--->位元組碼--->機器碼。跟Java相同的是,其過程中也沒有把「機器碼保存為exe」的行為。與Java不同的是,Python使用的虛擬機是基於其他語言實現的,比如我們一般使用的Python實際為Cpython,也就是其虛擬機由C實現,這個虛擬機負責把Python源碼編譯為位元組碼,再解釋執行。另外,還有Jypython、Ironpython等。
H. C語言是編譯性語言還是解釋性語言
C語言是編譯性語言
I. c語言是編譯型語言嗎
當然!
c程序,編譯後才能運行
J. 編譯型語言和解釋型語言各自的優缺點是什麼
一、編譯型語言
優點:運行速度快,代碼效率高,編譯後的程序不可修改,保密性較好。
缺點:代碼需要經過編譯方可運行,可移植性差,只能在兼容的操作系統上運行 。
二、解釋型語言
優點:可移植性較好,只要有解釋環境,可在不同的操作系統上運行。
缺點:運行需要解釋環境,運行起來比編譯的要慢,佔用資源也要多一些,代碼效率低,代碼修改後就可運行,不需要編譯過程。
(10)c是解釋型語言還是編譯型擴展閱讀:
編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成 為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等。而相對的,解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發布程序時,看起來省了道編譯工序。但是在運行程序的時候,解釋性語言必須先解釋再運行。