版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,序及第0章,2,程式設(shè)計學(xué)習(xí)路徑,3,大綱,0.1本書起源與目的 0.2本書簡介 0.3本書範(fàn)例 0.4 作業(yè)系統(tǒng)的選擇 0.5 編譯器及整合開發(fā)環(huán)境的選擇 0.6本書光碟使用說明 0.7本書範(fàn)例注意事項 0.8出版後記,4,C/C+的重要性歷經(jīng)二十年未曾改變過,雖然後來流行了Visual Basic、Java、Object Pascal等等程式語言,但始終無法撼動C/C+的重要地位。這並不是沒有原因的, 第一個重要的原因,當(dāng)然是大多數(shù)資深程式設(shè)計師幾乎都會C/C+; 第二個原因則是C的速度僅次於組合語言; 第三個原因則是C+的物件導(dǎo)向支援種類,僅次於Ada; 最後一個原因則是C/C+可以
2、跨越Linux/Windows/MS-DOS/Mac等多種平臺,雖然它不如Java使用Virtual Machine達到這項功能,但卻由於編譯器的普及,使得在眾多平臺上開發(fā)C/C+完全不是問題。 除此之外,對於專攻較低階硬體程式(例如驅(qū)動程式、8051等等)的工程師而言,除了學(xué)會組合語言外,使用C來開發(fā)程式也能夠加快程式開發(fā)時程。,0.1本書起源與目的,5,0.1本書起源與目的,對於許多初學(xué)習(xí)程式設(shè)計的人來說,從文字模式(Console Mode)的C/C+程式設(shè)計開始學(xué)習(xí),雖稱不上是最適當(dāng)?shù)倪x擇,但卻可以打下非常深厚的程式設(shè)計基礎(chǔ)。對於未來提升至視窗程式設(shè)計時,也非常有幫助。 為了滿足初學(xué)程
3、式設(shè)計讀者的需求,本書除了使用大量範(fàn)例解說C/C+,並且將範(fàn)例區(qū)分為【觀念範(fàn)例】與【實用範(fàn)例】,在觀念範(fàn)例中,我們將以解說C/C+語法為主,而在實用範(fàn)例中,則會加入許多常見好用的程式,並且循序漸進地組合成一個完整功能強大的程式,例如我們會先設(shè)計一個樂透開獎程式,並且逐步地改良該程式,使得該程式具有更大的彈性。 同時在不同的章節(jié)中,我們將可能採用不同的方法來完成、增強或改寫同一個範(fàn)例。讀者同樣應(yīng)該培養(yǎng)相同的程式設(shè)計觀念程式設(shè)計沒有標(biāo)準(zhǔn)答案,只要能夠完成需求的方法,都算是正確的答案。但重點是,初學(xué)者應(yīng)該實際撰寫程式,而非用看程式的方式來學(xué)習(xí)。,6,0.2本書簡介,本書共分為17章(包含第0章),在
4、第0章中,我們首先介紹本書起源與本書目的,並且提供閱讀本書所需要的檔案安裝方法(隨書光碟)。 剩餘16章的章節(jié)安排則主要來自多位老師依照教學(xué)經(jīng)驗所提供的意見加以編排,並大略可以分為兩個單元,分別是C程式設(shè)計單元與C+程式設(shè)計單元。 附錄分為兩大部分,分別是書籍附錄與電子書附錄。 書籍附錄主要是記載一些編譯器的使用說明,包含GCC(g+、gcc)、Dev-C+、Borland C+ Builder、Microsoft Visual C+。除此之外,也包含了最常使用的ASCII字元表及本書的C/C+函式庫速查表。 電子附錄是為了補充額外的相關(guān)資料,包含名稱空間(namespace)的進階程式設(shè)計、
5、Linux除錯器GDB的使用與參數(shù)說明、Linux的整合開發(fā)環(huán)境(RHIDE、Xwpe、KDevelop)、Linux的系統(tǒng)呼叫(system call)使用說明、C語言的文法、C+語言的文法等等。,7,習(xí)題是本書的一項貼心設(shè)計,讀者可以從各章最後所附的習(xí)題中複習(xí)該章所學(xué)習(xí)的各項技術(shù),在程式設(shè)計方面,由於程式設(shè)計並沒有一定的標(biāo)準(zhǔn)答案,讀者只要想盡各種辦法完成習(xí)題的要求即可,但由於習(xí)題皆經(jīng)過精心設(shè)計,因此,會加入許多限制條件(例如不得引入某些函式庫),這是為了讓讀者能夠複習(xí)該章所學(xué)習(xí)到的技術(shù)。,0.2本書簡介,8,0.2本書簡介,以下是本書章節(jié)簡介 第0章:本書導(dǎo)讀與隨書光碟 第一單元 C程式設(shè)
6、計篇 第1章:計算機概論與C/C+簡介 第2章:C語言從零開始(C語言的基本結(jié)構(gòu)) 第3章:基本的資料處理(資料型態(tài)與運算式) 第4章:基本的輸出與輸入 第5章:流程控制 第6章:陣列與字串 第7章:函式與巨集 第8章:指標(biāo)與動態(tài)記憶體 第9章:變數(shù)等級 第10章:C語言進階,9,第二單元 C+程式設(shè)計篇 第11章:物件導(dǎo)向C+程式設(shè)計(類別與物件) 第12章:從C到C+(C+相對於C的變革) 第13章:類別繼承和虛擬函式 第14章:運算子覆載 第15章:樣板(Template) 第16章:例外處理,0.2本書簡介,10,0.2本書簡介,附錄 附錄A Linux的C+編譯器-GCC 附錄B 整
7、合開發(fā)環(huán)境Dev-C+ 附錄C 整合開發(fā)環(huán)境BCB(Borland C+ Builder) 附錄D 整合開發(fā)環(huán)境Visual C+ 附錄E ASCII字元對應(yīng)表 附錄F 本書C函式C+物件速查表 附錄G 本書電子附錄檔列表及說明 電子附錄(說明請見附錄G) 電子附錄A 名稱空間 電子附錄B Linux 的GDB除錯器 電子附錄C Linux的整合開發(fā)環(huán)境(IDE) 電子附錄D Linux提供的System Call C文法 C+文法,11,0.3本書範(fàn)例,本書的某些章節(jié)範(fàn)例有範(fàn)例、觀念範(fàn)例、實用範(fàn)例之分,範(fàn)例一般出現(xiàn)在本書前幾章中,通常是非常簡單的範(fàn)例,而觀念範(fàn)例則是用來解說C/C+語言的某些
8、特性,例如指標(biāo)、運算子覆載等等。實用範(fàn)例則將日常生活中的許多需求,使用程式設(shè)計來完成,例如設(shè)計一個樂透程式。 【註】:本書範(fàn)例中的行號是為了說明方便起見所設(shè)定的,所有的實際程式內(nèi)容都不應(yīng)該含有這些行號。,12,0.4 作業(yè)系統(tǒng)的選擇0.5 編譯器及整合開發(fā)環(huán)境的選擇,0.4 作業(yè)系統(tǒng)的選擇 本書範(fàn)例可以適用於所有的Windows平臺以及大多數(shù)的Unix-like平臺(例如Linux)。 0.5 編譯器及整合開發(fā)環(huán)境的選擇 您可以使用GCC 2.95、Dev-C+ 4.0、Borland C+ Builder 6、Microsoft Visual C+ 6(或更新版本)等編譯器或整合開發(fā)環(huán)境來編
9、譯本書範(fàn)例。如果您執(zhí)意使用歷史悠久的Turbo C+及Borland C+來編譯本書範(fàn)例,通常也不會發(fā)生錯誤(但可能必須修正名稱空間及標(biāo)頭檔引入格式)。,13,隨書光碟的內(nèi)容: (1)C_CPP目錄:內(nèi)含本書所有的範(fàn)例。(唯讀檔案) (2)C_CPPexercise目錄:存放各章習(xí)題所需要檔案。(唯讀檔案) (3)C_CPPtools目錄:內(nèi)含Linux的整合開發(fā)環(huán)境RHIDE,Xwpe之安裝檔(唯讀檔案),使用方式請見電子附錄。 (4)C_CPPE_Appendix目錄:內(nèi)含電子附錄檔(唯讀檔案),檔案內(nèi)容請見附錄G之說明。 (5)根目錄:內(nèi)含C_CPP.exe自動解壓縮執(zhí)行檔,您可以在Mi
10、crosoft Windows系統(tǒng)中執(zhí)行,執(zhí)行後會將範(fàn)例安裝到預(yù)設(shè)目錄C:C_CPP(可修改解壓縮路徑)(解壓縮後的檔案並非唯讀檔,可直接作為練習(xí)之用)。 (6)根目錄:內(nèi)含C_CPP.tar.gz壓縮打包檔,如果您是Linux/Unix的管理者或者可以取得Unix/Linux主機控制權(quán)的話,您可以在Linux/Unix系統(tǒng)中將之解壓縮,就可以安裝範(fàn)例了(解壓縮後的檔案並非唯讀檔)。解壓縮過程如下示範(fàn):,0.6本書光碟使用說明,14,Step1:將書附光碟放入Linux主機的光碟機中,接著開始mount光碟機。 Step2:複製C_CPP.tar.gz到家目錄。 Step3:解壓縮。 Step
11、4:完成後,您可以在家目錄下看到C_CPP子目錄,裡面放的就是本書的所有範(fàn)例。,0.6本書光碟使用說明,rootlocalhost root# mount /dev/cdrom /mnt/cdrom,rootlocalhost root# cp /mnt/cdrom/C_CPP.tar.gz. rootlocalhost root# ls C_CPP* C_CPP.tar.gz,rootlocalhost root# tar zxvf C_CPP.tar.gz,rootlocalhost root# ls C_CPP* C_CPP C_CPP.tar.gz,15,由於Microsoft Win
12、dows與Unix-like的部分檔案系統(tǒng)對於換行字元會採用不同的儲存策略,因此當(dāng)您將範(fàn)例檔案放到Unix/Linux等系統(tǒng)並使用gcc、g+來編譯本書範(fàn)例檔案時,可能會出現(xiàn)下列警告訊息,您可以不加理會;或者將檔案使用Unix/Linux上的編輯器(例如Vi、Vim)開啟後,立刻重新存檔(例如Vi、Vim的存檔指令為:wq)即可。 另外,本書範(fàn)例採用最新版C+的名稱空間撰寫方式(詳見第12章及電子附錄之名稱空間說明),但對於某些舊版的編譯器而言,可能必須取消namespace或?qū)+標(biāo)準(zhǔn)函式庫的.h副檔名補足。因此若您在編譯範(fàn)例時,發(fā)生錯誤訊息,透過下列幾種方式嘗試看看是否能夠解決錯誤,如果仍
13、不能解決您的問題,請更換編譯器為附錄記載的任一種編譯器即可。,0.7本書範(fàn)例注意事項,ch4_02.cpp:15:1: warning: no newline at end of file,16,0.7本書範(fàn)例注意事項,/* 檔名:ch3_01.cpp 功能:求圓面積 */ #include #include using namespace std; int main(void) int r=3; const float pi=3.1416; float area=pi*r*r; cout 半徑為 r 的圓面積為 area n; system(pause); return 0; ,原始檔(ch
14、3_01.cpp)。,17,0.7本書範(fàn)例注意事項,/* 檔名:ch3_01.cpp 功能:求圓面積 */ #include #include /using namespace std; int main(void) int r=3; const float pi=3.1416; float area=pi*r*r; cout 半徑為 r 的圓面積為 area n; system(pause); return 0; ,修正方式一(ch3_01.cpp)。,18,0.7本書範(fàn)例注意事項,/* 檔名:ch3_01.cpp 功能:求圓面積 */ #include #include /using na
15、mespace std; int main(void) int r=3; const float pi=3.1416; float area=pi*r*r; cout 半徑為 r 的圓面積為 area n; system(pause); return 0; ,修正方式二(ch3_01.cpp)。,19,0.7本書範(fàn)例注意事項,/* 檔名:ch3_01.cpp 功能:求圓面積 */ #include #include using namespace std; int main(void) int r=3; const float pi=3.1416; float area=pi*r*r; cout 半徑為 r 的圓面積為 area n; system(pause); return 0; ,修正方式三(ch3_01.cpp)。,20,0.8出版後
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車間級安全培訓(xùn)材料課件
- 2026年河南省機關(guān)事業(yè)單位工勤技能崗位等級考試題及答案殯葬服務(wù)工高級技
- 車間班組安全培訓(xùn)課件
- 車間工藝介紹課件
- 火箭行業(yè)智能制造發(fā)射與回收方案 (二)
- 車間安全培訓(xùn)效果課件
- 齊齊哈爾安全生產(chǎn)培訓(xùn)課件
- 2026年及未來5年市場數(shù)據(jù)中國微型載貨車行業(yè)全景評估及投資規(guī)劃建議報告
- 2026年智能八角籠項目商業(yè)計劃書
- 2026年觸控交互系統(tǒng)項目評估報告
- GB/T 4074.6-2024繞組線試驗方法第6部分:熱性能
- DB32-T 4111-2021 預(yù)應(yīng)力混凝土實心方樁基礎(chǔ)技術(shù)規(guī)程
- 醫(yī)療衛(wèi)生機構(gòu)6S常態(tài)化管理打分表
- 幾種常用潛流人工濕地剖面圖
- 危險源辨識、風(fēng)險評價、風(fēng)險控制措施清單-05變電站工程5
- 2023年副主任醫(yī)師(副高)-推拿學(xué)(副高)考試歷年真題摘選帶答案
- 朱子治家格言(朱子家訓(xùn))課件
- 20S517 排水管道出水口
- vpap iv st說明總體操作界面
- 初中一年級(7年級)上學(xué)期生物部分單元知識點
- 長興中學(xué)提前招生試卷
評論
0/150
提交評論