為什麼C語言編寫的系統程式執行速度比用其他語言編寫的快

2022-11-20 07:10:46 字數 1494 閱讀 7850

1樓:匿名使用者

這是由c語言的特點決定的,c語言允許直接訪問實體地址,能進行位(bit)操作,能實現組合語言的大部分功能,可以直接對硬體進行操作。生成目標**質量高,程式執行效率高。

其他高階語言像vb需要編譯解釋執行,所以執行效率不如c語言高。

2樓:

第一,c語言是介於高階語言與低階語言之間的語言,我們知道低階語言的**複雜,但執行速度和執行率較高,所以c語言只能說相對高階語言的速度要快啦,但它不如低階語言

第二,快不快要看演算法問題來的,如果一個乘法,你用c語言的加法來算要比直接用乘法快的多,這一點在其它的語言上也是一樣的

3樓:依舊飄流

因為c有組合語言的某些特點,也只是有某些而已,所以c的效率肯定是快不過彙編的

4樓:匿名使用者

不一定比其它快,只是比一些更高階的語言快,一般規律是越低階的語言就越快,當經過區域性優化的高階語言除外,c是算比較低階的語言,所以你認為它快。

為什麼說,用c語言寫的程式比組合語言寫的程式執行效率上要低,難道兩者編譯成的二進位制**有很大不同??

5樓:月亮臉

彙編可以直接操作硬體,而c語言則對這些底層操作進行了一定程度的封裝,而封裝就意味著執行過程複雜度的增加。所以說,雖然二者最後實現的效果是一樣的,但後者的執行過程要比前者複雜,編譯成的二進位制**也就有所不同。

6樓:沒穿袈裟的貧僧

彙編是面向機器的,更接近機器語言,c語言等高階語言是面向問題的,另外匯編可以直接操作硬體

7樓:碼農茂奇

對 c的函式呼叫 在彙編實現層面上有很多格式化的出入棧的動作,而不直接使用暫存器. 彙編可以隨心所欲的使用硬體暫存器.效率會高一截.

早年的設計,由於計算機硬體稀缺,不得不使用匯編提高軟體的效率. 近年,硬體成本越來越低,效能越來越高.軟體開發成本成為了主要的部分.

使用高階語言開發可以節約專案開發總成本. 所以虛擬機器 c#等一系列新技術 將成為是近幾年的主要開發工具.

8樓:

c語言還需要翻譯成組合語言

哪一種c語言編寫的程式執行速度最快

9樓:匿名使用者

c語言只有一種,不過同一個c程式在不同的編譯器中編譯出來的結果是不一樣的。速度我沒做過比較,我想是和編譯器的優化策略有關,選用「速度最優」的策略會比預設的"體積最小"要快吧。如果你需要加快程式的執行速度,把最佔用時間的那些**改用匯編來編寫,另外可以考慮採用多執行緒,可以達到不錯的效果。

10樓:匿名使用者

程式執行的快慢和語言沒有太大的關係,關鍵是程式本身

c語言與j**a哪個執行速度快,為什麼?

11樓:匿名使用者

看什麼情況下呀,一般c要快,c要底層一點嘛

C語言編寫函式,如何編寫C語言程式

什麼叫陣列中的第一個最大元素和最小元素啊。如何編寫c語言程式?如何寫c語言函式?c語言的函式 c語言如何編寫啊?c語言程式編寫 摘要。您好親,c語言寫程式,首先你要 c語言的那個驅動的工具,叫,使用c語言來進行程式設計,是需要工具來進行編譯的,變硬了之後進行列印,一般寫c語言的時候,它有一個他其實是...

我編寫的c語言程式怎麼執行後出現中文亂碼

用fflush stdin 來清空鍵盤緩衝區,使用getch等都是治標不治本的辦法,可以多學習一下fflush的使用,對於大批量的手動輸入,很有幫助 標頭檔案 include include stdio.h include stdlib.h include main getchar 函式讀取了你的換...

C語言問題無法執行,為什麼C語言程式編譯正確但不能執行?

把float mid 改成int mid 把for i 0 i把for j 0 jmid a n a n 2 2 這一句越界了,不知道你的意圖,無法改,自己改吧 char a n 20 這種定義是不被允許的。應當採用動態記憶體的方式,include stdio.h include string.h ...