《C++程式設計——思想與方法(慕課版)(第4版)》是2022年人民郵電出版社出版的圖書。
基本介紹
- 中文名:C++程式設計——思想與方法(慕課版)(第4版)
- 出版時間:2022年10月1日
- 出版社:人民郵電出版社
- ISBN:9787115587558
內容簡介,圖書目錄,
內容簡介
本書以C++語言為環境,重點講授程式設計的思想和方法,包括過程化的程式設計和面向對象的程式設計。本書非常強調程式設計的風格,將各種情況下的程式風格的要求貫穿於本書的各個章節。
本書的內容可以分為兩大部分:第1章到第9章為第一部分,它們主要對一些基本的程式設計思想、概念、技術、良好的程式設計風格以及過程化程式設計進行介紹,包括數據類型、控制結構、數據封裝、過程封裝以及各種常用的算法;第10章到第16章為第二部分,重點介紹面向對象的思想,包括如何設計及實現一個類、如何利用組合和繼承實現代碼的重用、如何利用多態性使程式更加靈活、如何利用抽象類制定一些工具的規範,最後為了更好地與數據結構課程銜接,介紹了容器和疊代器的概念。
本書可作為各高等院校計算機專業的教材,也可供從事計算機軟體開發的科研人員作為參考資料。
圖書目錄
第 1 章 緒論
1.1 程式設計概述
1.2 計算機組成.
1.2.1 計算機硬體.
1.2.2 計算機軟體.
1.3 程式設計語言
1.3.1 機器語言
1.3.2 彙編語言
1.3.3 高級語言
1.3.4 C++語言
1.4 程式設計過程
1.4.1 算法設計
1.4.2 編碼
1.4.3 編譯和連結
1.4.4 調試與維護
1.5 小結
1.6 習題
第 2章 程式的基本組成
2.1 程式的基本結構
2.1.1 注釋
2.1.2 預編譯指令
2.1.3 名字空間
2.1.4 主程式
2.2 常量與變數
2.2.1 變數定義
2.2.2 數據類型
2.2.3 常量與符號常量
2.3 數據的輸入/輸出
2.3.1 數據的輸入
2.3.2 數據的輸出
2.3.3 *輸入異常
2.4 算術運算
2.4.1 算術表達式.
2.4.2 各種類型的數值間的混合運算
2.4.3 強制類型轉換.
2.4.4 數學函式館
2.5 賦值運算
2.5.1 賦值表達式
2.5.2 賦值的嵌套.
2.5.3 複合賦值運算
2.5.4 自增和自減運算符.
2.6 程式規範及常見錯誤
2.7 小結
2.8 習題
第3 章 分支程式設計
3.1 關係表達式
3.2 邏輯表達式
3.3 if 語句
3.3.1 if 語句的格式
3.3.2 if 語句的嵌套
3.3.3 條件表達式
3.4 switch 語句及其套用
3.5 編程規範及常見錯誤.
3.6 小結
3.7 習題
第4 章 循環程式設計
4.1 計數循環
4.1.1 for 語句
4.1.2 for 語句的進一步討論
4.1.3 for 循環的嵌套
4.1.4 範圍for循環
4.2 break 和continue 語句
4.3 基於哨兵的循環
4.3.1 while 語句
4.3.2 do-while 語句
4.4 循環的中途退出
4.5 *輸入異常檢測
4.5 *枚舉法
4.6 *貪婪法
4.7 編程規範和常見錯誤
4.8 小結
4.9 習題
第5 章 過程封裝——函式
5.1 函式定義
5.1.1 函式的基本結構
5.1.2 return 語句
5.1.3 函式示例.
5.1.4 *尾置返回類型
5.2 函式的使用
5.2.1 函式原型的聲明
5.2.2 函式調用.
5.2.3 將函式與主程式放在一起
5.2.4 函式調用過程
5.3 變數的作用域
5.4 變數的存儲類別
5.4.1 自動變數
5.4.2 靜態變數
5.4.3 暫存器變數
5.4.4 外部變數
5.5 帶默認值的函式
5.6 內聯函式
5.7 *常量表達式函式
5.8 重載函式
5.9 函式模板
5.9.1 函式模板的定義
5.9.2 函式模板的實例化
5.9.3 *函式模板的顯式實例化
5.9.4 *函式模板的特化
5.9.5 *函式模板的重載
5.10 遞歸函式
5.10.1 遞歸函式的基本概念
5.10.2 遞歸函式的套用.
5.11 編程規範及常見錯誤
5.24 小結
5.13 習題
第6 章 批量數據處理——數組
6.1 一維數組
6.1.1 一維數組的定義
6.1.2 一維數組元素的引用
6.1.3 一維數組的記憶體映像
6.1.4 一維數組的套用.
6.1.5 一維數組作為函式參數
6.2 查找
6.2.1 順序查找.
6.2.2 二分查找
6.3 排序
6.3.1 直接選擇排序法
6.3.2 冒泡排序法
6.4 二維數組
6.4.1 二維數組的定義
6.4.2 二維數組元素的引用
6.4.3 二維數組的記憶體映像
6.4.4 二維數組的套用
6.4.5 二維數組作為函式參數
6.5 字元串
6.5.1 C風格的字元串
6.5.2 *string類
6.6 *基於遞歸的算法
6.6.1 回溯法
6.6.2 分治法
6.6.3 動態規劃.
6.7 編程規範及常見錯誤
6.8 小結
6.9 習題
第7章 間接訪問——指針
7.1 指針的概念
7.1.1 指針與間接訪問
7.1.2 指針變數的定義
7.1.3 指針的基本操作
7.2 指針運算與數組
7.2.1 指針運算
7.2.2 用指針訪問數組
7.3 動態記憶體分配
7.3.1 動態變數
7.3.2 動態變數的創建
7.3.3 動態變數的消亡
7.3.4 記憶體泄漏.
7.3.5 動態變數套用
7.4 字元串再討論
7.5 指針與函式
7.5.1 指針作為形式參數
7.5.2 數組作為函式參數再討論
7.5.3 字元串作為函式的參數
7.5.4 返回指針的函式
7.6 引用類型
7.6.1 引用的定義及套用
7.6.2 引用傳遞
7.6.3 返回引用的函式
7.6.4 右值引用
7.7 指針數組與多級指針
7.7.1 指針數組
7.7.2 *main 函式的參數
7.7.3 *多級指針
7.7.4 *動態二維數組
7.8 *函式指針.
7.8.1 指向函式的指針
7.8.2 函式指針作為函式參數
7.8.3 函式指針用於選單選擇
7.8.4 *Lambda表達式
7.9 編程規範與常見錯誤
7.10 小結
7.11 習題.
第8 章 數據封裝-- 結構體
8.1 結構體
8.1.1 結構體類型的定義
8.1.2 結構體類型的變數的定義
8.1.3 結構體類型的變數的使用
8.1.4 結構體作為函式的參數
8.2 鍊表
8.2.1 鍊表的概念.
8.2.2 單鍊表的存儲
8.2.3 單鍊表的操作
8.3 編程規範及常見錯誤
8.4 小結
8.5 習題
第9 章 模組化開發
9.1 結構化程式設計
9.2 自頂向下分解實例:猜硬幣遊戲.
9.3 模組劃分實例:石頭、剪刀、布遊戲
9.4 設計自己的庫
9.4.1 隨機函式館的設計與實現
9.4.2 隨機函式館的套用:龜兔賽跑模擬
9.5 編程規範及常見錯誤
9.6 小結
9.7 習題
第 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.4 對象的構造與析構
10.4.1 對象的構造
10.4.2 對象的析構
10.5 const與類
10.5.1 常量數據成員
10.5.2 常量對象
10.5.3 常量成員函式
10.6 靜態成員
10.6.1 靜態數據成員
10.6.2 靜態成員函式
10.6.3 靜態常量成員
10.7 友元
10.8 編程規範及常見錯誤
10.9 小結
10.10 習題
第 11 章 運算符重載
11.1 運算符重載的意義
11.2 運算符重載的方法
11.3 幾個特殊運算符的重載
11.3.1 賦值運算符的重載.
11.3.2 下標運算符的重載
11.3.3 函式調用運算符重載
11.3.4 ++和--運算符的重載.
11.3.5 輸入/輸出運算符的重載
11.4 自定義類型轉換函式
11.4.1 內置類型到類類型的轉換
11.4.2 類類型到其他類型的轉換
11.5 運算符重載的套用
11.5.1 完整的Rational類的定義和使用
11.5.2 完整的DoubleArray類的定義和使用
11.6 編程規範與常見錯誤
11.7 小結.
11.8 習題
第 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.3.4 虛析構函式
12.4 純虛函式和抽象類
12.4.1 純虛函式
12.4.2 抽象類
12.5 編程規範及常見錯誤
12.6 小結
12.7 習題
第 13 章 泛型機制——模板
13.1 類模板的定義
13.2 類模板的實例化
13.3 非類型參數和參數的默認值
12.4 *類模板的特化
13.5 類模板的友元.
13.5.1 普通友元
13.5.2 函式模板或類模板友元
13.6 類模板的其他用法
13.6.1 類模板作為基類
13.6.2 *類模板作為另一個類模板的成員
13.6.3 *遞歸使用類模板
13.7 編程規範及常見錯誤
13.8 小結.
13.9 習題
第 14 章 輸入/輸出與檔案
14.1 流與標準庫
14.2 輸入/輸出緩衝
14.3 基於控制台的輸入/輸出
14.4 基於檔案的輸入/輸出
14.4.1 檔案的概念
14.4.2 檔案和流
14.4.3 ASCII檔案的訪問
14.4.4 二進制檔案的訪問
14.4.5 檔案的隨機訪問
14.4.6 用流式檔案處理含有記錄的檔案
14.5 *基於字元串的輸入/輸出
14.6 編程規範及常見錯誤
14.7 小結
14.8 習題
第 15 章 異常處理
15.1 傳統的異常處理方法
15.2 異常處理機制
15.2.1 異常拋出.
15.2.2 異常捕獲
15.3 異常規格說明
15.4 編程規範及常見錯誤
15.5 小結
15.6 習題
第 16章 *容器和疊代器
16.1 容器
16.2 疊代器
16.3 容器和疊代器的設計示例
16.3.1 用數組實現的順序容器.
16.3.2 用鍊表實現的順序容器
16.4 小結.
16.5 習題