C語言是解釋類還是編譯類的語言?什麼是解釋類語言,編譯類語言

時間 2022-02-13 12:10:02

1樓:育知同創教育

它既不屬於傳統的編譯型語言也不屬於解釋型語言.

它是先編譯成.class位元組碼檔案,然後再利用虛擬機器解釋執行的.可以說先編譯後解釋吧.

2樓:肖修市鴻暉

於常見的解釋執行語言不同,它既是編譯型也是解釋型:編譯就是把原始檔編譯成.class檔案,解釋就是虛擬機器通過解釋.class檔案完成對.class檔案的執行。

請問c語言,j**a之類的語言編譯程式是屬於 系統軟體 還是 應用軟體??

3樓:三水絲尋

是系統軟體。用程式設計語言編寫的源程式,必須經過翻譯(編譯或者解釋、彙編)才能夠被計算機執行,這些翻譯程式就是語言處理程式,為把源程式翻譯成機器可執行的二進位制語言服務。題說的應用軟體指程式設計軟體,不是編譯程式

4樓:匿名使用者

屬於系統軟體,不是應用軟體,答題得出來的

5樓:躲廁所裡鬥蛆

我是這麼理解的。 系統軟體就是windows必須用的,不用不行。 應用軟體是可有可無的。

6樓:匿名使用者

計算機的軟體分為系統軟體和應用軟體。系統軟體是為了計算機能正常、高效工件所配備的各種管理、監控和維護系統的程式及其有關資料。系統軟體主要包括如下幾個方面:

(1) 作業系統軟體,這是軟體的核心

(2) 各種語言的解釋程式和編譯程式(如basic語言解釋程式等)(3) 各種服務性程式(如機器的除錯、故障檢查和診斷程式等)(4) 各種資料庫管理系統(foxpro等)

7樓:棠梨煎餃

語言編譯程式都是系統軟體

c語言和組合語言的區別是什麼?

8樓:哇哎西西

區別如下:

1、效率不同

彙編效率高,c語言效率比較低。

2、對硬體的可操控性不同

彙編對硬體的可操控性強,c語言硬體可操控性比較差。

3、**體積大小不同

彙編目標**體積小,c語言目標**體積大。

4、維護性不同

彙編不易維護,c語言容易維護。

5、可移植性不同

彙編可移植性很差,c語言可移植性很好。

9樓:哇哎西西

1、兩者編譯組成不同。組合語言是將由0、1組成的機器語言用具有簡單語義的英文**表示,而c語言不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆疊、暫存器等。

2、兩者被計算機識別的路徑不同。組合語言通常用於對硬體的直接操控。而且c語言所編制的程式不能直接被計算機識別,必須經過轉換才能被執行。

3、兩者用處不同。組合語言通常用在程式中最核心的、控制硬體的**,一方面是安全,另一方面提高執行速度。而c語言通常用在計算機外用功能上。

10樓:會飛的小兔子

1、操作複雜程度的不同

c語言,與組合語言相比,c語言在更加接近人的一般思維,因此在程式的設計過程中比較容易操作,此外在進行一些複雜的操作,運算時,c語言比彙編就要簡單很多,尤其是c語言中的豐富的函式庫,可以直接實現一些原本很複雜的功能,並且從**量來說任意一個c語言程式,通過反彙編之後變成組合語言程式,其長度都可能要增加好幾倍。

2、使用範圍的不同

c語言程式的事件將會只是編寫組合語言程式的幾分之一,從編寫程式的效率上來說c語言無疑更高,此外c語言是高階程式語言因此可移植性較好,不太受到到硬體裝置的限制。

在實現一個功能時,組合語言可以直接奔著目標去,而c語言則是給你提供了一種對於對於這種問題的普遍處理辦法,不具有針對性,因此會有許多多餘的在這個問題中不需要的過程,因此可能回事程式較大,執行較慢。相對與組合語言,c語言更加適合一些較大型專案的開發。

3、執行的速度和效率不同

程式沒有了組合語言計算機直接就無法執行,因為組合語言是基於計算機底層硬體的程式設計,通過它實現了對cpu,記憶體,硬碟以及外界裝置的直接操作,因為直接所以組合語言在程式的大小,執行的速度與效率方面幾乎無可比擬,但是也是因為直接,所以彙編程式難以移植,且完成相同的操作**量太大,在進行一些大的專案是,單獨使用匯編進行程式設計幾乎不可能實現。

