-
1 # 愛吹牛的小正太
-
2 # 程式設計獅W3Cschool
首先更正一點,你應該是想說C++是C的超集吧。
但是這種說法並不正確,它們並不是超集的關係。
C++並不是C的超集,雖然在當初設計C++的時候,C++被設計為當時C的超集。但二三十年過去了,C++和C的標準經歷了兩條不同路線的變遷,兩者已經發展成為互不相容的兩套語言。
如果現在你用C的方式使用C++,一定不是什麼愉快的體驗。
二三十年前,C++從語法上,雖然是C的超集,但一段用C++編譯器編譯的,用CPP字尾寫的C程式碼,生成的會跟C語言完全不用的目的碼,這種目的碼與C語言並不是二進位制相容的,甚至不同的C++編譯器之間,也無法相容(不用的C編譯器編譯的目的碼通常可以互相呼叫,而C++不可以)。
會C++=會C?廣義上來說,是的,因為兩門語言存在著很多的共性,但狹義上說,兩者是兩門完全不同的語言,學會C++並不代表你會C語言。但不可否則,無論是掌握了C++再去學C,還是會C再去學C++,都會變得非常簡單。
C語言的特點1.作為一種面向過程的結構化語言,易於除錯和維護;
2.表現能力和處理能力極強,可以直接訪問記憶體的物理地址;
3.C語言實現了對硬體的程式設計操作,也適合於應用軟體的開發;
4.C語言還具有效率高,可移植性強等特點。
C++語言特點1.在C語言的基礎上進行擴充和完善,使C++相容了C語言的面向過程特點,又成為了一種面向物件的程式設計語言;
2.可以使用抽象資料型別進行基於物件的程式設計;
3.可以使用多繼承、多型進行面向物件的程式設計;
4.可以擔負起以模版為特徵的泛型化程式設計。
兩者的本質區別在於,C++面向的是物件,而C語言面向的是過程。
C和C++可以幹什麼C語言
C可以用來開發系統核心、硬體驅動、微控制器和嵌入式、開發系統元件或服務,編寫PHP擴充套件等等。
換句話說,C語言擅長底層開發。
C++
可以用來開發遊戲、科學計算、網路軟體、分散式應用等等。
理論上,這兩門語言什麼都能幹。但是,從崗位來說,C++的崗位比較多,而純粹的C語言實在太少了。
剛好也把需求量的問題給回答了。
C/C++?我個人的看法是,這是早起的寫法,前面講過,C和C++有很多共同之處,於是人們習慣寫成C/C++,但由於經過幾十年的演化,兩者已經存在很大的區別了,所以這種寫法更多的是習慣性的,並不嚴謹。
但不嚴謹,並不意味著錯誤……
——摘自W3Cschool的回答
C語言是C++的超集,那麼,是不是學了C++,就等於把C語言也一起學了?這兩門語言分別有哪些特點?就業崗位又有哪些呢?在就業市場上需求量大嗎?崗位發展又如何?C/C++為什麼要黏在一起?他們分別在哪些領域應用?
回覆列表
在回答這個問題我先回答一下java和JavaScript 的區別,就像雷鋒和雷峰塔的區別。其實c語言和c++雖然名字一樣,但是還是很多區別的,c語言是面向過程的麼,c++是面向物件的,這個就有很大區別。在封裝的方法裡面c++和java,.net類似。