亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

學(xué)C++前要先學(xué)C語言嗎

時間:2024-09-06 12:10:23 C語言 我要投稿
  • 相關(guān)推薦

學(xué)C++前要先學(xué)C語言嗎

  C語言是一門通用計算機編程語言,應(yīng)用廣泛。那么大家知道學(xué)C++前要先學(xué)C語言嗎?下面一起來看看!

  C++ 讀作“C加加”,是“C Plus Plus”的簡稱。顧名思義,C++是在C語言的基礎(chǔ)上增加新特性,玩出了新花樣,所以叫“C Plus Plus”,就像 iPhone 6S 和 iPhone 6、Win10 和 Win7 的關(guān)系。

  從語法上看,C語言是C++的一部分,C語言代碼幾乎不用修改就能夠以C++的方式編譯,這給很多初學(xué)者帶來了不小的困惑,學(xué)習C++之前到底要不要先學(xué)習C語言呢?

  我對這個問題保持中立,但是初學(xué)者直接學(xué)習C++會非常吃力,Hold 不住,尤其是對計算機內(nèi)存不太理解的情況下,C++ 是學(xué)不懂的。C++ 是一門靈活多變、特性豐富的語言,同時也意味著比較復(fù)雜,不易掌握。

  不過可以明確地說:學(xué)了C語言就相當于學(xué)了C++的一半,從C語言轉(zhuǎn)向C++時,不需要再從頭開始,接著C語言往下學(xué)就可以,所以我強烈建議先學(xué)C語言再學(xué) C++。

  C++和C語言的血緣關(guān)系

  現(xiàn)在看來,C++和C語言雖然是兩門獨立的語言,但是它們卻有著扯也扯不清的關(guān)系。

  早期并沒有“C++”這個名字,而是叫做“帶類的C”。“帶類的C”是作為C語言的一個擴展和補充出現(xiàn)的,它增加了很多新的語法,目的是提高開發(fā)效率,如果你有Java Web開發(fā)經(jīng)驗,那么你可以將它們的關(guān)系與 Servlet 和 JSP 的關(guān)系類比。

  這個時期的C++非常粗糙,僅支持簡單的面向?qū)ο缶幊,也沒有自己的編譯器,而是通過一個預(yù)處理程序(名字叫 cfront),先將C++代碼”翻譯“為C語言代碼,再通過C語言編譯器合成最終的程序。

  隨著C++的流行,它的語法也越來越強大,已經(jīng)能夠很完善的支持面向過程編程、面向?qū)ο缶幊?OOP)和泛型編程,幾乎成了一門獨立的語言,擁有了自己的編譯方式。

  我們很難說C++擁有獨立的編譯器,例如 Windows 下的微軟編譯器(cl.exe)、Linux 下的 GCC 編譯器、Mac 下的 Clang 編譯器(已經(jīng)是 Xcode 默認編譯器,雄心勃勃,立志超越 GCC),它們都同時支持C語言和C++,統(tǒng)稱為 C/C++ 編譯器。對于C語言代碼,它們按照C語言的方式來編譯;對于C++代碼,就按照C++的方式編譯。

  從表面上看,C、C++ 代碼使用同一個編譯器來編譯,所以上面我們說“后期的 C++ 擁有了自己的編譯方式”,而沒有說“C++ 擁有了獨立的編譯器”。

  再說C++教程

  如果針對沒有任何編程經(jīng)驗的讀者寫一本C++的書,那將是一項不小的任務(wù),寫出來的書也會非常厚。即使這樣,也僅僅是在講語法。

  更重要的是,這些知識你很難全部吸收,會嚴重打擊你的信心,失去學(xué)習的興趣。

  我的建議

  沒有任何編程基礎(chǔ)的讀者,我建議先從C語言學(xué)起,不要貪多嚼不爛。有編程基礎(chǔ)的讀者,相信你自己能做出正確的判斷。

  學(xué)習編程是一個循序漸進的過程,不要期望一口吃個胖子。學(xué)習C語言,一來是學(xué)習它的語法,為C++打基礎(chǔ),同時培養(yǎng)編程興趣,二來是學(xué)習內(nèi)存、編譯和鏈接,弄清編程語言的內(nèi)在機理。

  每個初學(xué)者都經(jīng)歷過這樣的窘境:已經(jīng)學(xué)習了語法,明白了編程語言都有什么,也按照教程敲了不少代碼,但是遇到實際問題就掛了,沒有思路,不知道從何下手。說白了就是只會學(xué)不會用。

  究其原因,就是實踐少,沒有培養(yǎng)起編程思維!學(xué)習知識容易,運用知識難!

  等你熟悉了C語言,能編寫出上百行的代碼,就對編程有些概念了。這個時候再去了解C++究竟在C語言基礎(chǔ)上增加了什么,你就站在了一定的高度。

  從“學(xué)院派”的角度來說,C++支持面向過程編程、面向?qū)ο缶幊毯头盒途幊,而C語言僅支持面向過程編程。就面向過程編程而言,C++和C幾乎是一樣的,所以學(xué)習了C語言,也就學(xué)習了C++的一半,不需要從頭再來。


【學(xué)C++前要先學(xué)C語言嗎】相關(guān)文章:

C語言和C++的分別06-18

C語言和C++的區(qū)別精選10-16

C語言和C++的區(qū)別09-19

學(xué)java好還是學(xué)C語言好08-20

C++、C語言和JAVA開發(fā)的區(qū)別06-28

關(guān)于c++語言中的循環(huán)語言08-16

C語言和C++有什么關(guān)系09-23

C語言和C++有什么區(qū)別05-19

淺談c語言和c++和VB的區(qū)別07-04

Java程序調(diào)用C/C++語言函數(shù)的方法07-31