出版時(shí)間:2010-5 出版社:中國電力出版社 作者:張基溫 頁數(shù):363
內(nèi)容概要
本書編寫的目的是改變目前程序設(shè)計(jì)教學(xué)中普遍存在的三個(gè)突出問題:學(xué)習(xí)了程序設(shè)計(jì)課程,但碰到問題還是不知道如何下手;雖能編寫程序,但用C++語言編寫出來的程序卻是面向過程的;編寫出了程序卻不知道如何測試。本書是作者在多年的教學(xué)實(shí)踐中,為改變這些現(xiàn)象,摸索出的一套建立在全新概念上的C++程序設(shè)計(jì)教學(xué)體系。全書分為8章:第1章用5個(gè)實(shí)例,幫助學(xué)習(xí)者快速進(jìn)入面向?qū)ο笫澜纾⒚嫦驅(qū)ο蟮母拍钶喞?,并掌握不同程序的基本測試方法:第2章通過5大類11個(gè)典型問題,幫助讀者躍過從問題到程序的坎,并從控制結(jié)構(gòu)的角度把第l章的內(nèi)容深化;第3章、第4章分別從數(shù)據(jù)類型和過程管理兩個(gè)方面進(jìn)行程序設(shè)計(jì)知識和能力的提高;第5章從程序安全的角度,介紹存儲屬性、名字空間、訪問控制、const保護(hù)和異常處理等內(nèi)容;第6章介紹C++中非常具有特色,但又應(yīng)該限制使用的指針技術(shù);第7章、第8章介紹面向?qū)ο蟮膬蓚€(gè)重要機(jī)制:運(yùn)行時(shí)的多態(tài)性和模板。 本書概念清晰、例題經(jīng)典、便于理解,并以大節(jié)為單位組織練習(xí),習(xí)題豐富、覆蓋率高;美國紐約市立大學(xué)布魯克林學(xué)院David M.Arnow教授按照本書結(jié)構(gòu)開發(fā)了針對性的學(xué)習(xí)平臺,為讀者建立了一個(gè)全新概念的立體學(xué)習(xí)環(huán)境,更適合各種層次的程序設(shè)計(jì)教學(xué)、培訓(xùn)和自學(xué)。
作者簡介
張基溫,教授,國內(nèi)知名學(xué)者,著名計(jì)算機(jī)教育家;研究和教學(xué)領(lǐng)域涉及計(jì)算機(jī)科學(xué)與技術(shù)、信息管理、信息經(jīng)濟(jì)學(xué)、電子政務(wù)與電子商務(wù)、服務(wù)科學(xué),發(fā)表論文一百余篇,已出版著作79本;目前在國內(nèi)多所高等學(xué)校擔(dān)任客座或兼職教授,擔(dān)任信息管理與信息系統(tǒng)專業(yè)、計(jì)算機(jī)專業(yè)、
書籍目錄
前言第1章 進(jìn)入對象世界 1.1 對象世界及其建模 1.1.1 對象組成的世界 1.1.2 程序=模型+表現(xiàn) 1.1.3 UML建模 習(xí)題1.1 1.2 引例1:學(xué)生類 1.2.1 類Student的定義 1.2.2 類Student的實(shí)現(xiàn) 1.2.3 對象的生成與類的測試 1.2.4 用構(gòu)造函數(shù)初始化對象 1.2.5 語法小結(jié) 習(xí)題1.2 1.3 引例2:計(jì)算器 1.3.1 問題與建模 1.3.2 類的C++描述 1.3.3 類的測試與主函數(shù)設(shè)計(jì) 1.3.4 程序改進(jìn)之一:為計(jì)算器增加除運(yùn)算 1.3.5 程序改進(jìn)之二:具有靈活性的計(jì)算器類 1.3.6 語法小結(jié) 習(xí)題1.3 1.4 引例3:累加器 1.4.1 問題與建模 1.4.2 類的C++描述 1.4.3 循環(huán)結(jié)構(gòu)的測試與主函數(shù)設(shè)計(jì) 1.4.4 do-while循環(huán)和for循環(huán) 1.4.5 語法小結(jié) 習(xí)題1.4 1.5 引例4:圓和圓環(huán) 1.5.1 問題與建模 1.5.2 具有聚合關(guān)系的類Circle與類Ring 習(xí)題1.5 1.6 引例5:簡單的公司人員體系 1.6.1 問題描述與建模 1.6.2 派生關(guān)系的C++描述 1.6.3 語法小結(jié) 習(xí)題1.6第2章 算法基礎(chǔ) 2.1 選擇 2.1.1 三中取大 2.1.2 報(bào)站器 習(xí)題2.1 2.2 窮舉 2.2.1 找出1000之內(nèi)能被13整除的數(shù) 2.2.2 找素?cái)?shù) 習(xí)題2.2 2.3 遞推 2.3.1 階乘計(jì)算器 2.3.2 用二分法求一元方程的根 習(xí)題2.3 2.4:遞歸 2.4.1 階乘的遞歸求解 2.4.2 漢諾塔問題 習(xí)題2.4 2.5 仿真 2.5.1 隨機(jī)問題模擬:小學(xué)生算術(shù)測試器 2.5.2 事件步長法模擬:原子能反應(yīng)堆的壁厚設(shè)計(jì) 2.5.3 時(shí)間步長法模擬:鹽水池問題 習(xí)題2.5第3章 數(shù)據(jù)類型與I/O流 3.1 變量和常量 3.1.1 變量 3.1.2 常量 習(xí)題3.1 3.2 基本數(shù)據(jù)類型 3.2.1 數(shù)據(jù)存儲格式:定點(diǎn)格式與浮點(diǎn)格式 3.2.2 整數(shù)類型 3.2.3 字符類型 3.2.4 實(shí)型類型 3.2.5 數(shù)據(jù)類型轉(zhuǎn)換 3.2.6 類型重命名運(yùn)算符typedef 3.2.7 存儲空間計(jì)算符sizeof 習(xí)題3.2 3.3 類與結(jié)構(gòu)體——組織不同類型的組合數(shù)據(jù)類型 3.3.1 結(jié)構(gòu)體類型和結(jié)構(gòu)體變量 3.3.2 結(jié)構(gòu)體變量初始化 3.3.3 轉(zhuǎn)換構(gòu)造函數(shù) 習(xí)題3.3 3.4 數(shù)組——按順序組織同類型數(shù)據(jù) 3.4.1 數(shù)組基石出 3.4.2 對象數(shù)組 3.4.3 數(shù)組作為類的數(shù)據(jù)成員 3.4.4 數(shù)組元素的搜索與排序 3.4.5 數(shù)組應(yīng)用:堆棧 3.4.6 二維數(shù)組 習(xí)題3.4 3.5 字符串 3.5.1 C字符串 3.5.2 標(biāo)準(zhǔn)C++的string類 習(xí)題3.5 3.6 流類 3.6.1 流類與流類庫 3.6.2 標(biāo)準(zhǔn)流對象與標(biāo)準(zhǔn)I/O流操作 3.6.3 流的格式化 3.6.4 文件I/O流 3.6.5 流的錯(cuò)誤狀態(tài)及其處理 習(xí)題3.6第4章 C++過程組織與管理 4.1 函數(shù)參數(shù)傳遞與函數(shù)返回 4.1.1 函數(shù)調(diào)用時(shí)的值傳遞與引用傳遞 4.1.2 關(guān)于函數(shù)參數(shù)的計(jì)算順序 4.1.3 函數(shù)返回的問題 習(xí)題4.1 4.2 函數(shù)名重載 4.2.1 函數(shù)名重載的基本規(guī)則 4.2.2 構(gòu)造函數(shù)重載 4.2.3 在派生類中重定義基類成員函數(shù) 習(xí)題4.2 4.3 操作符重載 4.3.1 操作符重載及其規(guī)則 4.3.2 成員函數(shù)形式的操作符重載 4.3.3 友元函數(shù)形式的操作符重載 4.3.4 賦值操作符重載 習(xí)題4.3 4.4 程序編譯組織 4.4.1 程序文件與項(xiàng)目 4.4.2 頭文件 4.4.3 條件編譯 習(xí)題4.4第5章 C++程序安全機(jī)制 5.1 變量的訪問屬性——基于作用域的安全機(jī)制 5.1.1 變量名的作用域、可見性和生命期 5.1.2 C++的存儲屬性 5.1.3 C++內(nèi)存管理 習(xí)題5.1 5.2 名字空間——基于名字的安全機(jī)制 5.2.1 名字空間及其定義 5.2.2 名字空間成員的使用 5.2.3 無名名字空間和全局名字空間 習(xí)題5.2 5.3 對象成員的訪問控制——基于封裝保護(hù)的安全機(jī)制 5.3.1 類層次結(jié)構(gòu)中的三種訪問控制屬性 5.3.2 類作用域 5.3.3 友元關(guān)系 5.3.4 類的靜態(tài)成員 5.3.5 多基派生與虛擬派生 習(xí)題5.3 5.4 const保護(hù) 5.4.1 用const定義常量 5.4.2 const修飾函數(shù) 5.4.3 const成員與const對象 習(xí)題5.4 5.5 異常處理 5.5.1 程序錯(cuò)誤與程序異常 5.5.2 C++異常處理 5.5.3 函數(shù)異常規(guī)格說明 5.5.4 常用異常處理技術(shù) 5.5.5 標(biāo)準(zhǔn)異常 習(xí)題5.5第6章 指針技術(shù) 6.1 指針的概念 6.1.1 指針=基類型+地址 6.1.2 指針的操作 6.1.3 多級指針 6.1.4 懸空指針、空指針與void指針 6.1.5 用const修飾指針及其引用 習(xí)題6.1 6.2 數(shù)組的指針形式 6.2.1 數(shù)組名與指向數(shù)組的指針 6.2.2 二維數(shù)組的指針形式 6.2.3 指針與C-字符串 習(xí)題6.2 6.3 函數(shù)與指針 6.3.1 向函數(shù)傳遞地址 6.3.2 main()函數(shù)的參數(shù) 6.3.3 返回指針的函數(shù) 6.3.4 函數(shù)名指針與指向函數(shù)的指針 習(xí)題6.3 6.4 指向?qū)ο蟮闹羔? 6.4.1 指向?qū)ο笾羔樀囊饬x 6.4.2 指向?qū)ο笾羔樀氖褂? 6.4.3 this指針 習(xí)題6.4 6.5 動(dòng)態(tài)內(nèi)存分配 6.5.1 動(dòng)態(tài)存儲分配和靜態(tài)存儲分配 6.5.2 單個(gè)數(shù)據(jù)的動(dòng)態(tài)存儲分配 6.5.3 對象的淺復(fù)制與深復(fù)制 6.5.4 數(shù)組的動(dòng)態(tài)存儲分配 6.5.5 對象和數(shù)據(jù)成員的動(dòng)態(tài)存儲分配 6.5.6 動(dòng)態(tài)存儲分配中的異常處理 習(xí)題6.5 6.6 鏈表 6.6.1 鏈表的概念 6.6.2 單鏈表的類結(jié)構(gòu) 6.6.3 單鏈表的操作與成員函數(shù)設(shè)計(jì) 6.6.4 鏈表的測試 習(xí)題6.6第7章 程序運(yùn)行時(shí)的多態(tài)性 7.1 虛函數(shù)與動(dòng)態(tài)綁定 7.1.1 動(dòng)態(tài)綁定與虛函數(shù) 7.1.2 基于基類指針的動(dòng)態(tài)綁定 7.1.3 虛函數(shù)表 7.1.4 虛函數(shù)的限制與虛析構(gòu)函數(shù) 7.1.5 純虛函數(shù)與抽象類 習(xí)題7.1 7.2 運(yùn)行時(shí)類型鑒別 7.2.1 dynamiccast操作符 7.2.2 用typeid獲得對象類型信息 習(xí)題7.2第8章 模板 8.1 算法抽象模板——函數(shù)模板 8.1.1 從函數(shù)重載到函數(shù)模板 8.1.2 模板函數(shù)重載 8.1.3 函數(shù)模板的具體化 習(xí)題8.1 8.2 數(shù)據(jù)抽象模板——類模板 8.2.1 類模板的定義 8.2.2 類模板的實(shí)例化 8.2.3 類模板的使用 8.2.4 類模板實(shí)例化時(shí)的異常處理 習(xí)題8.2 8.3 標(biāo)準(zhǔn)模板庫 8.3.1 容器 8.3.2 算法與函數(shù)對象 8.3.3 迭代器 8.3.4 STL標(biāo)準(zhǔn)頭文件 習(xí)題8.3附錄A C++操作符的優(yōu)先級別和結(jié)合方向附錄B 重要概念和資料索引參考文獻(xiàn)
圖書封面
評論、評分、閱讀與下載