C++教程,從入門(mén)到精通,chap-01.ppt_第1頁(yè)
C++教程,從入門(mén)到精通,chap-01.ppt_第2頁(yè)
C++教程,從入門(mén)到精通,chap-01.ppt_第3頁(yè)
C++教程,從入門(mén)到精通,chap-01.ppt_第4頁(yè)
C++教程,從入門(mén)到精通,chap-01.ppt_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第1章 C+語(yǔ)言概述,C+語(yǔ)言的發(fā)展歷史 C+語(yǔ)言的特點(diǎn) 使用VS .NET調(diào)試C+程序,C+語(yǔ)言的發(fā)展歷史,程序設(shè)計(jì)語(yǔ)言的分類(lèi) C+語(yǔ)言的發(fā)展歷史,機(jī)器語(yǔ)言,機(jī)器語(yǔ)言的語(yǔ)句是由0/1代碼組成的。它與硬件緊密相關(guān),是機(jī)器硬件惟一能識(shí)別的語(yǔ)言。 使用機(jī)器語(yǔ)言進(jìn)行程序設(shè)計(jì)的最大優(yōu)點(diǎn)是可以獲得高效的代碼,因?yàn)樗梢猿浞质褂糜布乃刑匦?代碼由0/1組成,很難理解。 用機(jī)器語(yǔ)言為一種機(jī)器硬件編寫(xiě)的程序很難應(yīng)用到另一種機(jī)器上,匯編語(yǔ)言,是一種使用助記符編寫(xiě)程序的語(yǔ)言,與機(jī)器語(yǔ)言相比從形式上相對(duì)簡(jiǎn)單易學(xué) 匯編語(yǔ)言并沒(méi)有改變針對(duì)硬件進(jìn)行程序設(shè)計(jì)的本質(zhì),匯編語(yǔ)言到機(jī)器語(yǔ)言的翻譯十分容易,幾乎是一一對(duì)應(yīng)的關(guān)系

2、。 機(jī)器語(yǔ)言與匯編語(yǔ)言都是針對(duì)機(jī)器硬件的程序設(shè)計(jì)語(yǔ)言,通常稱(chēng)為低級(jí)語(yǔ)言。,高級(jí)語(yǔ)言,與低級(jí)語(yǔ)言相比,高級(jí)語(yǔ)言所使用的語(yǔ)句更加接近于自然語(yǔ)言,符合人類(lèi)的記憶習(xí)慣,并且使用了人類(lèi)語(yǔ)言中的某些語(yǔ)句來(lái)表述控制過(guò)程和程序結(jié)構(gòu),易學(xué)易用。 需要一個(gè)翻譯軟件將高級(jí)語(yǔ)言的語(yǔ)句翻譯成機(jī)器可以理解的指令才能夠正確運(yùn)行,編譯和解釋,編譯 在程序的所有源代碼都編寫(xiě)完成之后,再用高級(jí)語(yǔ)言的編譯程序?qū)⑺械脑创a翻譯成機(jī)器可以理解的指令 可以對(duì)翻譯過(guò)來(lái)的機(jī)器指令進(jìn)行整體的優(yōu)化, 解釋 在源代碼的輸入過(guò)程中,一行代碼輸入完成就將這行代碼翻譯成機(jī)器指令。 無(wú)法對(duì)程序進(jìn)行整體的優(yōu)化 方便調(diào)試程序,中級(jí)語(yǔ)言,由于C語(yǔ)言和C+語(yǔ)言

3、能夠?qū)崿F(xiàn)其他高級(jí)語(yǔ)言不能夠?qū)崿F(xiàn),但是匯編語(yǔ)言能夠?qū)崿F(xiàn)的某些功能,因此它既具有高級(jí)語(yǔ)言的特性,又具有低級(jí)語(yǔ)言的特性,集高級(jí)語(yǔ)言與低級(jí)語(yǔ)言的優(yōu)點(diǎn)于一身,因此有些文獻(xiàn)稱(chēng)之為中級(jí)語(yǔ)言 對(duì)內(nèi)存地址的操作 對(duì)內(nèi)存地址的位操作,C+語(yǔ)言的發(fā)展歷史(1),1963年,英國(guó)的劍橋大學(xué)推出了CPL(Combined Programming Language)語(yǔ)言。 1970年,美國(guó)Bell實(shí)驗(yàn)室的Ken Thompson又以BCPL語(yǔ)言為基礎(chǔ),設(shè)計(jì)出更加簡(jiǎn)單并接近硬件的B語(yǔ)言。 1973年Bell實(shí)驗(yàn)室的D. M. Ritchie在B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出C語(yǔ)言1978年,B.W.Kernighan和D.M.Ritc

4、hie合寫(xiě)了The C Programming Language, 成為現(xiàn)在廣泛使用的C語(yǔ)言的基礎(chǔ),通常被稱(chēng)為標(biāo)準(zhǔn)C。 1983年,ANSI(American National Standards Institute)制定了C的標(biāo)準(zhǔn),稱(chēng)為ANSI C。 1990年ISO(International Standards Organization)接受87 ANSI C標(biāo)準(zhǔn),從而形成ISO C。,C+語(yǔ)言的發(fā)展歷史(2),1979年,Bjarne Stroustrup在Bell實(shí)驗(yàn)室發(fā)明了C+語(yǔ)言。 1994年,ANSI和ISO成立了一個(gè)聯(lián)合標(biāo)準(zhǔn)化委員會(huì)共同為C+定制標(biāo)準(zhǔn),并制定了第一個(gè)草稿。,C

