首頁>Club>
9
回覆列表
  • 1 # 虎糾校園君

    校園君來回答問題啦!

    嗯,答案是:不一樣!!!

    C++語言是C語言的升級版,二者之間語法很相近,有的C++的編譯器都可以用C語言寫程式呢,像printf、scanf語法,雖然說C的,但C++也可以用。C++語言會比C語言好很多,初學建議你學C++,然後自然而然的C語言也會了。

  • 2 # 休閒遊戲人

    兩者有著共通之處,當然也有很多不同之處,歸納從以下幾個方面來說明:

    1、程式語言共通之處

    學習過幾門程式語言人估計都會有這種體會,程式語言基本都包括有資料型別、運算子、表示式、流程控制、函式、結構等基礎內容模組,而且很多語法規則都大同小異.

    2、語法基礎區別

    語法的區別典型的標頭檔案的不同以及名稱空間的宣告。這裡會有和C一樣的概念就是作用域,但是兩者又有不同。還有就是新增new和delete的語法。在浩瀚的c程式碼中,遍地都是傳遞副本或者傳遞地址,而c++標新立異,多出了一個變數別名的概念,所以就有了按引用傳遞,實際上更深一點,就是指標的封裝實現,而這些只不過是編譯器做了你渾然不知而已。一個典型的例子就是auto和explicit關鍵字,它們體現的是c++顯式和隱式轉換的概念,但你無需關心怎麼實現顯式和隱式。

    3、語法高階區別

    一般說語言級別越高,程式設計師程式設計越方便,但編譯器就會越多出許多額外的工作。比如C++的過載和虛擬函式,這是和C完全不同的規定和機制,同名的函式你可以在C++程式碼中看到鋪天蓋地,各種運算子過載,各種虛擬函式宣告,各種指標和引用的轉換,讓很多剛從C跳過來的小白望而生畏。

    4、設計思想區別

    C和C++的本質區別是面向過程和麵向物件。完全獨立於C的概念:類,物件和繼承。在面嚮物件語言中類的概念很常見,這裡有一個例項化的概念,物件是類的實體,而這個實體包含了各種變數和函式,有了類物件就有建構函式,解構函式,複製建構函式以及友元函式的概念...有的人可能會想到結構體,確實兩者有相似之處,但結構體卻不能有成員函式,只能用函式指標,沒有C++規範和方便。在實現上類才是物件程式設計的核心設計思想,它比結構體更能管理它的成員。有類就有許可權和繼承,什麼公有,私有,保護,單繼承,多繼承,虛繼承,父子類,基類派生類、、、單在繼承方面,就比C複雜許多!當然C也可實現類似的面向物件比如結構體封裝,但用法上沒有比真正有面向物件的C++高效和方便,只因為C++多了一個類的管理。而C++完全可以向下相容C,即可以面向過程,也可以面向物件,我們常說C++是一種半面向物件的語言,但它完全可以面向過程。

    5、獨立特性區別

    相比於C,C++有著強大的獨立特性:支援正規化程式設計,如函式模板,模板類,另外C++還有異常機制,支援超程式設計,以及強大的STL標準庫、、、

    6、應用場景的區別

    C的優勢使它趨向於底層,執行效率和記憶體佔優勢,如核心驅動和作業系統,越精簡質量越高。對比C++,它更像是基於系統上的上層語言,可以做大型軟體,介面開發,遊戲開發等等等等。兩者的側重點會點不同,C更注重實現邏輯,C++更注重的是程式的整體設計,這就是常說的面向過程和麵向物件,其本質還是在其設計思想上,C++更加開放和自由,程式碼維護和管理更加高效。

  • 3 # FunnyLinux

    簡而言之:C幾乎是C++的一個子集。

    貝爾實驗室的一代宗師丹尼斯-裡奇在1970年發明了一把能夠雙向發射子彈的絕世好槍,它就是C語言。另外一個名字詰屈聱牙的宗師受他啟發,在八十年代又發明了一把多功能水陸兩用四管雙向回馬槍,一開始叫帶類的C,後來叫C佳佳。

    紅樓夢裡曾道‘無我原非你,從他不識伊’。C++除了與C相容的部分之外,還增加了泛型,面向物件,標準模板庫等內容,對輸出輸出的操作也都採用面向物件的方式進行了封裝。還增加了const關鍵字,異常處理,名稱空間等改善程式碼安全性的內容。C++直到1998年才首次得以標準化,比C語言晚了十年之久。但自C++11,C++14,C++17直到C++20日新月異,眼花繚亂。制定標準的委員會在一些功能上兜兜轉轉。與C語言也頗有若即若離之感。未來C和C++的關係,拭目以待。

  • 中秋節和大豐收的關聯?
  • 告訴我幾條西遊記的歇後語?