c++基礎(chǔ)教程學(xué)習(xí)_第1頁
已閱讀1頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1C基礎(chǔ)教程教程Beta版原作:原作:JuanSouli翻譯:JingXu(aqua)英文原版英文原版本教程根據(jù)本教程根據(jù)JuanSoulie的英文版的英文版C教程翻教程翻譯并改并改編。本版本版為最新校最新校對版,尚未定稿。如有不明或版,尚未定稿。如有不明或錯(cuò)誤錯(cuò)誤之處,請參考英文原版,并敬參考英文原版,并敬請?jiān)诒菊玖粞灾刚?。版在本站留言指正。版?quán)歸權(quán)歸作者所有,作者所有,歡迎鏈接,接,請勿轉(zhuǎn)載轉(zhuǎn)載。本教程本教程對C語言進(jìn)行了深入淺出的

2、介行了深入淺出的介紹,從基,從基礎(chǔ)知識(shí)到ANSIC標(biāo)準(zhǔn)的最新功能,內(nèi)容涵蓋了從數(shù)準(zhǔn)的最新功能,內(nèi)容涵蓋了從數(shù)組,類等基本概念到多等基本概念到多態(tài)、模板等高、模板等高級概念。教程本著概念。教程本著實(shí)用的原用的原則,每一小,每一小節(jié)都結(jié)合了可以工作的程合了可以工作的程序?qū)嵗员憷?,以便讀者從第一者從第一課開始就可以上手開始就可以上手實(shí)習(xí)實(shí)習(xí)。本翻本翻譯版本版本對許對許多C概念中的關(guān)概念中的關(guān)鍵詞鍵詞保留了中英文保留了中英文對照,以便照,以

3、便讀者增者增強(qiáng)理解,并方便日后理解,并方便日后閱讀閱讀英文原版教材英文原版教材目錄1.簡介怎樣使用本教程使用本教程2.C基礎(chǔ)BasicsofC1.C程序程序結(jié)構(gòu)Structureofaprogram2.變量和數(shù)據(jù)量和數(shù)據(jù)類型VariablesDatatypes3.常量常量Constants4.操作符操作符運(yùn)算符運(yùn)算符Operats5.控制臺(tái)交互控制臺(tái)交互Communicationthroughconsole3.控制控制結(jié)構(gòu)和函數(shù)構(gòu)和函數(shù)

4、ControlstructuresFunctions1.控制控制結(jié)構(gòu)ControlStructures2.函數(shù)函數(shù)IFunctionsI3.函數(shù)函數(shù)IIFunctionsII4.高級數(shù)據(jù)數(shù)據(jù)類型AdvancedData1.數(shù)組Arrays2.字符序列字符序列acterSequences3.指針Pointers4.動(dòng)態(tài)動(dòng)態(tài)內(nèi)存分配內(nèi)存分配Dynamicmemy5.數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)DataStructures6.自定自定義數(shù)據(jù)數(shù)據(jù)類型Userd

5、efineddatatypes5.面向面向?qū)ο缶幊蘋bjectientedProgramming1.類,構(gòu)造函數(shù)和析構(gòu)函數(shù),,構(gòu)造函數(shù)和析構(gòu)函數(shù),類的指的指針Classes.ConstructsDestructs.Pointerstoclasses.2.操作符重操作符重載this靜態(tài)成員OverloadingOperats.this.Staticmembers3.類之間的關(guān)系的關(guān)系Relationshipsbetweenclasses:

6、friend.Inheritance4.虛擬成員,抽象,多,抽象,多態(tài)VirtualMembers.Abstraction.Polymphism6.C高級Advancedconcepts1.模板模板Templates2.名空名空間Namespaces3.出錯(cuò)處錯(cuò)處理Exceptionhling4.類型轉(zhuǎn)換轉(zhuǎn)換高級AdvacnedClassTypecasting5.預(yù)處預(yù)處理指令理指令PreprocessDirectives7.C標(biāo)準(zhǔn)函數(shù)

