C++高級程式設計(第二版)

C++高級程式設計(第二版)

《C++高級程式設計(第二版)》是2016年7月清華大學出版社出版的圖書,作者是田秀霞、孫超超、張安勤、王真、彭源。

基本介紹

  • 書名:C++高級程式設計(第二版)
  • 作者:田秀霞
    孫超超
    張安勤
    王真
    彭源
  • 出版社:清華大學出版社
  • 出版時間:2016年7月
  • 定價:69.8 元
  • ISBN:9787302429807
內容簡介,圖書目錄,

內容簡介

C++程式設計語言同時支持面向過程和面向對象編程,全書以C++標準為藍本,以實際案例為支撐來闡釋學生學習過程中晦澀難懂的概念,並將多年來教學過程中學生遇到的難以掌握的知識點以重點突出或錯誤解釋的方式列出。整本書的語言通俗易懂,每個章節的開始都以一個短小有趣的引發好奇心的說明引導學生進入本章節內容的學習。整個內容按照循序漸進的方式展開,引領學生從C++的面向過程編程逐步過渡到C++的面向對象編程,實現學習點上的由易到難的順利過渡。本書內容包括緒論、數據類型與基本輸入輸出、控制語句、函式與預處理、數組、指針與引用、自定義數據類型、類、靜態成員與友元、繼承與派生、多態性、輸入輸出流、模板、鍊表、異常處理和項目開發指南。
在書中每一章的最後,都有一個較為大型和完整的編程實例,涉及網路、密碼學、計算機病毒、數據結構、算法設計、圖形學等各門課程的一些入門知識,在鞏固所學知識的同時,也讓學生對這些課程有了初步的感性認識,以便後繼課程的學習。
本書適用於高校計算機專業程式設計課程教學,也適用於自學成才的讀者,在本書的指導下,讀者可以逐步由不入門到初級程式設計師到高級程式設計師,並從中體會到學習編程的無限樂趣,為成為一名真正的程式設計師打下堅實的基礎。

圖書目錄

