C語言和C++語言的區別。


C程式語言

C語言是一種通用的高階語言,最初由Dennis M. Ritchie開發,用於在貝爾實驗室開發UNIX作業系統。C語言最初於1972年在DEC PDP-11計算機上實現。

1978年,Brian Kernighan和Dennis Ritchie製作了第一個公開發布的C語言描述,現在被稱為K&R標準。

UNIX作業系統、C編譯器以及幾乎所有UNIX應用程式都是用C語言編寫的。C語言之所以被廣泛用作專業語言,原因如下:

  • 易於學習
  • 結構化語言
  • 生成高效的程式
  • 可以處理底層活動
  • 可以在各種計算機平臺上編譯

C++程式語言

C++是一種靜態型別的、編譯型的、通用的、區分大小寫的、自由格式的程式語言,支援程序式程式設計、面向物件程式設計和泛型程式設計。

C++被認為是一種**中級**語言,因為它結合了高階和低階語言的特性。

C++由Bjarne Stroustrup於1979年在位於新澤西州默裡山的貝爾實驗室開始開發,作為C語言的增強版,最初命名為“帶類的C”,後來在1983年更名為C++。

C++是C的超集,幾乎所有合法的C程式都是合法的C++程式。

**注意** - 當型別檢查在編譯時而不是執行時執行時,據說程式語言使用靜態型別。

面向物件程式設計

C++完全支援面向物件程式設計,包括面向物件開發的四大支柱:

  • 封裝
  • 資料隱藏
  • 繼承
  • 多型

區別

以下是C和C++之間的一些重要區別。

序號 關鍵點 C C++
1 開發者 C語言由Dennis Richie在1969-1973年間於AT&T貝爾實驗室開發。 C++由Bjarne Stroustrup於1979年開發。
2 面向物件程式設計(OOPS) C語言不支援面向物件程式設計的概念,如多型性、封裝和繼承。 C++是一種面向物件程式語言,支援面向物件程式設計的概念,如多型性、封裝和繼承。
3 集合關係 C是C++的子集。 C++是C的超集。所有C程式碼都可以在C++中執行,但反過來則不一定。
4 關鍵字 C語言有32個關鍵字。 C++有52個關鍵字。
5 程序式程式設計 vs 面向物件程式設計 C語言是一種程序式程式設計語言。 C++支援程序式程式設計和麵向物件程式設計。
6 資料和函式 在C語言中,資料和函式是分開的。 在C++中,資料和函式作為物件封裝在一起。
7 資訊隱藏 C語言不支援資訊隱藏。 C++透過封裝支援資訊隱藏。
8 過載 C語言不支援函式和運算子過載。 C++支援函式和運算子過載。
9 函式 C語言是函式驅動的語言。 C++是物件驅動的語言。
10 結構體 C語言結構體不支援定義函式。 C++結構體支援定義函式。
11 引用變數 C語言不支援引用變數。 C++支援引用變數。
12 虛擬函式和友元函式 C語言不支援虛擬函式和友元函式。 C++支援虛擬函式和友元函式。
13 異常處理 C語言不支援異常處理。 C++支援異常處理。

更新於:2022年8月19日

8K+ 瀏覽量

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告