11樓:雄鷹耀

c語言和組合語言的指令集、定址方式不同,相當於兩個機器各有各的操作方式。第一、

組合語言是低階語言,在編寫程式的時候會把根據不同的情況指定使用不同的定址方式,能夠對記憶體和cpu裡的通用暫存器直接操縱。不同的計算機系列會有不同的組合語言;而c語言是高階語言,可以實現跨平臺。編寫程式無需指定cpu的指令執**況,一段程式可以在不同體系結構的計算機上使用。

第二、c語言是一種比較高階的語言,作者可以直接命令計算機在不考慮硬體的情況下實現這種控制效果。組合語言是語言對硬體的直接控制,硬體間接實現了一定的控制效果。換句話說,組合語言更關注描述過程,而高階語言(比如c)更側重於描述結果。

第三、例如,組合語言中變數的賦值語句是mov a b,可以解釋為將暫存器中的值複製到b暫存器。在c語言中,b=a直接表示,這被解釋為使b=一個由柵極電路組成的晶片。有一個斷點,對應於計算機**中的二進位制1或0。

第四、如果您有一個直接的人機對話,您只能輸入包含0和1的**來進行通訊。這段**太長,很難記住。因此人們想出了一種相互協議的方式,人們可以很容易地閱讀特定的方式來表達特定的計算機**,然後翻譯成計算機可以直接讀取二進位制**的表示式。

這樣一組方便的表示式被稱為計算機語言。

12樓:匿名使用者

組合語言屬低階語言,而c語言是高階語言,所謂高階語言就是更容易被人們理解的語言,其實組合語言能實現的功能往往也能通過c語言來實現,甚至用c語言會更簡單,但是組合語言有一個優勢是其他任何語言所不具備的,這也是為什麼組合語言一直能在程式設計中佔有一席之地,那就是組合語言對硬體的直接控制,也就是說他能直接對硬體操作,可以繞過作業系統等等之類。雖然有的領域其他程式設計也能實現,但是在很多地方往往是組合語言能更加簡單,更加完美的完成。而且學好了組合語言你就能對cpu是怎麼工作的有了清晰的認識,所以學計算機專業的一般都會學組合語言。

13樓:啦啦啦額

組合語言與c語言的區別:

1、在組合語言中,為一個處理器編寫的程式不能在另一種型別的處理器上執行。在c語言程式中,程式獨立於處理器型別執行。

2、組合語言**的效能和準確性優於c**。

3、c語言必須提供額外的指令來在計算機上執行**。

4、組合語言**比c**難以理解和除錯。

5、 一個或兩個c語言語句擴充套件為許多組合語言**。

6、組合語言可以比c別更好地進行通訊某些型別的硬體操作只能通過組合語言執行。

7、在組合語言中,我們可以直接讀取實體地址上的指標,這在c別是不可能的。

8、在組合語言中使用位更容易。

9、彙編程式用於在組合語言中轉換**,而編譯器用於在c編譯**。

10、c語言的可執行**大於組合語言**,因此執行時間較長。

11、由於長的可執行**,c程式的效率低於組合語言程式。

12、與彙編程式設計師相比,c語言程式設計師不需要知道處理器中的暫存器等 硬體細節。

13、最c的語言**首先自動轉換為彙編**。

14樓:匿名使用者

c語言是高階語言,可移植性較高,與裝置相關性較低。

組合語言是低階語言,可以移植性較低,與cpu具有極強的相關性。

15樓:匿名使用者

組合語言是用語言直接控制硬體,由硬體間接達到某種控制效果。而c語言是一種比較高階的語言,編寫者可以不用去考慮硬體而直接去命令計算機達到這種控制效果。換而言之,組合語言對描述過程更注重,c語言之類的高階語言更注重描述結果。

例如組合語言中變數的賦值語句為 mov a b 可以解釋為將a暫存器中的值複製至b暫存器。而c語言中直接表示為 b=a,解釋為使b=a 晶片都是由閘電路構成。門有通有斷,對應在計算機**裡是二進位制的1或0。