第1章緒論
1.1電腦程式設計語言
1.1.1程式設計語言的演變
1.1.2C++程式設計語言的發展
1.2程式設計方法
1.2.1面向過程程式設計
1.2.2面向和驗格對象程式設計
1.3計算機信息的存儲與表示
1.3.1數據在計算機中的表示
1.3.2數據單位
1.3.3不同形式數據的表示方法
1.4C++程式結構與開發過程
1.4.1C++程式的開發流程
1.4.2第一個C++程式
1.4.3C++程式設計環境
1.4.4帶命令行參數的程式
1.5C++的詞和規則
1.5.1C++的字元集
1.5.2詞與詞法規則
1.6編程實例——程式設計方法比較
習題1
第2章數據類型、表達式與基本輸入輸出
2.1數據類型基本概念
2.1.1C++數據類型的種類
2.1.2整型和實型
2.1.3數值的範圍
2.1.4有符號數和無符號數
2.1.5有符號數和無符號數的範圍區別
2.1.6本章用到的關鍵字
2.2C++基本數據類型
2.2.1整型、實型和字元型
2.2.2布爾型和無類型
2.2.3為數據類型起別名
2.2.4sizeof的使用
2.3變數
2.3.1變數概述
2.3.2變數的定義
2.3.3賦值語句
2.3.4變數的初始化
2.4常量戶腿殼
2.4.1整型常量
2.4.2字元常量和字元串常量
2.4.3邏輯常量
2.4.4枚舉常量
2.4.5實型常量
2.4.6地址常量
2.5符號常量
2.5.1為什麼需要符號常量
2.5.2const與#define的比較
2.6基本輸入輸出
2.6.1cout輸出流
2.6.2cin輸入流
2.7運算符和表達式
2.7.1C++語言運算符的種類
2.7.2算術運算符
2.7.3賦值運算符
2.7.6位運算符
2.7.7條件運算符
2.7.8逗號運算符
2.7.9運算符的優先權及結合性
2.8編程實例——獲取IP位址並計算網路號等信息
2.8.1背景
2.8.2原始碼及程式解釋
習題2
第3章語句和控制結構
3.1順序結構
3.1.1表達式語句
3.1.2函式調用語句
3.1.3複合語句
3.1.4空語句
3.1.5賦值語句
3.2選甩埋拜她擇結構
3.2.1if…else語句和if語句估盛鑽
3.2.2多路分支
3.2.3程式套用舉例
3.3循環結構
3.3.1while語句
3.3.2do…while語句
3.3.3for語句
3.3.43種循環語句的選用
3.3.5循環的嵌套
3.4控制轉移
3.4.2continue語句
3.4.4return語句
3.5編程實例——凱撒加烏享朽歸/解密和維吉尼亞加/解密
3.5.1背景
3.5.2原始碼及程式解釋
習題3
第4章函式
4.1函式概述
4.2預定義函式
4.3自定義函式
4.3.1函式的定義
4.3.2函式的返回墓蘭值
4.3.3函式府多蒸參數和傳值調用
4.3.4函式定義和函式聲明的區別
4.4函式的重載
4.5帶默認參數的函式
4.6內聯函式
4.7函式的嵌套調用
4.8函式的遞歸調用
4.9局部變數與全局變數
4.10變數的存儲類別
4.10.1自動變數
4.10.2靜態局部變數
4.10.3暫存器變數
4.10.4外部變數和靜態外部變數
4.11預處理命令
4.11.1檔案包含
4.11.2條件編譯
4.12編程實例——Hanoi(漢諾)塔問題
習題4
第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.2.3二維數組的套用
5.2.4多維數組簡單介紹
5.3字元數組
5.3.1定義和引用一維字元數組
5.3.2一維字元數組的初始化
5.3.3多維字元數組
5.3.4字元數組的輸入與輸出
5.3.5字元數組處理函式
5.4string類型
5.4.1定義和初始化string類型變數
5.4.2string對象的使用
5.5數組在函式中的套用
5.5.1數組元素作為函式參數
5.5.2整個數組作為函式參數
5.6編程實例——大整數加減運算
5.6.1設計思路
5.6.2原始碼和程式解釋
習題5
第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.4const修飾指針
6.4.1指向常量的指針
6.4.2指針常量
6.5引用
6.5.1引用的基本概念
6.5.2引用的套用
6.6動態數組
6.7其他指針
6.7.1函式指針
6.7.2指向指針的指針
6.7.3指針數組
6.8編程實例——選擇法排序
習題6
第7章自定義數據類型
7.1結構體類型
7.1.1結構體類型的聲明
7.1.2結構體變數的定義、初始化及使用
7.1.3結構體數組的定義、初始化及使用
7.1.4結構體作為函式參數
7.2共用體
7.2.1共用體變數的定義與初始化
7.2.2共用體變數的使用
7.3枚舉類型
7.3.1枚舉類型變數的定義與初始化
7.3.2枚舉類型變數的使用
7.4typedef聲明
7.5編程實例——遞歸下降語法分析器
7.5.1算法介紹
7.5.2程式原始碼
習題7
第8章類
8.1類的聲明
8.1.1類類型的聲明
8.1.2對象的定義
8.1.3類的訪問屬性
8.1.4取值函式和賦值函式
8.1.5內聯成員函式
8.1.6this指針
8.2構造函式和析構函式
8.2.1構造函式
8.2.2拷貝構造函式
8.2.3析構函式
8.3組合對象
8.3.1組合對象概述
8.3.2構造函式和析構函式在組合對象中的使用
8.4對象數組
8.4.1對象數組的定義
8.4.2對象數組的初始化
8.5對象指針
8.5.1對象指針的定義與使用
8.5.2指向對象成員的指針
8.6編程實例——學生成績排名
8.6.1算法介紹
8.6.2程式原始碼
習題8
第9章靜態成員與友元
9.1變數的使用
9.1.1作用域
9.1.2可見性
9.1.3生存期
9.2類的靜態成員
9.2.1靜態數據成員
9.2.2靜態成員函式
9.3類的友元
9.3.1友元函式
9.3.2友元類
9.4const修飾符
9.4.1const修飾變數
9.4.2const修飾引用
9.4.3const修飾對象
9.4.4const修飾類中的成員
9.5編程實例——緩衝區溢出
9.5.1背景
9.5.2程式原始碼
習題9
第10章運算符重載
10.1重載二元運算符
10.1.1成員函式實現運算符重載
10.1.2友元函式實現運算符重載
10.2重載一元運算符
10.3>>和<<運算符重載
10.3.1<<運算符重載
10.3.2>>運算符重載
10.4重載運算符限制與設計規則
10.5編程實例——矩陣及向量間的運算
10.5.1背景
10.5.2程式原始碼
習題10
第11章繼承與派生
11.1類的繼承與派生
11.1.1繼承與派生的概念
11.1.2派生類的聲明
11.1.3繼承方式
11.1.4派生類中的構造函式和析構函式
11.1.5重定義成員函式
11.1.6構造函式和析構函式的調用順序
11.2二義性問題
11.3虛基類
11.3.1虛基類的聲明
11.3.2虛基類的構造函式
11.4編程實例——銀行賬戶管理系統
11.4.1需求分析與數據結構設計
11.4.2程式原始碼
習題11
第12章多態
12.1upcast
12.2後期綁定與虛函式
12.3重新定義和超載
12.4VPTR和VTABLE
12.5關於運算效率的考慮
12.6純虛函式與抽象類
12.7純虛函式的定義
12.8編程實例——虛函式實現求不同圖形的面積
習題12
第13章輸入輸出流
13.1流的概念
13.1.1與I/O流類庫有關的頭檔案
13.1.2iostream頭檔案中的重載運算符
13.2輸入輸出格式控制
13.2.1ios類中的枚舉常量
13.2.2ios類中的成員函式
13.2.3iomanip頭檔案中的控制符
13.3字元I/O
13.3.1get函式
13.3.2put函式
13.3.3getline函式
13.4其他成員函式
13.4.1ignore函式
13.4.2eof函式
13.4.3peek函式
13.4.4putback函式
13.5檔案和檔案I/O
13.5.1檔案的概念
13.5.2檔案流類與檔案流對象
13.5.3檔案的打開與關閉
13.5.4I/O對象的條件狀態
13.5.5ASCII檔案的訪問
13.5.6二進制檔案的訪問(選讀)
13.6編程實例——ini檔案的讀/寫
13.6.1ini檔案結構
13.6.2原始碼和程式解釋
習題13
第14章模板
14.1函式模板
14.1.1函式模板的定義
14.1.2函式模板的套用
14.2類模板
14.2.1類模板的定義
14.2.2類模板的套用
14.3編程實例——複數類的定義和實現
習題14
第15章鍊表
15.1鍊表概述
15.2單鍊表類的定義
15.3鍊表結點的訪問
15.4鍊表結點的插入
15.5鍊表結點的刪除
15.6鍊表實例——簡單的鍊表操作
習題15
第16章異常處理
16.1C++錯誤處理
16.2C++異常處理機制
16.2.1異常處理機制的3個部分
16.2.2異常處理的語法
16.2.3自定義異常類
16.2.4多個throw和catch
16.2.5catch(…)
16.2.6異常規範
16.3編程實例——病毒的自我複製
習題16
第17章項目開發指南
17.1項目管理基礎
17.1.1項目與項目管理
17.1.2項目流程
17.1.3項目實施管理
17.2項目開發團隊
17.2.1項目團隊組成
17.2.2項目團隊要求
17.3項目的研發
17.3.1軟體版本控制
17.3.2程式編寫規範
17.3.3功能設計說明書的撰寫
17.3.4程式設計與實現
17.3.5單元測試
17.3.6提交代碼
17.3.7功能維護
習題17
參考文獻
2.4.4枚舉常量
2.4.5實型常量
2.4.6地址常量
2.5符號常量
2.5.1為什麼需要符號常量
2.5.2const與#define的比較
2.6基本輸入輸出
2.6.1cout輸出流
2.6.2cin輸入流
2.7運算符和表達式
2.7.1C++語言運算符的種類
2.7.2算術運算符
2.7.3賦值運算符
2.7.6位運算符
2.7.7條件運算符
2.7.8逗號運算符
2.7.9運算符的優先權及結合性
2.8編程實例——獲取IP位址並計算網路號等信息
2.8.1背景
2.8.2原始碼及程式解釋
習題2
第3章語句和控制結構
3.1順序結構
3.1.1表達式語句
3.1.2函式調用語句
3.1.3複合語句
3.1.4空語句
3.1.5賦值語句
3.2選擇結構
3.2.1if…else語句和if語句
3.2.2多路分支
3.2.3程式套用舉例
3.3循環結構
3.3.1while語句
3.3.2do…while語句
3.3.3for語句
3.3.43種循環語句的選用
3.3.5循環的嵌套
3.4控制轉移
3.4.2continue語句
3.4.4return語句
3.5編程實例——凱撒加/解密和維吉尼亞加/解密
3.5.1背景
3.5.2原始碼及程式解釋
習題3
第4章函式
4.1函式概述
4.2預定義函式
4.3自定義函式
4.3.1函式的定義
4.3.2函式的返回值
4.3.3函式參數和傳值調用
4.3.4函式定義和函式聲明的區別
4.4函式的重載
4.5帶默認參數的函式
4.6內聯函式
4.7函式的嵌套調用
4.8函式的遞歸調用
4.9局部變數與全局變數
4.10變數的存儲類別
4.10.1自動變數
4.10.2靜態局部變數
4.10.3暫存器變數
4.10.4外部變數和靜態外部變數
4.11預處理命令
4.11.1檔案包含
4.11.2條件編譯
4.12編程實例——Hanoi(漢諾)塔問題
習題4
第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.2.3二維數組的套用
5.2.4多維數組簡單介紹
5.3字元數組
5.3.1定義和引用一維字元數組
5.3.2一維字元數組的初始化
5.3.3多維字元數組
5.3.4字元數組的輸入與輸出
5.3.5字元數組處理函式
5.4string類型
5.4.1定義和初始化string類型變數
5.4.2string對象的使用
5.5數組在函式中的套用
5.5.1數組元素作為函式參數
5.5.2整個數組作為函式參數
5.6編程實例——大整數加減運算
5.6.1設計思路
5.6.2原始碼和程式解釋
習題5
第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.4const修飾指針
6.4.1指向常量的指針
6.4.2指針常量
6.5引用
6.5.1引用的基本概念
6.5.2引用的套用
6.6動態數組
6.7其他指針
6.7.1函式指針
6.7.2指向指針的指針
6.7.3指針數組
6.8編程實例——選擇法排序
習題6
第7章自定義數據類型
7.1結構體類型
7.1.1結構體類型的聲明
7.1.2結構體變數的定義、初始化及使用
7.1.3結構體數組的定義、初始化及使用
7.1.4結構體作為函式參數
7.2共用體
7.2.1共用體變數的定義與初始化
7.2.2共用體變數的使用
7.3枚舉類型
7.3.1枚舉類型變數的定義與初始化
7.3.2枚舉類型變數的使用
7.4typedef聲明
7.5編程實例——遞歸下降語法分析器
7.5.1算法介紹
7.5.2程式原始碼
習題7
第8章類
8.1類的聲明
8.1.1類類型的聲明
8.1.2對象的定義
8.1.3類的訪問屬性
8.1.4取值函式和賦值函式
8.1.5內聯成員函式
8.1.6this指針
8.2構造函式和析構函式
8.2.1構造函式
8.2.2拷貝構造函式
8.2.3析構函式
8.3組合對象
8.3.1組合對象概述
8.3.2構造函式和析構函式在組合對象中的使用
8.4對象數組
8.4.1對象數組的定義
8.4.2對象數組的初始化
8.5對象指針
8.5.1對象指針的定義與使用
8.5.2指向對象成員的指針
8.6編程實例——學生成績排名
8.6.1算法介紹
8.6.2程式原始碼
習題8
第9章靜態成員與友元
9.1變數的使用
9.1.1作用域
9.1.2可見性
9.1.3生存期
9.2類的靜態成員
9.2.1靜態數據成員
9.2.2靜態成員函式
9.3類的友元
9.3.1友元函式
9.3.2友元類
9.4const修飾符
9.4.1const修飾變數
9.4.2const修飾引用
9.4.3const修飾對象
9.4.4const修飾類中的成員
9.5編程實例——緩衝區溢出
9.5.1背景
9.5.2程式原始碼
習題9
第10章運算符重載
10.1重載二元運算符
10.1.1成員函式實現運算符重載
10.1.2友元函式實現運算符重載
10.2重載一元運算符
10.3>>和<<運算符重載
10.3.1<<運算符重載
10.3.2>>運算符重載
10.4重載運算符限制與設計規則
10.5編程實例——矩陣及向量間的運算
10.5.1背景
10.5.2程式原始碼
習題10
第11章繼承與派生
11.1類的繼承與派生
11.1.1繼承與派生的概念
11.1.2派生類的聲明
11.1.3繼承方式
11.1.4派生類中的構造函式和析構函式
11.1.5重定義成員函式
11.1.6構造函式和析構函式的調用順序
11.2二義性問題
11.3虛基類
11.3.1虛基類的聲明
11.3.2虛基類的構造函式
11.4編程實例——銀行賬戶管理系統
11.4.1需求分析與數據結構設計
11.4.2程式原始碼
習題11
第12章多態
12.1upcast
12.2後期綁定與虛函式
12.3重新定義和超載
12.4VPTR和VTABLE
12.5關於運算效率的考慮
12.6純虛函式與抽象類
12.7純虛函式的定義
12.8編程實例——虛函式實現求不同圖形的面積
習題12
第13章輸入輸出流
13.1流的概念
13.1.1與I/O流類庫有關的頭檔案
13.1.2iostream頭檔案中的重載運算符
13.2輸入輸出格式控制
13.2.1ios類中的枚舉常量
13.2.2ios類中的成員函式
13.2.3iomanip頭檔案中的控制符
13.3字元I/O
13.3.1get函式
13.3.2put函式
13.3.3getline函式
13.4其他成員函式
13.4.1ignore函式
13.4.2eof函式
13.4.3peek函式
13.4.4putback函式
13.5檔案和檔案I/O
13.5.1檔案的概念
13.5.2檔案流類與檔案流對象
13.5.3檔案的打開與關閉
13.5.4I/O對象的條件狀態
13.5.5ASCII檔案的訪問
13.5.6二進制檔案的訪問(選讀)
13.6編程實例——ini檔案的讀/寫
13.6.1ini檔案結構
13.6.2原始碼和程式解釋
習題13
第14章模板
14.1函式模板
14.1.1函式模板的定義
14.1.2函式模板的套用
14.2類模板
14.2.1類模板的定義
14.2.2類模板的套用
14.3編程實例——複數類的定義和實現
習題14
第15章鍊表
15.1鍊表概述
15.2單鍊表類的定義
15.3鍊表結點的訪問
15.4鍊表結點的插入
15.5鍊表結點的刪除
15.6鍊表實例——簡單的鍊表操作
習題15
第16章異常處理
16.1C++錯誤處理
16.2C++異常處理機制
16.2.1異常處理機制的3個部分
16.2.2異常處理的語法
16.2.3自定義異常類
16.2.4多個throw和catch
16.2.5catch(…)
16.2.6異常規範
16.3編程實例——病毒的自我複製
習題16
第17章項目開發指南
17.1項目管理基礎
17.1.1項目與項目管理
17.1.2項目流程
17.1.3項目實施管理
17.2項目開發團隊
17.2.1項目團隊組成
17.2.2項目團隊要求
17.3項目的研發
17.3.1軟體版本控制
17.3.2程式編寫規範
17.3.3功能設計說明書的撰寫
17.3.4程式設計與實現
17.3.5單元測試
17.3.6提交代碼
17.3.7功能維護
習題17
參考文獻

熱門詞條

聯絡我們