出版時間:2008-6 出版社:人民郵電出版社 作者:潘嘉杰 頁數(shù):356
Tag標簽:無
內(nèi)容概要
本書是為C++程序設(shè)計學(xué)習(xí)者量身訂做的輔導(dǎo)書。全書分為3篇。第一篇介紹了面向過程的程序設(shè)計,主要有基本語句、語法基礎(chǔ)、函數(shù)機制和數(shù)據(jù)類型等內(nèi)容。第二篇介紹了一些實用編程技巧,內(nèi)容包括閱讀代碼、調(diào)試程序和簡單的編程思想。第三篇介紹了面向?qū)ο蟮某绦蛟O(shè)計,主要有類和對象、對象生滅、友元、繼承等內(nèi)容。書中常以形象的比喻來解釋程序設(shè)計中的概念,通俗易懂,令讀者印象深刻,更快地進入C++程序設(shè)計的大門。本書的內(nèi)容涵蓋了絕大部分常用的C++知識,可以作為大學(xué)計算機專業(yè)或非計算機專業(yè)的程序設(shè)計入門教材,也可供計算機愛好者自學(xué)使用。
書籍目錄
第一篇 過程化的程序設(shè)計第1章 良好的學(xué)習(xí)開端1.1 軟件與程序1.2 程序設(shè)計要做什么1.3 選好一種語言1.4 C++能夠做些什么1.5 C語言、C++和Visual C++的關(guān)系1.6 學(xué)習(xí)程序設(shè)計的方法和必要準備1.7 總結(jié)第2章 Hello,World2.1 如何創(chuàng)建一個示例程序2.2 創(chuàng)建自己的Hello,World2.3 C++語言的輸出與輸入2.4 方法指導(dǎo)2.5 習(xí)題第3章 各種各樣的“箱子”——變量3.1 會變的“箱子”——定義變量3.1.1 C++數(shù)據(jù)類型3.1.2 變量名3.1.3 變量的初始化3.2 常用的基本數(shù)據(jù)類型3.2.1 整型(Integer)3.2.2 實型(Real)3.2.3 字符型(Character)3.2.4 布爾型(Boolean)3.3 不會變的“箱子”——定義常量3.4 C++算術(shù)表達式3.4.1 賦值3.4.2 除、整除和取余3.5 “箱子”的轉(zhuǎn)換——數(shù)據(jù)類型轉(zhuǎn)換3.5.1 隱式轉(zhuǎn)換3.5.2 顯式轉(zhuǎn)換3.6 方法指導(dǎo)3.7 習(xí)題第4章 要走哪條路——條件語句4.1 如果……4.1.1 條件——關(guān)系運算4.1.2 條件——邏輯運算4.1.3 &&和||的妙用4.2 否則……4.2.1 如果與否則4.2.2 如果里的如果——if的嵌套4.2.3 找朋友4.3 愛判斷的問號4.4 切換的開關(guān)4.4.1 多路開關(guān)——switch4.4.2 巧用switch4.5 方法指導(dǎo)4.6 習(xí)題第5章 有個圈兒的程序——循環(huán)語句5.1 程序賽車5.1.1 循環(huán)語句for5.1.2 加加和減減5.1.3 巧用for5.2 退出比賽和進維修站5.2.1 退出比賽——break5.2.2 進維修站——continue5.3 圈圈里的圈圈5.3.1 C++循環(huán)的嵌套5.3.2 怎么讓輸出的東西更好看5.4 While循環(huán)5.4.1 當(dāng)型循環(huán)5.4.2 導(dǎo)火索——do5.5 方法指導(dǎo)5.6 習(xí)題第6章 好用的“工具”——函數(shù)6.1 簡單的“工具”——函數(shù)6.1.1 “工具”的說明書6.1.2 如何使用系統(tǒng)造好的“工具”6.2 打造自己的“工具”6.2.1 C++函數(shù)的聲明6.2.2 函數(shù)的定義6.2.3 函數(shù)是如何運行的6.2.4 返回語句——return6.2.5 關(guān)于主函數(shù)6.2.6 同名同姓——參數(shù)定義6.2.7 函數(shù)存在的意義6.3 多功能“開瓶器”——函數(shù)重載6.4 自動的“工具”6.4.1 默認參數(shù)6.4.2 定義默認參數(shù)的順序6.4.3 默認參數(shù)和重載函數(shù)的混淆6.5 給變量和參數(shù)起個“綽號”——引用6.5.1 引用的聲明6.5.2 用引用傳遞參數(shù)6.6 *函數(shù)里的函數(shù)——遞歸6.7 方法指導(dǎo)6.8 習(xí)題第7章 好大的“倉庫”——數(shù)組7.1 讓計算機處理更多數(shù)據(jù)——使用數(shù)組7.1.1 C++中數(shù)組的聲明7.1.2 數(shù)組的操作7.1.3 數(shù)組的初始化7.1.4 省略數(shù)組大小7.2 倉庫是怎樣造成的7.2.1 內(nèi)存和地址7.2.2 C++數(shù)組在內(nèi)存中的存儲情況7.2.3 字符的存儲情況7.2.4 字符數(shù)組在內(nèi)存中的存儲情況7.3 向函數(shù)傳遞數(shù)組7.4 C++二維數(shù)組7.4.1 線與面——一維數(shù)組和二維數(shù)組7.4.2 二維數(shù)組的聲明和初始化7.4.3 省略第一維的大小7.4.4 二維數(shù)組在內(nèi)存中的存儲情況7.4.5 向函數(shù)傳遞二維數(shù)組7.4.6 二維數(shù)組轉(zhuǎn)化成一維數(shù)組7.5 方法指導(dǎo)7.6 習(xí)題第8章 內(nèi)存里的快捷方式——指針8.1 什么是指針8.2 C++中指針變量的聲明和使用8.2.1 指針的類型8.2.2 指針變量的聲明8.2.3 獲取地址和指針變量初始化8.2.4 特殊的值——NULL8.2.5 指針的使用——間接引用8.3 指針的操作8.3.1 指針的加減運算8.3.2 指針的關(guān)系運算8.4 指針與保護8.4.1 對內(nèi)存只讀的指針8.4.2 指針型常量8.5 指針與數(shù)組8.5.1 數(shù)組名的實質(zhì)8.5.2 指針數(shù)組8.6 指針與函數(shù)8.6.1 指針作為參數(shù)8.6.2 指針作為返回值8.7 更靈活的存儲——堆內(nèi)存空間8.7.1 如何獲得堆內(nèi)存空間8.7.2 有借有還,再借不難——堆內(nèi)存的回收8.8 方法指導(dǎo)8.9 習(xí)題第9章 自己設(shè)計的箱子——枚舉和結(jié)構(gòu)9.1 我的類型我做主——枚舉類型9.2 設(shè)計一個收納箱——定義結(jié)構(gòu)類型9.3 C++結(jié)構(gòu)與函數(shù)9.3.1 結(jié)構(gòu)作為參數(shù)9.3.2 結(jié)構(gòu)作為返回值9.4 C++結(jié)構(gòu)數(shù)組與結(jié)構(gòu)指針9.4.1 結(jié)構(gòu)數(shù)組9.4.2 結(jié)構(gòu)指針9.5 自行車的鏈條——鏈表9.6 C++鏈表的實現(xiàn)9.6.1 鏈表的創(chuàng)建和遍歷9.6.2 鏈表的查詢9.6.3 插入結(jié)點9.6.4 刪除結(jié)點9.6.5 清除鏈表9.7 方法指導(dǎo)9.8 習(xí)題第二篇 實戰(zhàn)程序設(shè)計第10章 高效閱讀程序代碼10.1 整體把握法10.1.1 閱讀C++代碼的順序10.1.2 整體把握語意10.2 經(jīng)驗法10.3 模擬法10.4 方法指導(dǎo)10.5 習(xí)題第11章 調(diào)試程序代碼技巧11.1 再談變量11.1.1 標志符11.1.2 C++全局變量和局部變量11.1.3 靜態(tài)局部變量11.1.4 變量的作用域11.1.5 變量的可見性11.2 C++頭文件的奧秘11.2.1 如何創(chuàng)建一個頭文件11.2.2 C++程序中頭文件的作用11.2.3 頭文件和源文件11.2.4 細說#include11.2.5 #include中尖括號和雙引號的區(qū)別11.3 更快更好地完成程序調(diào)試11.3.1 如何檢查語法錯誤11.3.2 常見語法錯誤及解決方法11.4 最麻煩的問題——運行時錯誤11.4.1 見識運行時錯誤11.4.2 查找錯誤點11.5 調(diào)試工具——Debug11.5.1 設(shè)置和移除斷點11.5.2 Go語句11.5.3 Debug窗口11.5.4 Watch窗口11.5.5 用Debug找到錯誤11.6 方法指導(dǎo)11.7 習(xí)題第12章 編寫程序技巧12.1 程序設(shè)計的基本步驟12.2 三類C++編程問題12.2.1 算法實現(xiàn)12.2.2 匹配實現(xiàn)12.2.3 功能實現(xiàn)12.3 函數(shù)的遞歸12.3.1 什么是棧12.3.2 函數(shù)的調(diào)用機制12.3.3 小試牛刀——用遞歸模擬棧12.3.4 *遞歸的精髓12.4 方法指導(dǎo)12.5 習(xí)題第三篇 面向?qū)ο蟮某绦蛟O(shè)計第13章 初識對象13.1 對象的定義13.2 一個字符串也是對象13.2.1 奇妙的點13.2.2 對字符串的操作13.3 面向?qū)ο筇攸c一:封裝性13.4 從數(shù)組到向量13.4.1 向量的性能13.4.2 萬用的模板13.4.3 對向量的操作13.5 方法指導(dǎo)13.6 習(xí)題第14章 再識對象14.1 類是一種數(shù)據(jù)類型14.1.1 類與結(jié)構(gòu)14.1.2 類的聲明與定義14.2 公有和私有14.3 成員函數(shù)14.3.1 成員函數(shù)的聲明14.3.2 常成員函數(shù)14.3.3 成員函數(shù)的重載14.3.4 成員函數(shù)的定義14.4 對象、引用和指針14.4.1 對象的引用14.4.2 對象指針14.5 方法指導(dǎo)14.6 習(xí)題第15章 造物者與毀滅者——對象生滅15.1 麻煩的初始化15.2 造物者——構(gòu)造函數(shù)15.2.1 構(gòu)造函數(shù)的聲明與定義15.2.2 帶參數(shù)的構(gòu)造函數(shù)15.3 先有結(jié)點,還是先鏈表15.4 “克隆”技術(shù)——拷貝構(gòu)造函數(shù)15.4.1 拷貝構(gòu)造函數(shù)15.4.2 默認拷貝構(gòu)造函數(shù)15.4.3 拷貝構(gòu)造函數(shù)存在的意義15.5 毀滅者——析構(gòu)函數(shù)15.6 方法指導(dǎo)15.7 習(xí)題第16章 共有財產(chǎn)·好朋友·操作符16.1 有多少個結(jié)點16.1.1 靜態(tài)成員數(shù)據(jù)16.1.2 靜態(tài)成員數(shù)據(jù)的初始化16.1.3 靜態(tài)成員函數(shù)16.2 類的好朋友——友元16.2.1 友元類16.2.2 友元函數(shù)16.2.3 使用友元的利與弊16.3 多功能的操作符——操作符的重載16.3.1 操作符作為成員函數(shù)16.3.2 操作符作為友元函數(shù)16.3.3 又見加加和減減16.4 方法指導(dǎo)16.5 習(xí)題第17章 父與子——繼承17.1 劍士·弓箭手·法師的困惑17.2 面向?qū)ο筇攸c二:繼承性17.3 繼承的實現(xiàn)17.3.1 私有和保護17.3.2 一個簡單的例子17.3.3 繼承的方式17.4 子類對象的生滅17.4.1 子類對象的構(gòu)造17.4.2 子類對象的析構(gòu)17.5 繼承與對象指針17.5.1 父類指針與子類對象17.5.2 猜猜它是誰——覆蓋17.6 面向?qū)ο筇攸c三:多態(tài)性17.7 多態(tài)與虛函數(shù)17.7.1 多態(tài)的實現(xiàn)17.7.2 無法實現(xiàn)多態(tài)的虛函數(shù)17.8 虛函數(shù)與虛析構(gòu)函數(shù)17.9 抽象類與純虛函數(shù)17.10 多重繼承17.11 方法指導(dǎo)17.12 習(xí)題第18章 再談輸入與輸出18.1 cout和cin真正含義18.2 輸入輸出的重定向18.2.1 輸入重定向18.2.2 輸出重定向18.2.3 無法被重定向的cerr18.3 文件的輸入與輸出18.4 更巧妙地輸入和輸出18.4.1 能整行輸入的getline18.4.2 能讀取判斷末尾的eof18.4.3 能計數(shù)的gcount18.4.4 能設(shè)置域?qū)挼膚idth18.5 插入操作符的重載18.5.1 插入操作符18.5.2 插入操作符的常用重載方式18.6 方法指導(dǎo)18.7 習(xí)題第19章 萬用的模板19.1 函數(shù)模板19.1.1 聲明與定義函數(shù)模板19.1.2 函數(shù)模板與重載19.2 類模板19.2.1 類模板的聲明和定義19.2.2 鏈表類模板實例19.3 方法技巧19.4 習(xí)題第20章 異常的處理20.1 亡羊也要補牢——程序出錯處理20.2 處理異常20.2.1 盡力嘗試——try語句20.2.2 抓住異?!猚atch語句20.3 拋出異?!猼hrow語句20.4 方法指導(dǎo)20.5 習(xí)題附錄A 常用保留字列表附錄B 常見編譯錯誤和解決方法附錄C 參考答案第2章第3章第4章第5章第6章第7章第8章第9章第10章第11章第12章第13章第14章第15章第16章第17章第18章第19章第20章附錄D 參考文獻
章節(jié)摘錄
第一篇 過程化的程序設(shè)計 第1章 良好的學(xué)習(xí)開端 本章主要講述學(xué)習(xí)程序設(shè)計前需要了解的一些知識和學(xué)習(xí)程序設(shè)計的方法,并且對c++作簡要的介紹。讀者學(xué)好這一章,對日后的學(xué)習(xí)能夠起到事半功倍的效果?! ?.1 軟件與程序 隨著計算機的普及和科學(xué)技術(shù)的發(fā)展,無紙化辦公、計算機輔助設(shè)計(CAD,CompeerAidedDesign)和計算機輔助制造(CAM,CompeerAidedManufacture)已經(jīng)漸漸走進我們的日常工作中。有了計算機的幫助,我們的工作效率得到明顯的提升,設(shè)計人員只需要把數(shù)據(jù)輸入計算機,就能顯示出精確的結(jié)果,例如一個三維立體模型。當(dāng)我們使用計算機的時候,有沒有想過人類是如何讓計算機做這些工作的呢? 其實,我們平時對計算機進行的操作是在與計算機軟件(Software)打交道。計算機之所以能夠幫助人類工作,離不開軟件的支持。那么軟件到底是什么?其實它是看不見摸不著,但卻又能夠通過計算機為用戶所用的一種東西。打一個比方,計算機的各種硬件設(shè)備(Hardware)就像是人的肌肉,而軟件就像是人的靈魂。少了軟件這個靈魂,那么計算機只是一堆廢銅爛鐵。人們通過編寫一款軟件,來讓計算機做一些事情。像我們用的Windows、Word、QQ等都是軟件。 那么,軟件和我們所說的程序(Program)又有著什么樣的關(guān)系呢?首先,要弄清什么是程序。從初學(xué)者比較容易理解的角度說,程序是計算機執(zhí)行一系列有序的動作的指令集合。通過一個程序,可以使計算機完成某一類有著共同特點的工作,如求解一個一元二次方程,或是找出一組數(shù)里面最大的一個數(shù)。而一款軟件,往往是由若干個相關(guān)的程序、運行這些程序所需要的數(shù)據(jù)和相關(guān)文檔(如幫助文檔)等多個文件組成的。因此,要設(shè)計出一款軟件,就必須從程序設(shè)計開始?! ?.2 程序設(shè)計要做什么 很多初學(xué)者會不解:程序設(shè)計到底是要做什么呢?我們該如何讓計算機幫助解決問題呢?其實,要解決一些看似不同的問題,可以歸納為一種確定的過程和方法。我們把這種能夠在有限的步驟內(nèi)解決一類問題的過程和方法稱為算法(Algorithm)。下面,我們以解一元二次方程為例,介紹求解的算法。
編輯推薦
《易學(xué)C++》的內(nèi)容涵蓋了絕大部分常用的C++知識,可以作為大學(xué)計算機專業(yè)或非計算機專業(yè)的程序設(shè)計入門教材,也可供計算機愛好者自學(xué)使用。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載