❶ C++語言一定比c語言先進嗎
對於程序語言來說我覺得不能說誰比誰更先進,C++和C的出發點就不同,C++之父也說了: C++的出現是為了使程序員更快樂和輕松。
我想這話的意思應該很容易理解。C++主要是為了解決軟體工程類問題,大的應用程序,不是說用C不能編,只是編碼不容易維護,敏吵而且容易出錯。
另外還有C++的模板,這可以說是C++最大的特性,如果要談軟體工程性和代碼的可復用程度,我覺得C++應當排第一。
操作系統用C寫是有其原因的,在操作系統的編寫過程中,效率始終都要放在第一位考慮,而且操作系統的主要工作就是和底層、硬體打交道,而C說白了就是一種高級匯編語言,其過程式編程幾乎和底層的匯編表示相同,所以用C編操作系統可以很好地把握底層的實現細節和對硬體的良好操作。
另外二樓的,編譯速度?應該是運行速度吧。
當然這並不表示C++不適合編寫操作系統。
「我學過c++語言,但是我覺得C++的很多東西沒有什麼必要,只會把程序寫得越來越復雜,越來越難懂。大家覺得學精通了C語言是不是一定要學C++??」
—— 這只能說明你還沒有掌握C++(更別說精通了),如果你了解一些C++的橋賣侍發展歷史,你就不應該說出上面的話了,完全沒必要配謹和沒用的東西,你覺得C++還會將他們加入進來嗎?把程序寫地復雜和難懂的是人,不是語言,你不應該把抱怨嫁禍給C++。
的確,C++的許多庫,用到了非常復雜的技術,特別是模板所帶來的一些另人叫絕的高招,但這並不是C++有意引入的,而是精英和C++鬼才們發現的新大陸,可能「語言大師」這個稱號只會出現在C++領域里。
但這些庫的作者也沒有想要你讀懂他們的代碼,想想標准庫STL,它的實現的確很復雜,整個STL中沒有用到一個虛方法,而是用模板的功能以tag的形式進行實例化,其技術是很復雜,但是它難用嗎?
再看看boost,別的不說,就說lambda吧,用到的是模板表達式技術,看看其實現,復雜,太復雜了,但是用起來會覺得不舒服嗎?
如果對目前C++中的許多不足之處仍有顧慮,那麼請了解一下下一代的C++吧,據說是C++09,如果你看過之後不會心動的話,只能說明你根本不懂C++。
PS一句,當前的主流語言如C#、JAVA等的發展,暗地裡其實都或多或少都受了C++的引領。
精通了C,如果你覺得可以解決所有問題,你可以選擇放棄C++。
沒有洗衣機的時候,我們用搓衣板洗衣服,沒有電鋸的時候,我們用斧子砍樹,洗衣機復雜嗎?復雜,我看不透它,電鋸復雜嗎?復雜,至少我仿造不出來。但你能說他們沒用嗎,或者你能說搓衣板和斧子就被淘汰了嗎?
這個世界不是線性的,你眼裡的牛糞說不定就是他人眼裡的花朵(當然誇張了點),但前提是你有自己對其有理有據的說法,我自認為在我哥的熏陶下,還算了解一點C++,所以我敢說出這些話,調查了才有發言權嘛,呵呵。
❷ C語言好還是C好_哪種c語言比較好
分的C基礎內容都是C的核心.
C也只是多了些面對對象程序設計的部分.
比如說C的語句語句結構數組指針等等都是延用C的內容.學不好C,C也很困難~
C的類運算符重載等等都是與C基礎有關的.
C是基礎,C的進階,C#和VC是高階,一步步來吧
C與C的區別
C是一個結構化語言,如譚老爺子所說:它的重點在於演算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制),而對於C,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事務)控制。
所以C與C的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C比C更先進,是因為「設計這個概念已經被融入到C之中」,而就語言本身而言,在C中更多的明緩是演算法的概念。那麼是不是C就不重要了,錯!演算法是程序設計的基礎,好的設計如果沒有好的演算法,一樣不行。而且,「C加上好的設計」也能寫出非常好的東西。
對語言本身而言,C是C的子集,那麼是什麼樣的一個子集?從上文可以看出,C實現了C中過程化控制及其它相關功能,而在C中的C(我稱它為「C」),相對於原來的C還有所加強,引入了重載、內聯函數、異常處理等等玩藝兒,C更是拓展了面向對象設計的內容,如類、繼承、虛函數、模板和包容器類等等。
再提高一點,在C中,數據封裝、類型這些東東已橘友不是什麼新鮮事了,需要考慮的是諸如:對象粒度的選擇、對象介面的設計和繼承、組合與繼承的使用等等問題。
所以相對於C,C包含了更豐富的「設計」的概念,但C是C的一個自洽子集,也具有強大的功能,同樣值得學習。
幾點學習建議:
1.基本概念很重要。無論學C,還是學C,基本概念都是第一位的,也圓碼槐是比較困難的,但只有把握了基本概念才能把握整體脈絡,才能居高臨下。
2.C是C的子集,它的基本概念和設計方法相對比較容易理解,初學者可從它入手。
3.如果要學好C,建議初學者最好別在如VC,BCB平台下寫程序,那種自動化的代碼生成,花花綠綠的界面,會讓你手足無措。最好先找一片空地(unix,dos),從頭做起,寫幾個大點的程序,數個回合,再到VC,BCB下看看,你會輕松得很。在我看來,學好C/C是成為VC,BCB高手的必由之路。
4.不要妄想速成,必須得一個byte,一個bit的去摳,盡量搞清楚每一個激清模問題。
5.幾本好書:
機械工業出版社的那套「計算機科學叢書」從C到C,到面向對象設計,一應俱全,都TMD是經典中的經典,而且價格公道,童叟無欺。
國內也有幾本好書,譚老爺子的書好倒是好,就是程序錯誤太多。強烈推正檔薦清華周之英的《現代軟體工程》(上、中、下),它是我所見到的國內少有的一本好書,精華的精華,要點的要點,細細品來,至少也屬降龍十八掌等級的東東。
如果還是有人想學習C/C的話,有一些小問題我還是樂意解答的.但是我認為學習C/C是不重要的,重要的是如何鍛煉你的思路.不要找一些連自己都搞不清的問題去做.
我認為雖然"潭浩強"同志有騙錢的嫌疑(我手頭就有一本幾乎一模一樣的英文書),但是,是他把這本入門手冊引入中國,使無數程序員了解了C語言,我想他的功勞也是不可磨滅的.在 當你基本能夠掌握了上一本書中例子後,你就要自己找一些例子程序去看.開始可能是看不懂,但是只要努力就沒有什麼問題.當你看過幾個較大的模賣例子之後,你會茅塞頓開,(大量閱讀例子程序是學習C/C的捷徑).你會發現,你的水平有了顯著的提高.你看的例子越多,你對Windows/DOS了解的越多.最好能夠再看一些關於系統知識的書籍.他會對你的編程很有幫助的. 這是我學習C/C的一點心得,希望對沒有被我嚇到而要繼續學習C/C的朋友們有一些幫助.免得有些同志說我破壞中國軟體人才的發展. 在最後我祝願所有堅持學習C/C的朋友們成功!同時感謝閱讀過我文章的同志們. 想學好C,非學C不可!!! 今天我這么肯定的在這里講這番話,是不想初學者陷入到語言越新越好的誤區,本來這個題目就不是很嚴謹,但是我有幾句話必須講講,為C平反!! C與C有什麼不同呢?我們現在一步步地來分析一下 一、類,類我並不說它有什麼不好,但是對於初學者,它是一個累贅。類的封裝使得初學者對程序產生厭倦,感到不適和麻煩。 二、引用,引用是C中最臭屁的東西了,最好盡量不要用它,我就是從來不用引用,除非萬不得已。引用對於初學者就更容易產生混淆,不知道哪個是引用,哪個是變數。 三、函數的重載,初學者學函數的重載好像沒什麼壞處,但是,這會使初學者潛意識里對C語言的變數類型的重要性產生淡化,要記住C語言是對變數類型最敏感了的,變數的類型在C語言里的重要性是不言而喻的。 四、流操作符,和上面同樣的道理,使得對變數類型的重要性產生淡化,況且,cin這個東東有點兒不怎麼方便,有時會產生使初學者莫名其妙的結果。 五、操作符重載,典型的高級應用,初學者可能根本用不著,這個東東會讓他們覺得C很難,門檻高,看不懂。 六、繼承,以及虛函數,典型的模仿四不象,這種狗屁東西除了看起來深奧,實用價值很低。我怎麼可能把某個類的類型的指針去指向另一個不同類型但是是繼承關系的類,來實現什麼動態聯編,暈 還有些東東我就不發表評論了,如:new,delete操作符等 七、誤區:以問答形式: 問:C是面向對象化的而C是面向過程化的? 答:第二對,第一問錯,C並非完全面向對象化,真正的面向對象化的語言恐怕只有Java才算得上。 問:C能實現C所不能的功能嗎? 答:至少我還沒有發現 問:學了C再學C有障礙嗎?比如程序設計思想 答:至少我還沒有看見誰有此症狀。 問:學了C再學C又要重頭開始嗎? 答:不,C下可以實現C語言的一切功能。 問:我學完了C一定還要學C才能編程嗎? 答:完全沒必要。 問:C比C好在哪裡? 答:更加符合軟體工程學 問:學完了C再學C是不是很容易? 答:那要看你是不是真正的學完了C語言,我從C到C就一個星期的睡覺前的時間看兩眼書,然後就大徹大悟。再跑到這里來發表些狗屁文章了。 最近在網上看到了很多人的學習方法,本人非常不贊同。很多人都想一口吃個胖子,要學就想學最新的,好象沒有人願意再去學那些老的,舊的編程語言了。但你們能學的懂嗎?不學TC2。0等那些較早的優秀編程語言,你們能理解的了VC6。0?如果你真的能,我寧願做你的徒弟!真是奇怪,那些最基本的語言都不懂的人,怎麼可能去理解那些最新的編程語言?我學編程有三年了吧。成績也不算多,只有一個計算機四級證和一個高程證,但我覺得我在學VC的時候還有很多的不明白的地方。沒有人來教我,只能靠我自己,包括所有的成績在內,我都是靠自己,我從不報班。學VC的半年多來,我想我已經基本入門,但依然有很多的困惑。剛開始學VC,就面臨一個項目,我真的猶如笨蛋一般,四處嚇摸,毫無頭緒,最後勉勉強強才算做個差不多。學好VC再去學其他的高級WINDOWS編程,我想那真是輕而易舉,畢竟WINDOWS的內部的很多東西都能直接被VC調用,你首先就可以對WINDOWS有個全新的認識,再去學其他的語言豈能不簡單? 我的感覺是,面向過程和面向對象,其實都很重要的,在VC里也依然需要面向過程,很多東西都是一環扣一環,沒有面向過程的思想,怎麼可能去編程呢?建議多去看看有關WINDOWS編程的書,但多數都是比較老的書呦!我依然記得當年整天進行TC編程的辛苦,但我依然很懷念當年的勞動付出,畢竟我獲得了我想獲得的一切——編程思想。我覺得一個好的編程思想,絕對比你去學一門計算機語言好重要的多。要形成自己的編程風格。一個好的編程思想在你的頭腦中一旦形成,學習什麼語言都會很輕而易舉,因為此時的你不在是簡簡單單的學習,而是來驗證! ❸ C語言哪個版本好學高手幫指點~~
分類: 電腦/網路 >> 程序設計 >> 其他編程語言 ❹ 學習c語言哪個書比較好些 1.C語言入門經典 《C語言入門經典》例子簡單生活化,而且每個例子分析很細。章節安排合理,章末的例子還特別注重思路的引導,而且分析起來特別有成就感。 這本書是自學過程的一本好書。 2.C primer plus 這本書很適合希望系統學習C語言的讀者,正如他的名字,是一本不錯的入門和進階的書。書中的每一個知識點都有皮拍瞎很多生動簡單的示例,並給出了相應的運行結果。總之,在看這本書的過程中,有一種一氣呵成的感覺。 3.C和指針 這本書和《專家編程》《C缺陷和陷阱》可以並稱C語言(進階書)三傑。本書的部分內容更適合有C基礎的人看。如ADT、遞歸、指針和數組的部分,書中所述的思想是國內教材所缺乏的。看完本書,能得到一個正確的C語言觀。 4.C程序設計語言 難以置信的是,這樣一本C語言的入門書籍,從hello world開始講起,卻在短小的篇幅里,手把手教你寫了stdio.h stdlib.h string.h當中大部分常式,實現了二分查找、快速排序、二叉樹、哈希表這些重要的數據結構和演算法。這本書傳遞著一種簡單、優雅、平實和閑適。 5.C專家編程 ❺ C語言寫C++風格的代碼,是先進還是怪異
C語言的效率比較高,一些人使用C語言去實現面向對象的功能,這實際上是想藉助面向對象的侍滑戚思想來解決一些問題。 ❻ c語言開發軟體哪個最好 C語言基本上是大學計算機及其相關專業在大一上學期就會開的一門課程。 C語言作為一門起源比較早的編程語言,可以編程的手機軟體和電腦軟體非常多,下面我簡單介紹幾個,感興趣的朋友可以自己嘗試一下: 手機軟體 1.C語言編譯器:這是手機上的一個C語言編程軟體,可以直接在手機上編譯運行C語言程序,下面我簡單介紹一下這個軟體: 首先,下載安裝C語言編譯器,這個直接在手機應用商店中搜索就行,如下,大概也就12M左右,直接下載安裝就行: 安裝完成後,打開這個軟體,就可以直接編寫C語言程序了,效果如下,這里自帶有編譯器,可以直接編譯運行程序: 2.C++++編譯器:也即C4droid,手機上的一個C/C++編程軟體,基本功能和C語言編譯器差不多,也可以直接編譯運行C語言程序,下面我簡單介紹一下這個軟體: 首先,下載安裝C++編譯器,這個也直接在手機商店中搜索就行,如下,不大,也就3M左右,直接下載安裝就行: 安裝完成後,燃枯逗打開軟體,就可以直接編寫C語言程序了,效果如下,這里自帶有簡單的TCC編譯器,所以可以直接編譯程序,在擴展中你也可以下載GCC和G++編譯器: 電腦軟體 1.Dev-C++:這是Windows平台下一個免費、輕量級的C/C++集成開發環境,基本功能和早期的VC++6.0非常相似,自帶有GCC、GDB等編譯調試工具,因為沒有任何自動補全、語法檢查和提示的功能,所以對於初學者來說非常鍛煉基本功,在許多學校中都作為教學軟體使用: 2.Code:Blocks:這也是一個輕量級的C/C++開發環境,免費、開源、跨平台,相比較Dev-C++比較單一的功能來說,支持自動補全、語法提示和語法檢查,除此之外,還自帶有許多現成的工程模板,可以快速開發GUI、Qt、OpenGL等應用,插件擴展也比較豐富,對於初學者來說,也是一個非常不錯的選擇: 3.VisualStudio:這應該是Windows平台下使用最多的C/C++開發環境了,專業重量級的,由微軟自主設計研發,號稱宇宙第一IDE,插件擴展眾多,支持單元測試、代碼重構等高級功能,開發調試效率都非常高,因此在大型項目開發中經常會用到這個軟體,雖然對於初學者來說,早期不容易學習和掌握,但熟悉後,的確是一個編程開發利器: 4.Vim:這個是Linux環境下使用比較多的代碼編輯器敗巧,嚴格意義上說不是一個C語言開發軟體,但安裝GCC、GDB等工具後,也是一個非常不錯的C語言編程軟體,插件擴展眾多,皮賣佔用內存少,輕便靈活: 當然,還有許多其他C語言編程軟體,像C-free,CLion,Xcode等也都非常不錯,選擇適合自己的一種就行,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。 自帶編譯器環境:VC6.0++、VS2008以上系列、C-Free(自帶編譯器有點老,可以自行換) 不帶編譯器:code:blocks(自行下載編譯器:TDM-GCC、MinGW,這兩個二選一) 小型IDE:C-Free、code::blocks 超輕便版:notepad++和TDM-GCC,notepad++是文本編輯器自帶各種語言的語法高亮,TDM-GCC是編譯器。notepad++寫代碼,命令行調用gcc編譯器編譯代碼(編譯器選MinGW也可以,我用的是TDM,安裝簡單方便)。 ❼ 哪個c語言好用
用Microsoft Visual C++,簡稱Visual C++、MSVC、VC++或VC,該軟體是Microsoft公司推出的以C++語言為基礎的開發Windows環境程序,面向對象的可視化集成編乎亮嘩程系統。它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和歲行界面設計集成鍵租交互操作、可開發多種程序等優點,而且通過的設置就可使其生成的程序框架支持資料庫介面、OLE2、0,WinSock網路。
❽ C語言和C++語言哪個好
C與C++的最大區別:在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為「
問題描述:
1.3 C語言版本
目前最流行的C語言有以下幾種:
·Microsoft C 或稱 MS C
·Borland Turbo C 或稱 Turbo C
·AT&T C
這些C語言版本不僅實現了ANSI C標准,而且在此基礎上各自作了一些擴充攔陸,使之更加方便、完美。
-------------------------------------------摘要簡毀頃。。。。
問題。
它們之間有些什麼區別呀?
那個相對物初學者來說。好學一點?
那個對今後實用一些?
解析:
你上面所說的一大堆,只是C語言的編譯器而已.
C語言只是一個抽象的語言規范, 編譯器用余納於實現這些規范,讓用戶真正使用C語言.
抽象的規范只有一個, 可實現編譯器的廠商有很多的,
所以就出現了這么多的編譯器.
對於初學者, 只要支持最新的ANSI C就可以了, 以上的幾個編譯器對最新的ANSI C支持的不太好(畢竟都是古董級的產品了), 所以我建議你使用DEV-CPP或Visual Studio 2005.
語言之間是相互學習的,能夠吸納其他語言的優點,這是一種進步的表現,至於是否能夠真的達到目的,需要根據實際項目的特點,以及後續的維護等方面進行驗老陵證。
拘泥讓陵於某種語言固守的方案,這才是一種守舊,退步的表現。
設計這個概念已經被融入到C++之中
」,而就語言本身而言,在C中更多的是演算法的概念。那麼是不是C就不重要了,錯!演算法是程序設計的基礎,好的設計如果沒有好的演算法,一樣不行。而且,「C加上好的設計」也能寫出非常好的東西。
對語言本身而言,C是C++的子集,那麼是什麼樣的一個子集?從上文可以看出,
C實現了C++中過程化控制及其它相關功能,而在C++中的C(我稱它為「C+」),相對於原來的C還有所加強,引入了重載、、異常處理等等玩藝兒,C++更是拓展了面向對象設計的內容,如類、繼承、、模板和包容器類等等。
再提高一點,在C++中,數據封裝、類型這些東東已不是什麼新鮮事了,需要考慮的是諸如:對象粒度的選擇、對象介面的設計和繼承、組合與繼承的使用等等問題。
所以相對於C,C++包含了更豐富的「設計」的概念,但C是C++的一個自洽子集,也具有強大的功能,同樣值得學習
幾點學習建議:
1.基本概念很重要。無論學C,還是學C++,基本概念都是第一位的,也是比較困難的,但只有把握了基本概念才能把握整體脈絡,才能居高臨下。
2.C是C++的子集,它的基本概念和設計方法相對比較容易理解,初學者可從它入手。
3.如果要學好C++,建議初學者最好別在如VC,BCB平台下寫程序,那種自動化的代碼生成,花花綠綠的界面,會讓你手足無措。最好先找一片空地(unix,dos),從頭做起,寫幾個大點的程序,數個回合,再到VC,BCB下看看,你會輕松得很。在我看來,學好C/C++是成為VC,BCB高手的必由之路。
4.不要妄想速成,必須得一個byte,一個bit的去摳,盡量搞清楚每一個問題。
5.幾余拿本好書:
機械工業出版社的那套「叢書」從C到C++,到面向對象設計,一應俱全,豎或搭都TMD是經典中的經典,而且價格公道,童叟無欺。
國內也有幾本好書,譚老爺子的書好倒是好,就是程序錯誤太多。強烈推薦清華周之英的(上、中、下),團改它是我所見到的國內少有的一本好書,精華的精華,要點的要點,細細品來,至少也屬等級的東東。