

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1C基礎(chǔ)教程教程Beta版原作:原作:JuanSouli翻譯:JingXu(aqua)英文原版英文原版本教程根據(jù)本教程根據(jù)JuanSoulie的英文版的英文版C教程翻教程翻譯并改并改編。本版本版為最新校最新校對版,尚未定稿。如有不明或版,尚未定稿。如有不明或錯誤錯誤之處,請參考英文原版,并敬參考英文原版,并敬請在本站留言指正。版在本站留言指正。版權(quán)歸權(quán)歸作者所有,作者所有,歡迎鏈接,接,請勿轉(zhuǎn)載轉(zhuǎn)載。本教程本教程對C語言進行了深入淺出的
2、介行了深入淺出的介紹,從基,從基礎(chǔ)知識到ANSIC標準的最新功能,內(nèi)容涵蓋了從數(shù)準的最新功能,內(nèi)容涵蓋了從數(shù)組,類等基本概念到多等基本概念到多態(tài)、模板等高、模板等高級概念。教程本著概念。教程本著實用的原用的原則,每一小,每一小節(jié)都結(jié)合了可以工作的程合了可以工作的程序?qū)嵗?,以便例,以便讀者從第一者從第一課開始就可以上手開始就可以上手實習實習。本翻本翻譯版本版本對許對許多C概念中的關(guān)概念中的關(guān)鍵詞鍵詞保留了中英文保留了中英文對照,以便照,以
3、便讀者增者增強理解,并方便日后理解,并方便日后閱讀閱讀英文原版教材英文原版教材目錄1.簡介怎樣使用本教程使用本教程2.C基礎(chǔ)BasicsofC1.C程序程序結(jié)構(gòu)Structureofaprogram2.變量和數(shù)據(jù)量和數(shù)據(jù)類型VariablesDatatypes3.常量常量Constants4.操作符操作符運算符運算符Operats5.控制臺交互控制臺交互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.動態(tài)動態(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.出錯處錯處理Exceptionhling4.類型轉(zhuǎn)換轉(zhuǎn)換高級AdvacnedClassTypecasting5.預處預處理指令理指令PreprocessDirectives7.C標準函數(shù)
7、準函數(shù)庫CStardLibrary1.文件的文件的輸入輸出InputOutputwithfilesC基礎(chǔ)教程教程簡介怎樣使用本教程使用本教程讀者范者范圍本教程面向所有希望學本教程面向所有希望學習C語言的言的讀者。如果者。如果讀者有其他者有其他編程語言背景或言背景或計算機相關(guān)基本知算機相關(guān)基本知識可以幫助更好的理解教程內(nèi)容,但可以幫助更好的理解教程內(nèi)容,但這并非并非必須條件。條件。對于C語言熟悉的言熟悉的讀者可將前三章(者可將前三章(1.
8、1到3.4)當作復)當作復習,因,因為這為這部分內(nèi)容主要介部分內(nèi)容主要介紹C中的中的C部分。不部分。不過某些某些C的語法與法與C還是有些差是有些差別,所以建,所以建議還議還是快速的是快速的讀一下一下這部分。部分。第四章第四章講述面向述面向?qū)ο缶幊?。程。第五章主要介第五章主要介紹ANSIC標準中的新增的功能。準中的新增的功能。本教程本教程結(jié)構(gòu)教程共分教程共分6章,每章分若干小章,每章分若干小節(jié)。你可以直接從主目。你可以直接從主目錄進錄進入
9、任意小入任意小節(jié),并循每,并循每頁底部的底部的鏈接向后接向后瀏覽瀏覽。3在C中,中,語句的分隔是以分號句的分隔是以分號()為分隔符的。分行寫代分隔符的。分行寫代碼只是只是為了更方便人了更方便人閱讀閱讀。以下程序包含更多的以下程序包含更多的語句:句:mysecondprograminC#includeintmain()coutintmain()cout“HelloWld!“saysHelloWld!cout“ImaCprogram“say
10、sImaCprogramreturn0HelloWld!ImaCprogram如果你在源程序中插入了注如果你在源程序中插入了注釋而沒有用而沒有用符號或符號或和符號,符號,編譯編譯器會把它器會把它們當成當成C的語句,那么在句,那么在編譯時編譯時就會出就會出現(xiàn)一個或多個一個或多個錯誤錯誤信息信息。1.2變量和數(shù)據(jù)量和數(shù)據(jù)類型(VariablesDatatypes)你可能你可能覺得這個“HellowWld”程序用程序用處不大。我不大。我們寫了
11、好幾行代寫了好幾行代碼,編譯編譯,然后,然后執(zhí)行生成的程序只是行生成的程序只是為了在屏幕上看到一句了在屏幕上看到一句話。的確,我。的確,我們直接在屏幕上打出直接在屏幕上打出這句話會更快。但是會更快。但是編程并不程并不僅限于在屏幕上打出文字限于在屏幕上打出文字這么簡單簡單的工作。的工作。為了能了能夠進夠進一步寫出可以一步寫出可以執(zhí)行更有用的任行更有用的任務(wù)的程序,我的程序,我們需要引入需要引入變量(量(variable)這個的概念。個的概
12、念。讓我們設(shè)們設(shè)想這樣這樣一個例子,我要求你在一個例子,我要求你在腦子里子里記住5這個數(shù)字,然后再個數(shù)字,然后再記住2這個數(shù)字。你已個數(shù)字。你已經(jīng)存儲了兩個數(shù)了兩個數(shù)值在你的在你的記憶記憶里。里。現(xiàn)在我要求你在我要求你在我在我說的第一個數(shù)的第一個數(shù)值上加上加1,你,你應(yīng)該應(yīng)該保留保留6(即(即51)和)和2在你的在你的記憶記憶里。里?,F(xiàn)在如果我在如果我們將兩數(shù)相減可以得到將兩數(shù)相減可以得到結(jié)果4。所有所有這些你在些你在腦子里做的事情與子
13、里做的事情與計算機用兩個算機用兩個變量可以做的事情非常相似。同量可以做的事情非常相似。同樣的處理過程用程用C來表示可以寫成下面一段代來表示可以寫成下面一段代碼:a=5b=2a=a1result=ab很明很明顯這顯這是一個很是一個很簡單簡單的例子,因的例子,因為我們只用了兩個小的整數(shù)數(shù)只用了兩個小的整數(shù)數(shù)值。但是想一想你的。但是想一想你的電腦電腦可以同可以同時存儲成千上萬成千上萬這樣這樣的數(shù)的數(shù)值,并,并進行復行復雜的數(shù)學運算。的數(shù)學運算
14、。因此,我因此,我們可以將可以將變量(量(variable)定)定義為義為內(nèi)存的一部分,用以存內(nèi)存的一部分,用以存儲一個確定的一個確定的值。每一個每一個變量(variable)需要一個需要一個標識標識,以便將它與其他,以便將它與其他變量相區(qū)量相區(qū)別,例如,在前面的代,例如,在前面的代碼中,中,變量標識標識是ab和result。我。我們可以可以給變給變量起任何名字,只要它量起任何名字,只要它們是有效的是有效的標識標識符。符。標識標識(Id
15、entifiers)有效有效標識標識由字母由字母(letter),數(shù)字,數(shù)字(digits)和下劃和下劃線(_)組成。成。標識標識的長度沒有限制,但是有些度沒有限制,但是有些編譯編譯器只取前器只取前32個字符(剩下的字符會被忽略)。個字符(剩下的字符會被忽略)??崭窨崭?spaces),標點(punctuationmarks)和符號和符號(symbols)都不可以出都不可以出現(xiàn)在標識標識中。中。只有字母只有字母(letters),數(shù)字,
16、數(shù)字(digits)和下劃和下劃線(_)是合法的。并且是合法的。并且變量標識標識必須以字母開以字母開頭。標識標識也可能以下劃也可能以下劃線(_)開)開頭,但,但這種標識標識通常是保留通常是保留給為給為外部外部連接用的。接用的。標識標識不可不可以以數(shù)字開以以數(shù)字開頭。必須注意的另一條注意的另一條規(guī)則規(guī)則是當你是當你給變給變量起名字量起名字時不可以和不可以和C語言的關(guān)言的關(guān)鍵字或你所使用的字或你所使用的編譯編譯器的特殊關(guān)器的特殊關(guān)鍵字同名,
17、因字同名,因為這樣為這樣與這些關(guān)些關(guān)鍵字產(chǎn)生混淆。例如,以下列出生混淆。例如,以下列出標準保留關(guān)準保留關(guān)鍵字,他字,他們不允不允許被用作被用作變量標識標識名稱:名稱: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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++基礎(chǔ)教程
- c++設(shè)計模式基礎(chǔ)教程
- c++基礎(chǔ)教程完整版
- c#基礎(chǔ)教程
- c#基礎(chǔ)教程
- c語言基礎(chǔ)教程
- cad學習基礎(chǔ)教程2007
- c++基礎(chǔ)實例教程
- [學習]素描基礎(chǔ)教程透視空間
- excelwps使用技巧基礎(chǔ)教程學習
- c語言基礎(chǔ)教程經(jīng)典100例
- css基礎(chǔ)教程
- adobeaudition基礎(chǔ)教程
- 和聲基礎(chǔ)教程
- 攝影基礎(chǔ)教程
- excel基礎(chǔ)教程
- proteldxp基礎(chǔ)教程
- qtpvbs基礎(chǔ)教程
- bartender基礎(chǔ)教程
- vb基礎(chǔ)教程
評論
0/150
提交評論