首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言問答

C 語言屬於高階語言嗎?程式語言分級詳解

     編輯:C 語言問答

程式語言分類與 C 的定位

結論:C 語言是高階語言(High-Level Language)。

語言層級三大類

層級代表語言特徵執行方式
低階語言機器語言(二進位)、組合語言(助憶符號)、符號語言直接對應 CPU 指令集,強相依硬體,可讀性極低組合語言需經組譯器生成目標檔,再連結執行
高階語言BASIC (True BASIC, QBasic, VB)、C、C++、Pascal、FORTRAN、LISP、Prolog 等抽象程度高,接近自然語言/數學符號,跨平台潛力大原始碼可經編譯(AOT)或直譯執行,主流採編譯
專用語言 (DSL)CAD 繪圖語言、SQL (DBMS 查詢語言)、正則表達式、Makefile、HTML/CSS針對特定領域設計,表達力集中,通用性弱由專用引擎/直譯器處理

為什麼 C 是高階語言?

  • 抽象資料型別: 整數、浮點、陣列、結構體、聯合、列舉、指標——皆為硬體無關的邏輯建模工具。
  • 控制結構抽象: if/else, switch, for/while/do-while, break/continue, goto —— 隱藏了跳轉指令細節。
  • 函數抽象: 參數傳遞、返回值、遞迴、作用域規則 —— 隱藏了棧幀佈局、呼叫慣例。
  • 標準庫抽象: I/O (stdio.h)、字串 (string.h)、數學 (math.h)、記憶體 (stdlib.h) —— 封裝了作業系統系統呼叫。
  • 可移植性: 同一份標準 C 代碼,經不同平台編譯器(GCC, Clang, MSVC, ICC, ARMCC)編譯,即可在 x86, ARM, MIPS, RISC-V, PowerPC 等架構上運行。

C 的特殊地位:「高階語言中的低階語言」

雖屬高階語言,C 保留了極少見的直接操作記憶體、位元、暫存器、I/O 埠的能力:

  • 指標算術、任意型別轉換((void*))、位欄、volatile、register 關鍵字、內嵌組語(asm)。
  • 無執行期檢查(陣列越界、空指標解引用、整數溢位、使用未初始化值)——“Trust the programmer” 哲學。
  • 編譯器輸出極接近手寫組語的效率,且可精確控制資料對齊、段屬性、連結節區。

這使 C 成為作業系統核心、驅動程式、嵌入式固件、即時系統、高效能庫、虛擬機實作的事實標準語言。

執行方式補充

高階語言原始碼通常有兩種執行路徑:

  1. 編譯執行(AOT): 原始碼 → 編譯器 → 目標機器碼 → 連結器 → 可執行檔 → 直接在 CPU 上跑。C、C++、Pascal、Fortran、Go、Rust、Swift 採此模式。
  2. 直譯執行: 原始碼 → 直譯器逐行解析執行(或先編譯為 Bytecode 再由 VM 直譽/JIT)。Python、Ruby、JavaScript、Lua、BASIC 早期版本 採此模式。

C 採用編譯模式,這也是其高效能的關鍵原因之一。

總結: C 語言無疑是高階語言,但它以最小的抽象代價,給予程式設計師最大的硬體控制權,被譽為「可移植的組合語言」。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved