一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

C語(yǔ)言

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

時(shí)間:2025-02-24 02:09:46 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

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

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

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

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

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

  不過(guò)可以明確地說(shuō):學(xué)了C語(yǔ)言就相當于學(xué)了C++的一半,從C語(yǔ)言轉向C++時(shí),不需要再從頭開(kāi)始,接著(zhù)C語(yǔ)言往下學(xué)就可以,所以我強烈建議先學(xué)C語(yǔ)言再學(xué) C++。

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

  現在看來(lái),C++和C語(yǔ)言雖然是兩門(mén)獨立的語(yǔ)言,但是它們卻有著(zhù)扯也扯不清的關(guān)系。

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

  這個(gè)時(shí)期的C++非常粗糙,僅支持簡(jiǎn)單的面向對象編程,也沒(méi)有自己的編譯器,而是通過(guò)一個(gè)預處理程序(名字叫 cfront),先將C++代碼”翻譯“為C語(yǔ)言代碼,再通過(guò)C語(yǔ)言編譯器合成最終的程序。

  隨著(zhù)C++的流行,它的語(yǔ)法也越來(lái)越強大,已經(jīng)能夠很完善的支持面向過(guò)程編程、面向對象編程(OOP)和泛型編程,幾乎成了一門(mén)獨立的語(yǔ)言,擁有了自己的編譯方式。

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

  從表面上看,C、C++ 代碼使用同一個(gè)編譯器來(lái)編譯,所以上面我們說(shuō)“后期的 C++ 擁有了自己的編譯方式”,而沒(méi)有說(shuō)“C++ 擁有了獨立的編譯器”。

  再說(shuō)C++教程

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

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

  我的建議

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

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

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

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

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

  從“學(xué)院派”的角度來(lái)說(shuō),C++支持面向過(guò)程編程、面向對象編程和泛型編程,而C語(yǔ)言?xún)H支持面向過(guò)程編程。就面向過(guò)程編程而言,C++和C幾乎是一樣的,所以學(xué)習了C語(yǔ)言,也就學(xué)習了C++的一半,不需要從頭再來(lái)。


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

C語(yǔ)言和C++的分別06-18

C語(yǔ)言和C++的區別09-19

C語(yǔ)言和C++的區別精選10-16

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

C語(yǔ)言與C++和JAVE的區別09-26

C語(yǔ)言和C++之間的關(guān)系06-15

C++、C語(yǔ)言和JAVA開(kāi)發(fā)的區別06-28

怎么在Dev C++下運行C語(yǔ)言09-18

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

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看