如果直接進行人機對話,只能輸入由0和1組成的**才能交流。這樣的**太長,而且難記。所以人們想出一個辦法,相互約定,用人們易讀懂的特定表達方式去表達特定的計算機**,再將此表達方式翻譯成計算機能直接讀懂的二進位制**。

這樣的一套方便人們表達的表達方式被稱為計算機語言。

16樓:沙裡波特

語言又是怎麼回事?

------

語言是怎麼回事,你都不懂?

那麼,你還是別來瞎問了。

大家都告訴你「c和彙編的區別」了,你肯定還是弄不懂。

17樓:柱子小柱子

1.組合語言實質上是機器語言的助記符。 cpu只能執行它所支援的指令集,而這些指令集當中的每條指令都是一些二進位制數的序列,也就是「0」和「1」的有序組合;「0」和「1」的組合不便於程式設計師的記憶因此有了「mov a 0x40」等這樣的助記符。

2.c語言編寫完程式後,需要通過編譯器將c語言編譯成與相應cpu指令集對應的機器語言。組合語言與機器語言是一一對應的。

c語言的語法是固定的,c語言編寫的程式要編譯成cpu能讀懂的機器語言指令沒辦法一一對應,因此需要有編譯規則了,所以執行效率低一些。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

組合語言是彙編指令集、偽指令集和使用它們規則的統稱,使用具有一定含義的符號為助憶符,用指令助憶符、符號地址等組成的符號指令稱為彙編格式指令。

組合語言是一門重要的程式設計語言。下面列舉了至少4本名叫《組合語言》的圖書和教材,並簡要介紹了高校計算機相關專業在開設「組合語言」課程方面的一些情況。

18樓:蓋辜苟

c語言和組合語言的區別在於他們之間優缺點幾乎是相反的。

c語言和組合語言的優缺點:以c來舉例

優點:c的執行效率高;

c可以實現硬體的直接訪問;

c**的移植性好;

缺點:c的**複用性差;

c的**維護性差;

c的擴充套件性差,即如果想增加新功能,需要修改較多的**;

c語言的可讀性差;

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言;儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

組合語言:是一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。在組合語言中,用助記符(mnemonics)代替機器指令的操作碼,用地址符號(symbol)或標號(label)代替指令或運算元的地址。

在不同的裝置中,組合語言對應著不同的機器語言指令集,通過彙編過程轉換成機器指令。普遍地說,特定的組合語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。

c和彙編的選擇:

若只有較簡單的邏輯操作、邏輯演算法、簡單運算,使用匯編會得到較為精準的**,但用c也同樣可以做到。

若摻有複雜運算、浮點運算、非線性方程等,彙編恐怕無能為力了(最起碼難度很大)。

微控制器種類繁多,各自的彙編語法大都不一樣,若僅使用匯編,可擴充性、可移植性都很差,用c就會好的多。

c 語言,什麼是基類,什麼是派類

在 c 中,繼承機制通過類的派生實現,被繼承的類稱為基類或父類 在繼承類的基礎 上建立的新類稱為派生類或子類。派生類的定義格式為 class 派生類名 繼承方式基類名 1,繼承方式基類名 2,繼承方式基類名 n 其中,定義中的基類名必須是已有類的名稱,派生類名則是新建的類名。一個派生類可 以只有一個...

c語言編譯執行的全過程是怎樣的,C語言編譯執行的全過程是怎樣的?

憨人超 不明白樓主什麼意思,就是先把你的 轉為彙編 然後轉為二進位制檔案,讀入記憶體執行。 用編譯原理的話來說呢,分成詞法分析,語法分析,語義分析,中間 生成,優化,目標 生成這麼幾個階段。對c語言來說,一般只需要知道分成編譯和連線兩個階段,編譯階段將源程式 c 轉換成為目標 一般是obj檔案,至於...

C語言既可以編譯執行又可以解釋執行嗎 編譯執行怎麼解釋?解釋執行又怎麼解釋

編譯,編譯程式讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由彙編程式轉換為機器語言,並且按照作業系統對可執行檔案格式的要求連結生成可執行程式。c源程式標頭檔案 預編譯處理 cpp 編譯程式本身 優化程式 彙編程式 連結程式 可執行檔案 1.編譯預處理 讀取c源...