5、+語(yǔ)言的特點(diǎn),程序設(shè)計(jì)方法 C+語(yǔ)言的特色,結(jié)構(gòu)化程序設(shè)計(jì)方法,又稱(chēng)為面向過(guò)程程序設(shè)計(jì)方法 通常要使用的方法是:自頂向下、逐步求精、模塊化設(shè)計(jì)和結(jié)構(gòu)化編碼。 結(jié)構(gòu)化程序設(shè)計(jì)方法是面向數(shù)據(jù)和過(guò)程的程序設(shè)計(jì)方法。 很難實(shí)現(xiàn)軟件的可重用,并且要保持?jǐn)?shù)據(jù)和過(guò)程的完全一致也十分困難,面向?qū)ο蟪绦蛟O(shè)計(jì)方法,世界是由對(duì)象組成的,而各個(gè)對(duì)象都有反映其個(gè)性的屬性;另外,世界上所有的對(duì)象都是處于不斷運(yùn)動(dòng)和發(fā)展過(guò)程中,對(duì)象之間通過(guò)消息相互作用,而對(duì)象的行為是對(duì)象運(yùn)動(dòng)發(fā)展的體現(xiàn)。 所有的OOP程序設(shè)計(jì)語(yǔ)言都有3個(gè)共有的特性:即封裝性、多態(tài)性和繼承性。,封裝性,封裝性是指將代碼和代碼所要處理的數(shù)據(jù)綁定在一起,并采用一定

6、的機(jī)制保證代碼和數(shù)據(jù)的安全,使其不受外部因素的干擾。 將數(shù)據(jù)(或稱(chēng)為數(shù)據(jù)成員)和處理數(shù)據(jù)的函數(shù)(或稱(chēng)為成員函數(shù))封裝到一個(gè)類(lèi)(Class)中,而在程序中通過(guò)對(duì)象來(lái)使用類(lèi)。 數(shù)據(jù)成員和成員函數(shù)的屬性可以是私有的(Private),也可以是公有的(Public)。 私有數(shù)據(jù)成員和成員函數(shù)只能被對(duì)象內(nèi)部的其他代碼訪問(wèn);而公有的數(shù)據(jù)成員和成員函數(shù)則可以被對(duì)象之內(nèi)和對(duì)象之外的代碼所訪問(wèn)。,多態(tài)性,多態(tài)性允許使用同一個(gè)接口來(lái)訪問(wèn)一類(lèi)通用的操作。 “一個(gè)接口,多種方法” 一旦定義好了接口,那么用戶(hù)只要知道如何使用這個(gè)接口就可以得到不同方法的執(zhí)行結(jié)果,而選擇哪個(gè)方法進(jìn)行處理則由編譯器來(lái)完成。,繼承性,繼承性是

7、指一個(gè)對(duì)象從其他對(duì)象中獲取成員的過(guò)程。 在現(xiàn)實(shí)生活中,有許多繼承的例子。 如果沒(méi)有繼承性,那么所有的對(duì)象都需要定義自己的所有特性,這樣就會(huì)重復(fù)定義很多特性;而有了繼承性,那么一種特性在系統(tǒng)中只有一次惟一的定義。,C+語(yǔ)言的特色,在原來(lái)面向過(guò)程的機(jī)制基礎(chǔ)上,對(duì)C語(yǔ)言的功能進(jìn)行了擴(kuò)充。 增加了面向?qū)ο蟮臋C(jī)制。,使用VS .NET調(diào)試C+程序,什么是VS.NET 第一個(gè)C+程序,什么是VS.NET,Visual Studio .NET 是一套完整的開(kāi)發(fā)工具,用于生成 ASP Web 應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。 在安裝了Visual Studio .NET

8、之后,就可以得到一個(gè)集Visual Basic .NET、Visual C+ .NET、Visual C# .NET 和 Visual J# .NET 為一體的集成開(kāi)發(fā)環(huán)境(IDE)。由于所有的語(yǔ)言都使用同樣的開(kāi)發(fā)環(huán)境,因此可以在使用它們的時(shí)候共享工具并創(chuàng)建混合語(yǔ)言解決方案。 .NET Framework是所有這些語(yǔ)言的基礎(chǔ)。而這個(gè)框架是Microsoft .NET計(jì)劃的基礎(chǔ),是一種新的計(jì)算平臺(tái),使用它可以簡(jiǎn)化在高度分布式 Internet 環(huán)境中應(yīng)用程序的開(kāi)發(fā)。,公共語(yǔ)言運(yùn)行庫(kù)CLR,公共語(yǔ)言運(yùn)行庫(kù)是 .NET Framework 的基礎(chǔ)。 可以將運(yùn)行庫(kù)看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,它提供的核心服務(wù)有內(nèi)存管理、線程管理和遠(yuǎn)程處理等,還強(qiáng)制實(shí)施嚴(yán)格的類(lèi)型安全以確保安全性、可靠性和準(zhǔn)確性。 被運(yùn)行庫(kù)管理的代碼稱(chēng)為托管代碼,而不被運(yùn)行庫(kù)管理的代碼稱(chēng)為非托管代碼。 在托管應(yīng)用程序中,所有的代碼在編譯時(shí)生成的都是中間語(yǔ)言(IL,Intermediate Language)而不是機(jī)器可以識(shí)別的機(jī)器代碼,由.NET Framework的CLR將IL文件真正翻譯成機(jī)器語(yǔ)言。,類(lèi)庫(kù),是一個(gè)綜合性的面向?qū)ο蟮目?/p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論