7、準(zhǔn)函數(shù)庫CStardLibrary1.文件的文件的輸入輸出InputOutputwithfilesC基礎(chǔ)教程教程簡介怎樣使用本教程使用本教程讀者范者范圍本教程面向所有希望學(xué)本教程面向所有希望學(xué)習(xí)C語言的言的讀者。如果者。如果讀者有其他者有其他編程語言背景或言背景或計(jì)算機(jī)相關(guān)基本知算機(jī)相關(guān)基本知識(shí)可以幫助更好的理解教程內(nèi)容,但可以幫助更好的理解教程內(nèi)容,但這并非并非必須條件。條件。對于C語言熟悉的言熟悉的讀者可將前三章(者可將前三章(1.

8、1到3.4)當(dāng)作復(fù))當(dāng)作復(fù)習(xí),因,因?yàn)檫@為這部分內(nèi)容主要介部分內(nèi)容主要介紹C中的中的C部分。不部分。不過某些某些C的語法與法與C還是有些差是有些差別,所以建,所以建議還議還是快速的是快速的讀一下一下這部分。部分。第四章第四章講述面向述面向?qū)ο缶幊?。程。第五章主要介第五章主要介紹ANSIC標(biāo)準(zhǔn)中的新增的功能。準(zhǔn)中的新增的功能。本教程本教程結(jié)構(gòu)教程共分教程共分6章,每章分若干小章,每章分若干小節(jié)。你可以直接從主目。你可以直接從主目錄進(jìn)錄進(jìn)入

9、任意小入任意小節(jié),并循每,并循每頁底部的底部的鏈接向后接向后瀏覽瀏覽。3在C中,中,語句的分隔是以分號(hào)句的分隔是以分號(hào)()為分隔符的。分行寫代分隔符的。分行寫代碼只是只是為了更方便人了更方便人閱讀閱讀。以下程序包含更多的以下程序包含更多的語句:句:mysecondprograminC#includeintmain()coutintmain()cout“HelloWld!“saysHelloWld!cout“ImaCprogram“say

10、sImaCprogramreturn0HelloWld!ImaCprogram如果你在源程序中插入了注如果你在源程序中插入了注釋而沒有用而沒有用符號(hào)或符號(hào)或和符號(hào),符號(hào),編譯編譯器會(huì)把它器會(huì)把它們當(dāng)成當(dāng)成C的語句,那么在句,那么在編譯時(shí)編譯時(shí)就會(huì)出就會(huì)出現(xiàn)一個(gè)或多個(gè)一個(gè)或多個(gè)錯(cuò)誤錯(cuò)誤信息信息。1.2變量和數(shù)據(jù)量和數(shù)據(jù)類型(VariablesDatatypes)你可能你可能覺得這個(gè)“HellowWld”程序用程序用處不大。我不大。我們寫了

11、好幾行代寫了好幾行代碼,編譯編譯,然后,然后執(zhí)行生成的程序只是行生成的程序只是為了在屏幕上看到一句了在屏幕上看到一句話。的確,我。的確,我們直接在屏幕上打出直接在屏幕上打出這句話會(huì)更快。但是會(huì)更快。但是編程并不程并不僅限于在屏幕上打出文字限于在屏幕上打出文字這么簡單簡單的工作。的工作。為了能了能夠進(jìn)夠進(jìn)一步寫出可以一步寫出可以執(zhí)行更有用的任行更有用的任務(wù)的程序,我的程序,我們需要引入需要引入變量(量(variable)這個(gè)的概念。個(gè)的概

12、念。讓我們設(shè)們設(shè)想這樣這樣一個(gè)例子,我要求你在一個(gè)例子,我要求你在腦子里子里記住5這個(gè)數(shù)字,然后再個(gè)數(shù)字,然后再記住2這個(gè)數(shù)字。你已個(gè)數(shù)字。你已經(jīng)存儲(chǔ)了兩個(gè)數(shù)了兩個(gè)數(shù)值在你的在你的記憶記憶里。里。現(xiàn)在我要求你在我要求你在我在我說的第一個(gè)數(shù)的第一個(gè)數(shù)值上加上加1,你,你應(yīng)該應(yīng)該保留保留6(即(即51)和)和2在你的在你的記憶記憶里。里。現(xiàn)在如果我在如果我們將兩數(shù)相減可以得到將兩數(shù)相減可以得到結(jié)果4。所有所有這些你在些你在腦子里做的事情與子

13、里做的事情與計(jì)算機(jī)用兩個(gè)算機(jī)用兩個(gè)變量可以做的事情非常相似。同量可以做的事情非常相似。同樣的處理過程用程用C來表示可以寫成下面一段代來表示可以寫成下面一段代碼:a=5b=2a=a1result=ab很明很明顯這顯這是一個(gè)很是一個(gè)很簡單簡單的例子,因的例子,因?yàn)槲覀冎挥昧藘蓚€(gè)小的整數(shù)數(shù)只用了兩個(gè)小的整數(shù)數(shù)值。但是想一想你的。但是想一想你的電腦電腦可以同可以同時(shí)存儲(chǔ)成千上萬成千上萬這樣這樣的數(shù)的數(shù)值,并,并進(jìn)行復(fù)行復(fù)雜的數(shù)學(xué)運(yùn)算。的數(shù)學(xué)運(yùn)算

