內容簡介
《高等院校計算機教材係列·C++程序設計:思想與方法(第2版)》以C++為語言環境,全麵介紹結構化程序設計和麵嚮對象程序設計。書中注重實踐性,強調解決問題的方法,讓讀者不但學會知識而且還會靈活運用知識。為此,作者采用以問題求解引齣知識點的方法,在介紹C++語言要素的同時,重點講授程序設計的思想和方法,目標是讓學生先瞭解學習的目的,提高學習的興趣,最後能利用學到的知識解決某些應用領域的問題。
本書內容豐富,覆蓋麵廣,而且在內容的安排上采用瞭模塊化的結構,教學時可以根據實際情況靈活選取和閤理安排,不影響整個知識的連貫性。第2版增加瞭更多的習題和實例,更加注重問題求解過程的分析,很多章還增加瞭“編程規範與常見錯誤”一節,指導學生養成良好的編程習慣。
作者簡介
翁惠玉,上海人,上海交通大學博士,現為上海交通大學計算機係副教授,主要從事計算機網絡、數據庫和信息係統的研究,並長期擔任ACM班計算機科學導論、程序設計和數據結構課程的主講教師,其中程序設計課程於2004年被評為上海市精品課程。翁老師科研成果頗豐,多次獲得上海市科技進步奬,並多次獲得上海交通大學的優秀教學奬,編寫瞭多本教材,如《數據結構:思想與實現》和《數據結構:題解與拓展》等,還翻譯瞭多本國外的教材。
目錄
第1章 緒論
1.1 計算機硬件
1.2 計算機軟件
1.3 程序設計
1.3.1 算法設計
1.3.2 編碼
1.3.3 程序的編譯和調試
小結
習題
第2章 通過例子學習
2.1 第一個程序:輸齣Hello world
2.1.1 注釋
2.1.2 預編譯
2.1.3 主程序
2.1.4 名字空間
2.2 第二個程序:計算圓的麵積和周長
2.3 數據類型
2.3.1 整型
2.3.2 實型
2.3.3 字符型
2.3.4 布爾型
2.3.5 枚舉類型
2.3.6 用typedef 重新命名類型名
2.3.7 變量賦初值
2.3.8 用sizeof 瞭解占用的內存量
2.4 符號常量
2.5 算術運算
2.5.1 主要的算術運算符
2.5.2 各種類型的數值間的混閤運算
2.5.3 整數除法和取模運算符
2.5.4 優先級與結閤性
2.5.5 數學函數庫
2.6 賦值運算
2.6.1 賦值運算符
2.6.2 賦值時的自動類型轉換
2.6.3 賦值的嵌套
2.6.4 多重賦值
2.6.5 復閤賦值運算
2.7 自增和自減運算符
2.8 強製類型轉換
2.9 數據的輸入/輸齣
2.9.1 數據的輸入
2.9.2 數據的輸齣
2.1 0 編程規範及常見錯誤
小結
習題
第3章 邏輯思維--分支程序設計
3.1 關係運算
3.1.1 關係運算符
3.1.2 關係錶達式
3.2 邏輯運算
3.3 if 語句
3.3.1 if 語句的形式
3.3.2 if 語句的嵌套
3.3.3 if 語句的應用
3.3.4 條件錶達式
3.4 switch 語句及其應用
3.5 編程規範及常見錯誤
小結
習題
第4章 重復控製--循環程序設計
4.1 for 循環
4.1.1 重復n 次操作
4.1.2 for 語句的進一步討論
4.1.3 for 循環的嵌套
4.2 while 循環
4.3 do-while 循環
4.4 循環的中途退齣
4.5 枚舉法
4.6 貪婪法
4.7 編程規範和常見錯誤
小結
習題
第5章 批量數據處理--數組
5.1 一維數組
5.1.1 一維數組的定義
5.1.2 數組元素的引用
5.1.3 一維數組的初始化
5.1.4 一維數組在內存中的錶示
5.1.5 一維數組的應用
5.2 查找和排序
5.2.1 查找
5.2.2 排序
5.3 二維數組
5.3.1 二維數組的定義
5.3.2 二維數組的初始化
5.3.3 二維數組在內存中的錶示
5.3.4 二維數組的應用
5.4 字符串
5.4.1 字符串的存儲及初始化
5.4.2 字符串的輸入/輸齣
5.4.3 字符串處理函數
5.4.4 字符串的應用
5.5 編程規範及常見錯誤
小結
習題
第6章 過程封裝--函數
6.1 函數的定義
6.1.1 return 語句
6.1.2 函數示例
6.2 函數的使用
6.2.1 函數原型的聲明
6.2.2 函數的調用
6.2.3 將函數與主程序放在一起
6.2.4 函數調用過程
6.3 數組作為函數的參數
6.4 帶默認值的函數
6.5 內聯函數
6.6 重載函數
6.7 函數模闆
6.8 變量的作用域
6.9 變量的存儲類彆
6.9.1 自動變量
6.9.2 靜態變量
6.9.3 寄存器變量
6.9.4 外部變量
6.1 0 遞歸函數
6.1 0.1 遞歸函數的基本概念
6.1 0.2 遞歸函數的應用
6.1 1 基於遞歸的算法
6.1 1.1 迴溯法
6.1 1.2 分治法
6.1 1.3 動態規劃
6.1 2 編程規範及常見錯誤
小結
習題
第7章 間接訪問--指針
7.1 指針的概念
7.1.1 指針變量的定義
7.1.2 指針的基本操作
7.2 指針運算與數組
7.2.1 指針運算
7.2.2 用指針訪問數組
7.3 指針與動態內存分配
7.3.1 動態變量的創建
7.3.2 動態變量的迴收
7.3.3 內存泄漏
7.3.4 查找new 操作的失誤
7.4 字符串再討論
7.5 指針與函數
7.5.1 指針作為形式參數
7.5.2 數組名作為形式參數的再討論
7.5.3 字符串作為函數的參數
7.5.4 返迴指針的函數
7.5.5 引用與引用傳遞
7.5.6 返迴引用的函數
7.6 指針數組與多級指針
7.6.1 指針數組
7.6.2 main 函數的參數
7.6.3 多級指針
7.7 多維數組和指嚮數組的指針
7.8 指嚮函數的指針
7.8.1 作為函數的參數
7.8.2 用於菜單選擇
7.9 編程規範與常見錯誤
小結
習題
第8章 數據封裝--結構體
8.1 記錄的概念
8.2 C++語言中記錄的使用
8.2.1 結構體類型的定義
8.2.2 結構體類型的變量的定義
8.2.3 結構體類型的變量的使用
8.2.4 結構體數組
8.3 結構體作為函數的參數
8.4 鏈錶
8.4.1 鏈錶的概念
8.4.2 單鏈錶的存儲
8.4.3 單鏈錶的操作
8.5 編程規範及常見錯誤
小結
習題
第9章 模塊化開發
9.1 自頂嚮下分解
9.1.1 頂層分解
9.1.2 prn_instruction 函數的實現
9.1.3 play 函數的實現
9.1.4 get_call_from_user 函數的實現
9.2 模塊劃分
9.3 設計自己的庫
9.4 編程規範及常見錯誤
小結
習題
第10章 創建工具--類的定義與使用
10.1 從過程化到麵嚮對象
10.1.1 抽象的過程
10.1.2 麵嚮對象程序設計的特點
10.1.3 庫和類
10.2 類的定義
10.3 對象的使用
10.3.1 對象的定義
10.3.2 對象的操作
10.3.3 this 指針
10.3.4 對象的構造與析構
10.4 常量對象與常量成員函數
10.5 常量數據成員
10.6 靜態數據成員與靜態成員函數
10.6.1 靜態數據成員的定義
10.6.2 靜態成員函數
10.6.3 靜態常量成員
10.7 友元
10.8 編程規範及常見錯誤
小結
習題
第11章 運算符重載
11.1 什麼是運算符重載
11.2 運算符重載的方法
11.3 幾個特殊運算符的重載
11.3.1 賦值運算符的重載
11.3.2 下標運算符的重載
11.3.3 函數調用運算符重載
11.3.4 ++和--運算符的重載
11.3.5 輸入/輸齣運算符的重載
11.3.6 重載函數的原型設計考慮
11.4 自定義類型轉換函數
11.4.1 內置類型到類類型的轉換
11.4.2 類類型到其他類型的轉換
11.5 運算符重載的應用
11.5.1 完整的Rational 類的定義和使用
11.5.2 完整的DoubleArray類的定義和使用
11.6 編程規範與常見錯誤
小結
習題
第12章 組閤與繼承
12.1 組閤
12.2 繼承
12.2.1 單繼承
12.2.2 基類成員在派生類中的訪問特性
12.2.3 派生類對象的構造、析構與賦值操作
12.2.4 重定義基類的函數
12.2.5 派生類作為基類
12.2.6 將派生類對象隱式轉換為基類對象
12.3 多態性與虛函數
12.3.1 多態性
12.3.2 虛函數
12.3.3 虛析構函數
12.4 純虛函數和抽象類
12.4.1 純虛函數
12.4.2 抽象類
12.5 多繼承
12.5.1 多繼承的格式
12.5.2 名字衝突
12.5.3 虛基類
12.6 麵嚮對象設計範例
12.7 編程規範和常見錯誤
小結
習題
第13章 泛型機製--模闆
13.1 類模闆的定義
13.2 類模闆的實例化
13.3 模闆的編譯
13.4 非類型參數和參數的默認值
13.5 類模闆的友元
13.5.1 普通友元
13.5.2 模闆的特定實例的友元
13.6 類模闆作為基類
13.7 編程規範及常見錯誤
小結
習題
第14章 輸入/輸齣與文件
14.1 流與標準庫
14.2 輸入/輸齣緩衝
14.3 基於控製颱的輸入/輸齣
14.3.1 輸齣流
14.3.2 輸入流
14.3.3 格式化的輸入/輸齣
14.4 基於文件的輸入/輸齣
14.4.1 文件的概念
14.4.2 文件和流
14.4.3 文件的順序訪問
14.4.4 文件的隨機處理
14.4.5 用流式文件處理含有記錄的文件
14.5 基於字符串的輸入/輸齣
14.6 編程規範及常見錯誤
小結
習題
第15章 異常處理
15.1 傳統的異常處理方法
15.2 異常處理機製
15.2.1 異常拋齣
15.2.2 異常捕獲
15.3 異常規格說明
15.4 編程規範和常見錯誤
小結
習題
第16章 容器和迭代器
16.1 容器
16.2 迭代器
16.3 容器和迭代器的設計示例
16.3.1 用數組實現的容器
16.3.2 用鏈錶實現的容器
小結
習題
附錄 ASCII 錶
參考文獻
前言/序言
高等院校計算機教材係列·C++程序設計:思想與方法(第2版) epub pdf mobi txt 電子書 下載 2024
高等院校計算機教材係列·C++程序設計:思想與方法(第2版) 下載 epub mobi pdf txt 電子書