C++ 程序設計 : 原理與實踐(基礎篇), 2/e (Programming: Principles and Practice Using C++, 2/e)
內容描述
C++之父BjarneStroustrup的經典著作《C++程序設計:原理與實踐(原書第2版)》基於新的C++11和C++14,廣泛地介紹了程序設計的基本概念和技術,包括類型系統、算術運算、控制結構、錯誤處理等;介紹了從鍵盤和文件獲取數值和文本數據的方法以及以圖形化方式表示數值數據、文本和幾何圖形;介紹了C++標準庫中的容器(如向量、列表、映射)和算法(如排序、查找和內積)的設計和使用。同時還對C++思想和歷史進行了詳細的討論,很好地拓寬了讀者的視野。為方便讀者循序漸進地學習,加上篇幅所限,《C++程序設計:原理與實踐(原書第2版)》分為基礎篇和進階篇兩冊出版,基礎篇包括第1~11章、第17~19章和附錄A、C,進階篇包括第12~16章、第20~27章和附錄B、D、E。本書是基礎篇。本書通俗易懂、實例豐富,可作為大學電腦、電子工程、信息科學等相關專業的教材,也可供相關專業人員參考。
目錄大綱
第1章計算機、人與程序設計
1.1 簡介
1.2 軟件
1.3 人
1.4 計算機科學
1.5 計算機已無處不在
1.5.1 有屏幕和無屏幕
1.5.2 船舶
1.5.3 電信
1.5.4 醫療
1.5.5 信息領域
1.5.6 一種垂直的視角
1.5.7 與C++程序設計有何联系
1.6 程序員的理想境界
思考題
術語
習題
附言
第2章Hello, World!
2.1 程序
2.2 經典的第一個程序
2.3 編譯
2.4 鏈接
2.5 編程環境
簡單練習
思考題
術語
習題
附言
第3章對象、類型和值
3.1 輸入
3.2 變量
3.3 輸入和類型
3.4 運算和運算符
3.5 賦值和初始化
3.5.1 實例:檢測重複單詞
3.6 複合賦值運算符
3.6.1 實例:重複單詞計數
3.7 命名
3.8 類型和對象
3.9 類型安全
3.9.1 安全轉換
3.9.2 不安全轉換
簡單練習
思考題
術語
習題
附言
第4章計算
4.1 簡介
4.2 目標和工具
4.3 表達式
4.3.1 常量表達式
4.3.2 運算符
4.3.3 類型轉換
4.4 語句
4.4.1 選擇語句
4.4.2 循環語句
4.5 函數
4.5.1 為什麼使用函數
4.5.2 函數聲明
4.6 vector
4.6.1 遍歷一個vector
4.6.2 vector空間增長
4.6.3 一個數值計算實例
4.6.4 一個文本實例
4.7 語言特性
簡單練習
思考題
術語
習題
附言
第5章錯誤
5.1 簡介
5.2 錯誤的來源
5.3 編譯時錯誤
5.3.1 語法錯誤
5.3.2 類型錯誤
5.3.3 警告
5.4 鏈接時錯誤
5.5 運行時錯誤
5.5.1 調用者處理錯誤
5.5.2 被調用者處理錯誤
5.5.3 報告錯誤
5.6 異常
5.6.1 參數錯誤
5.6.2 範圍錯誤
5.6.3 輸入錯誤
5.6.4 窄化錯誤
5.7 邏輯錯誤
5.8 估計
5.9 調試
5.9.1 實用調試建議
5.10 前置條件和後置條件
5.10.1後置條件
5.11 測試
簡單練習
思考題
術語
習題
附言
第6章編寫一個程序
6.1 一個問題
6.2 對問題的思考
6.2.1 程序設計的幾個階段
6.2.2 策略
6.3 回到計算器問題
6.3.1 第一步嘗試
6.3.2 單詞
6.3.3 實現單詞
6.3.4 使用單詞
6.3.5 重新開始
6.4 文法
6.4.1 英文文法
6.4.2 設計一個文法
6.5 將文法轉換為程序
6.5.1 實現文法規則
6.5.2 表達式
6.5.3 項
6.5.4 基本表達式
6.6 試驗第一個版本
6.7 試驗第二個版本
6.8 單詞流
6.8.1 實現Token_stream
6.8.2 讀單詞
6.8.3 讀數值
6.9 程序結構
簡單練習
思考題
術語
習題
附言
第7章完成一個程序
7.1 簡介
7.2 輸入和輸出
7.3 錯誤處理
7.4 處理負數
7.5 模運算%
7.6 清理代碼
7.6.1 符號常量
7.6.2 使用函數
7.6.3 代碼佈局
7.6.4 註釋
7.7 錯誤恢復
7.8 變量
7.8.1 變量和定義
7.8.2 引入name單詞
7.8.3 預定義名字
7.8.4 我們到達目的地了嗎
簡單練習
思考題
術語
習題
附言
第8章函數相關的技術細節
8.1 技術細節
8.2 聲明和定義
8.2.1 聲明的類別
8.2.2 變量和常量聲明
8.2.3 默認初始化
8.3 頭文件
8.4 作用域
8.5 函數調用和返回
8.5.1 聲明參數和返回類型
8.5.2 返回一個值
8.5.3 傳值
8.5.4 傳常量引用
8.5.5 傳引用
8.5.6 傳值與傳引用的對比
8.5.7 參數檢查和轉換
8.5.8 實現函數調用
8.5.9 constexpr函數
8.6 計算順序
8.6.1 表達式計算
8.6.2 全局初始化
8.7 名字空間
8.7.1 using聲明和using指令
簡單練習
思考題
術語
習題
附言
第9章類相關的技術細節
9.1 用戶自定義類型
9.2 類和成員
9.3 接口和實現
9.4 演化一個類
9.4.1 結構和函數
9.4.2 成員函數和構造函數
9.4.3 保持細節私有性
9.4.4 定義成員函數
9.4.5 引用當前對象
9.4.6 報告錯誤
9.5 枚舉類型
9.5.1“平坦”枚舉
9.6 運算符重載
9.7 類接口
9.7.1 參數類型