14、。因此,我因此,我們可以將可以將變量(量(variable)定)定義為義為內(nèi)存的一部分,用以存內(nèi)存的一部分,用以存儲(chǔ)一個(gè)確定的一個(gè)確定的值。每一個(gè)每一個(gè)變量(variable)需要一個(gè)需要一個(gè)標(biāo)識(shí)標(biāo)識(shí),以便將它與其他,以便將它與其他變量相區(qū)量相區(qū)別,例如,在前面的代,例如,在前面的代碼中,中,變量標(biāo)識(shí)標(biāo)識(shí)是ab和result。我。我們可以可以給變給變量起任何名字,只要它量起任何名字,只要它們是有效的是有效的標(biāo)識(shí)標(biāo)識(shí)符。符。標(biāo)識(shí)標(biāo)識(shí)(Id

15、entifiers)有效有效標(biāo)識(shí)標(biāo)識(shí)由字母由字母(letter),數(shù)字,數(shù)字(digits)和下劃和下劃線(_)組成。成。標(biāo)識(shí)標(biāo)識(shí)的長度沒有限制,但是有些度沒有限制,但是有些編譯編譯器只取前器只取前32個(gè)字符(剩下的字符會(huì)被忽略)。個(gè)字符(剩下的字符會(huì)被忽略)??崭窨崭?spaces),標(biāo)點(diǎn)(punctuationmarks)和符號(hào)和符號(hào)(symbols)都不可以出都不可以出現(xiàn)在標(biāo)識(shí)標(biāo)識(shí)中。中。只有字母只有字母(letters),數(shù)字,

16、數(shù)字(digits)和下劃和下劃線(_)是合法的。并且是合法的。并且變量標(biāo)識(shí)標(biāo)識(shí)必須以字母開以字母開頭。標(biāo)識(shí)標(biāo)識(shí)也可能以下劃也可能以下劃線(_)開)開頭,但,但這種標(biāo)識(shí)標(biāo)識(shí)通常是保留通常是保留給為給為外部外部連接用的。接用的。標(biāo)識(shí)標(biāo)識(shí)不可不可以以數(shù)字開以以數(shù)字開頭。必須注意的另一條注意的另一條規(guī)則規(guī)則是當(dāng)你是當(dāng)你給變給變量起名字量起名字時(shí)不可以和不可以和C語言的關(guān)言的關(guān)鍵字或你所使用的字或你所使用的編譯編譯器的特殊關(guān)器的特殊關(guān)鍵字同名,

17、因字同名,因?yàn)檫@樣為這樣與這些關(guān)些關(guān)鍵字產(chǎn)生混淆。例如,以下列出生混淆。例如,以下列出標(biāo)準(zhǔn)保留關(guān)準(zhǔn)保留關(guān)鍵字,他字,他們不允不允許被用作被用作變量標(biāo)識(shí)標(biāo)識(shí)名稱:名稱:asmautoboolbreakcasecatchclassconstconst_castcontinuedefaultdodoubledynamic_castelseenumexplicitexternfalsefloatffriendgotoifinlineintlon

18、gmutablenamespacenewoperatprivateprotectedpublicregisterreinterpret_castreturnshtsignedsizeofstaticstatic_caststructswitchtemplatethisthrowtruetrytypedeftypeidtypenameunionunsignedusingvirtualvoidvolatilew_twhile另外,不要使用一

溫馨提示

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

評論

0/150

提交評論