




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、C, C+, C#三者區(qū)別繼承關(guān)系是C->C+->C#C+完全向C兼容,C程序幾乎不用修改即可在 C+的編譯器上運行.C+ 也稱為帶類的C,在C的基礎上增加了許多面向?qū)ο蟮母拍?雖然是C的擴展,但并不意味著C功能 不如C+,最牛的操作系統(tǒng)是用C寫的(不是C+哦).C#是微軟弄的一個東東,繼承了 C和C+的許多東西,但和兩者基本上已完全不一樣了 .你可以把它 當作一種全新的語言來學C語言是一種結(jié)構(gòu)化編程語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護。C語言的表現(xiàn)能力和處理能力極強。它不僅具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復雜的數(shù)據(jù)結(jié) 構(gòu)。它還可以直接訪問內(nèi)存的物理地
2、址,進行位(bit)一級的操作。由于C語言實現(xiàn)了對硬件的編程 操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應用軟件的開發(fā)。止匕外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算 機上,從而形成了多種版本的C語言。下面是C語言教程的地址,想學的話可以去看看。C+是在C的基礎上改進后的一種編程語言,主要是增添了許多新的功能,難度也比C大,和C一樣側(cè)重于計算機底層操作,也就是系統(tǒng)軟件的開發(fā)。C#是在C+的基礎上再一次改進后的編程語言,相比C+而言難度有所減小(微軟是這么說的),側(cè)重于網(wǎng)絡和數(shù)據(jù)庫編程。這 3種都是 編程語言,語法基本上是一樣
3、的,不過具體的內(nèi)容差別還是挺大的。VC+是一種編程軟件,就相當于一個作業(yè)本,你學習了 C+語言以后,就需要把這種編程語言寫 在一個作業(yè)本上,也就是寫在 VC這種編程軟件上,來實現(xiàn)你需要的效果。C+是C語言的升級版c是C+的子集,c是面向過程的,C+是面向?qū)ο蟮腃語言與C+的區(qū)別有很多:1,全新的程序程序思維,C語言是面向過程的,而C+是面向?qū)ο蟮摹?, C語言有標準的函數(shù)庫,它們松散的,只是把功能相同的函數(shù)放在一個頭文件中;而 C+對于 大多數(shù)的函數(shù)都是有集成的很緊密,特別是 C語言中沒有的C+中的API是對Window系統(tǒng)的大 多數(shù)API有機的組合,是一個集體。但你也可能單獨調(diào)用 API。3
4、,特別是C+中的圖形處理,它和語言的圖形有很大的區(qū)別。C語言中的圖形處理函數(shù)基本上是不能用在中C+中的。C語言標準中不包括圖形處理。4, C和C+中都有結(jié)構(gòu)的概念,但是在 C語言中結(jié)構(gòu)只有成員變量,而沒成員方法,而在 C+ 中結(jié)構(gòu)中,它可以有自己的成員變量和成員函數(shù)。但是在C語言中結(jié)構(gòu)的成員是公共的,什么想訪問它的都可以訪問;而在 VC+中它沒有加限定符的為私有的。4, C語言可以寫很多方面的程序,但是 C+可以寫得更多更好,C+可以寫基于DOSr程序,寫 DLL,寫控件,寫系統(tǒng)。5, C語言對程序的文件的組織是松散的,幾乎是全要程序處理;而C+對文件的組織是以工程,各文件分類明確。6, C+
5、中的IDE很智能,和VB一樣,有的功能可能比 VB還強。7, C+對可以自動生成你想要的程序結(jié)構(gòu)使你可以省了很多時間。有很多可用的工具如加入 MFC中的類的時候,加入變量的時候等等。8, C+中的附加工具也有很多,可以進行系統(tǒng)的分析,可以查看 API;可以查看控件。9,調(diào)試功能強大,并且方法多樣。鑒于當下形勢,如果要學的話就學 C#C#與C+比較的話,最重要的特性就是 C#是一種完全面向?qū)ο蟮恼Z言,而 C+不是,另外C#是 基于IL中間語言和.NETFrameworkCLR 的,在可移植性,可維護性和強壯性都比 C+有很大的改C#的設計目標是用來開發(fā)快速穩(wěn)定可擴展的應用程序, 當然也可以通過I
6、nterop和Pinvoke完成一 些底層操作,但是對于一些和底層系統(tǒng)相關(guān)很緊密的程序(譬如說驅(qū)動程序),還是建議用C+來寫x' . I / 產(chǎn), cC+不允許在一個構(gòu)造函數(shù)中調(diào)用另外一個構(gòu)造函數(shù)(稱為委派構(gòu)造函數(shù)調(diào)用),而C#則允許。委派構(gòu)造函數(shù)調(diào)用語法上非常自然和易懂,事實上,C+不提供這一特性并不是出于語法上的考慮, 而是出于資源管理的考慮(這樣的事情對 C+來說還有很多很多)。C+的構(gòu)造函數(shù)用于分配資源,而析構(gòu)函數(shù)用于釋放資源,構(gòu)造函數(shù)和析構(gòu)函數(shù)調(diào)用必須匹配,否則就打破了 C+的基本規(guī)則。如果允許委派構(gòu)造函數(shù)調(diào)用,則顯然會打破這一規(guī)則一一構(gòu)造函數(shù)被執(zhí)行兩次,而析構(gòu)函數(shù)只執(zhí)行一次
7、。當然,對一些類,例如前面的那個Point來說這不是個問題, 但是從語言機制的角度講這個特性可能屬于 危險”的特性。注:在最新的C+標準提議草案中, Herb等人有一個關(guān)于允許委派構(gòu)造函數(shù)調(diào)用的提案, 當然這很大程度上是為了方便 C+/CLI綁定。在C+構(gòu)造函數(shù)中,虛函數(shù)調(diào)用會被編譯器自動轉(zhuǎn)為普通函數(shù)調(diào)用,而在C#構(gòu)造函數(shù)中允許進行虛函數(shù)調(diào)用。C+這樣處理自然有它的原因 一一在C+中,構(gòu)造函數(shù)執(zhí)行完成后對象才初始化好, 對于多態(tài)對象來說,也就意味著構(gòu)造函數(shù)在背后執(zhí)行了很重要的一件事情一一初始化對象的虛函數(shù)如果我們在基類的構(gòu)造函數(shù)中調(diào)用了虛函數(shù),則因為此時對象的虛函數(shù)表仍舊是基類的虛函數(shù)表, 所
8、以無法進行正確的虛函數(shù)調(diào)用。也就是這個原因,通常我們應該避免在構(gòu)造函數(shù)中調(diào)用虛函數(shù),因為它違背了虛函數(shù)的語義。而在C#中,在對象的構(gòu)造函數(shù)執(zhí)行之前對象的類型信息就已經(jīng)初始化好了,所以可以進行正常的 虛函數(shù)調(diào)用。基本上,這些就是兩者之間的區(qū)別。C與C+的區(qū)別C是一個結(jié)構(gòu)化語言,如譚老爺子所說:它的重點在于算法和數(shù)據(jù)結(jié)構(gòu)。C程序的設計首要考慮的 是如何通過一個過程,對輸入(或環(huán)境條件)進行運算處理得到輸出(或?qū)崿F(xiàn)過程(事務)控制), 而對于C+,首要考慮的是如何構(gòu)造一個對象模型,讓這個模型能夠契合與之對應的問題域,這 樣就可以通過獲取對象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務)控制。所以C與C+的最大
9、區(qū)別在于它們的用于解決問題的思想方法不一樣。 之所以說C+比C更先進, 是因為 設計這個概念已經(jīng)被融入到 C+之中”,而就語言本身而言,在 C中更多的是算法的概念。那么是不是C就不重要了,錯!算法是程序設計的基礎,好的設計如果沒有好的算法,一樣不行。 而且,“C加上好的設計”也能寫出非常好的東西。對語言本身而言,C是C+的子集,那么是什么樣的一個子集?從上文可以看出, C實現(xiàn)了 C+ 中過程化控制及其它相關(guān)功能,而在 C+中的C (我稱它為“C ,相對于原來的C還有所加強, 引入了重載、內(nèi)聯(lián)函數(shù)、異常處理等等玩藝兒,C+更是拓展了面向?qū)ο笤O計的內(nèi)容,如類、繼承、 虛函數(shù)、模板和包容器類等等。再
10、提高一點,在C+中,數(shù)據(jù)封裝、類型這些東東已不是什么新鮮事了,需要考慮的是諸如:對 象粒度的選擇、對象接口的設計和繼承、組合與繼承的使用等等問題。所以相對于C, C+包含了更豐富的 設計”的概念,但C是C+的一個自洽子集,也具有強大的功 能,同樣值得學習。幾點學習建議:1 .基本概念很重要。無論學 C,還是學C+,基本概念都是第一位的,也是比較困難的,但只有 把握了基本概念才能把握整體脈絡,才能居高臨下。2 . C是C+的子集,它的基本概念和設計方法相對比較容易理解,初學者可從它入手。3 .如果要學好C+,建議初學者最好別在如 VC, BCB平臺下寫程序,那種自動化的代碼生成, 花花綠綠的界面
11、,會讓你手足無措。最好先找一片空地( unix, dos),從頭做起,寫幾個大點的 程序,數(shù)個回合,再到VC, BCB下看看,你會輕松得很。在我看來,學好C/C+是成為VC, BCB 高手的必由之路。4 .不要妄想速成,必須得一個 byte, 一個bit的去摳,盡量搞清楚每一個問題。5 .幾本好書:i ;機械工業(yè)出版社的那套 計算機科學叢書”從C到C+,到面向?qū)ο笤O計,一應俱全,都 TMD是經(jīng) 典中的經(jīng)典,而且價格公道,童叟無欺。國內(nèi)也有幾本好書,譚老爺子的書好倒是好,就是程序錯誤太多。強烈推薦清華周之英的現(xiàn)代軟件工程(上、中、下),它是我所見到的國內(nèi)少有的一本好書,精華的精華,要點的要點,細
12、細 品來,至少也屬降龍十八掌等級的東東。如果還是有人想學習C/C+的話,有一些小問題我還是樂意解答的.但是我認為學習C/C+是不重 要的,重要的是如何鍛煉你的思路.不要找一些連自己都搞不清的問題去做.我認為雖然"潭浩強"同志有騙錢的嫌疑(我手頭就有一本幾乎一模一樣的英文書),但是,是他把這本 入門手冊引入中國,使無數(shù)程序員了解了 C語言,我想他的功勞也是不可磨滅的.在C語言程序設 計這本書中所有的例子都可以用做鍛煉思路的基石,他對大家的編程是很有幫助的.我認為是值得 一買的.去思考課后的例子對你的編程很有幫助.不要小看一個一個簡單的例子,他們是你通往成功 的道路.當你基本能
13、夠掌握了上一本書中例子后,你就要自己找一些例子程序去看.開始可能是看不懂,但是 只要努力就沒有什么問題.當你看過幾個較大的例子之后,你會茅塞頓開,(大量閱讀例子程序是學習 C/C+的捷徑).你會發(fā)現(xiàn),你的水平有了顯著的提高.你看的例子越多,你對Windows/DOS 了解的越 多.最好能夠再看一些關(guān)于系統(tǒng)知識的書籍.他會對你的編程很有幫助的.這是我學習C/C+的一點心得,希望對沒有被我嚇到而要繼續(xù)學習 C/C+的朋友們有一些幫助.免 得有些同志說我破壞中國軟件人才的發(fā)展.在最后我祝愿所有堅持學習 C/C+的朋友們成功!同時感謝閱讀過我文章的同志們想學好C+ ,非學C不可! ! !今天我這么肯定
14、的在這里講這番話, 是不想初學者陷入到語言越新越好的誤區(qū), 本來這個題目就不 是很嚴謹,但是我有幾句話必須講講,為 C平反!C+與C有什么不同呢?我們現(xiàn)在一步步地來分析一下一、類,類我并不說它有什么不好,但是對于初學者,它是一個累贅。類的封裝使得初學者對程序 產(chǎn)生厭倦,感到不適和麻煩。二、引用,引用是C+中最臭屁的東西了,最好盡量不要用它,我就是從來不用引用,除非萬不 得已。引用對于初學者就更容易產(chǎn)生混淆,不知道哪個是引用,哪個是變量。三、函數(shù)的重載,初學者學函數(shù)的重載好像沒什么壞處,但是,這會使初學者潛意識里對 C語言 的變量類型的重要性產(chǎn)生淡化,要記住 C語言是對變量類型最敏感了的,變量的
15、類型在 C語言里 的重要性是不言而喻的。四、流操作符,和上面同樣的道理,使得對變量類型的重要性產(chǎn)生淡化,況且, cin這個東東有點 兒不怎么方便,有時會產(chǎn)生使初學者莫名其妙的結(jié)果。五、操作符重載,典型的高級應用,初學者可能根本用不著,這個東東會讓他們覺得C+很難,門檻高,看不懂。六、繼承,以及虛函數(shù),典型的模仿四不象,這種狗屁東西除了看起來深奧,實用價值很低。我怎么可能把某個類的類型的指針去指向另一個不同類型但是是繼承關(guān)系的類,來實現(xiàn)什么動態(tài)聯(lián)編,暈 還有些東東我就不發(fā)表評論了,如:new,delete操作符等七、誤區(qū):以問答形式:問:C+是面向?qū)ο蠡亩鳦是面向過程化的?. .'答:
16、第二對,第一問錯,C+并非完全面向?qū)ο蠡?,真正的面向?qū)ο蠡恼Z言恐怕只有Java才算得上。 . . I / 產(chǎn)問:C+能實現(xiàn)C所不能的功能嗎?1. X - -1 - - _答:至少我還沒有發(fā)現(xiàn) 問:學了 C再學C+有障礙嗎?比如程序設計思想 «I F-答:至少我還沒有看見誰有此癥狀。問:學了 C再學C+又要重頭開始嗎?答:不,C+下可以實現(xiàn)C語言的一切功能。問:我學完了 C 一定還要學C+才能編程嗎?答:完全沒必要。 S I 1問:C+比C好在哪里?答:更加符合軟件工程學問:學完了 C再學C+是不是很容易?答:那要看你是不是真正的學完了 C語言,我從C到C+就一個星期的睡覺前的時間看
17、兩眼書, 然后就大徹大悟。再跑到這里來發(fā)表些狗屁文章了。最近在網(wǎng)上看到了很多人的學習方法, 本人非常不贊同。很多人都想一口吃個胖子,要學就想學最 新的,好象沒有人愿意再去學那些老的,舊的編程語言了。但你們能學的懂嗎?不學 TC2。0等那些較早的優(yōu)秀編程語言,你們能理解的了 VC6。0?如果你真的能,我寧愿做你的徒弟!真是奇怪,那些最基本的語言都不懂的人,怎么可能去理解那些最新的編程語言?我學編程有三年了吧。成績也不算多,只有一個計算機四級證和一個高程證, 但我覺得我在學VC的時候還有很多的不明白的 地方。沒有人來教我,只能靠我自己,包括所有的成績在內(nèi),我都是靠自己,我從不報班。學 VC 的半年多來,我想我已經(jīng)基本入門,但依然有很多的困惑。剛開始學 VC,就面臨一個項目,我真 的猶如笨蛋一般,四處嚇摸,毫無頭緒,最后勉勉強強才算做個差不多。學好 VC再去學其他的高 級WINDOWS編程,我想那真是輕而易舉,畢竟WINDOWS的內(nèi)部的很多東西都能直接被 VC調(diào) 用,你首先就可以對 WINDOWS有個全新的認識,再去學
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶市物業(yè)服務合同范本示例
- 保理合同(日元)
- 房屋使用權(quán)合同轉(zhuǎn)租協(xié)議樣本
- 檢測服務合同范本:機構(gòu)合作篇
- 資產(chǎn)配置基金合同例文
- 度標準私人承包協(xié)議合同
- 農(nóng)產(chǎn)品購銷合同經(jīng)典合同范文
- 房地產(chǎn)項目苗木采購合同書模板
- 家電配件的表面裝飾與標識技術(shù)考核試卷
- 中介服務行業(yè)的人力資源服務標準考核試卷
- 2024年安徽省高校分類考試對口招生語文試卷真題(含答案)
- 2025年蘇州健雄職業(yè)技術(shù)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年八省聯(lián)考高考語文試題真題解讀及答案詳解課件
- 《電力系統(tǒng)綜合實踐》課程教學大綱
- 施工安全生產(chǎn)風險分級管控和隱患排查治理雙重預防機制建設實施方案
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 2024年度咨詢服務合同:企業(yè)管理咨詢服務
- 涼山州西昌市人民醫(yī)院招聘筆試真題2023
- 住建局條文解讀新規(guī)JGJT46-2024《施工現(xiàn)場臨時用電安全技術(shù)標準》
- 《網(wǎng)頁設計與制作案例實戰(zhàn)教程》全套教學課件
- 2024店鋪共同經(jīng)營合同
評論
0/150
提交評論