《程序設計教程(第4版):用C++語言編程》封麵

內容簡介

本書以 C++ 為編程語言,介紹了程序設計的基本思想、方法和技術。

本書內容圍繞程序設計的基礎知識、過程式和麵向對象程序設計基本內容進行展開,主要包括:計算機基礎知識、基本數據類型、常量、變量、操作符、表達式、流程控製、結構化程序設計、過程抽象、遞歸函數、複雜數據類型(數組、結構等)、數據抽象、繼承、類屬類型(STL)、輸入/輸出、異常處理以及事件驅動和基於MFC“文檔-視”結構的麵向對象的 Windows 應用程序框架等。

作者簡介

目錄

前言
第3版前言
第2版前言
第1版前言
教學建議
第1章概述
1.1計算機的工作原理
1.1.1馮·諾依曼體係結構
1.1.2硬件與軟件
1.1.3機內信息表示
1.2程序設計概述
1.2.1程序設計範式
1.2.2程序設計步驟
1.2.3程序設計語言
1.3C++語言概述
1.3.1C++語言的特點
1.3.2C++程序的構成
1.3.3C++程序的運行步驟
1.3.4C++語言的詞法
1.4小結
1.5習題
第2章簡單數據的描述——基本數據類型和表達式
2.1數據類型概述
2.2基本數據類型
2.2.1整數類型
2.2.2實數類型
2.2.3字符類型
2.2.4邏輯類型
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.4.5位操作符
2.4.6其他操作符
2.4.7操作數的類型轉換
2.5數據操作的基本單位—表達式
2.5.1表達式的構成和分類
2.5.2操作符的優先級和結合性
2.5.3表達式中操作數的類型轉換
2.5.4表達式結果的輸出
2.5.5帶副作用操作符的表達式計算
2.5.6左值表達式與右值表達式
2.6小結
2.7習題
第3章程序流程控製(算法)描述——語句
3.1程序流程控製概述
3.2順序執行
3.2.1表達式語句
3.2.2複合語句
3.2.3空語句
3.3選擇執行
3.3.1兩路分支語句—if語句
3.3.2多路分支語句—switch語句
3.4重複執行
3.4.1問題求解的迭代法與窮舉法
3.4.2循環語句
3.4.3計數循環和事件循環
3.4.4循環程序設計實例
3.5無條件轉移執行
3.5.1goto語句
3.5.2break語句
3.5.3continue語句
3.6程序設計風格
3.6.1結構化程序設計
3.6.2關於goto語句
3.7小結
3.8習題
第4章過程抽象——子程序
4.1過程抽象概述
4.1.1基於功能分解與複合的過程式程序設計
4.1.2子程序及子程序間的數據傳遞
4.2C++函數
4.2.1函數的定義
4.2.2函數的調用
4.2.3通過參數向函數傳數據的值—值參數傳遞
4.3變量的局部性
4.3.1局部變量與全局變量
4.3.2變量的生存期(存儲分配)
*4.3.3基於棧的函數調用
4.4程序的多模塊結構
4.4.1程序的模塊化
4.4.2標識符的作用域
4.4.3標準函數庫
4.5遞歸函數
4.5.1什麼是遞歸函數
4.5.2“分而治之”的程序設計
4.5.3遞歸函數應用實例
4.5.4遞歸與循環的選擇
4.6C++函數的進一步討論
4.6.1帶參數的宏和內聯函數
4.6.2帶默認值的形式參數
4.6.3函數名重載
4.6.4匿名函數—λ表達式
4.7小結
4.8習題
第5章複合數據的描述——構造數據類型
5.1自定義值集的數據描述—枚舉類型
5.1.1枚舉類型的定義
5.1.2枚舉類型的操作
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.4用一種類型表示多種類型的數據—聯合類型
5.4.1聯合類型的定義與操作
5.4.2聯合類型的應用
5.5內存地址的描述—指針類型
5.5.1指針類型概述
5.5.2指針類型的定義與基本操作
5.5.3指針類型作為參數—地址參數傳遞
5.5.4指針與動態變量—實現元素個數可變的複合數據描述(動態數組與鏈表)
*5.5.5用指針提高對數組元素的訪問效率
5.5.6把函數作為參數傳遞給函數—函數指針
*5.5.7多級指針
5.6數據的別名—引用類型
5.6.1引用類型的定義
5.6.2引用作為函數參數類型
5.7小結
5.8習題
第6章數據抽象——對象與類
6.1數據抽象概述
6.1.1數據抽象與封裝
6.1.2麵向對象程序設計
*6.1.3麵向對象程序設計與過程式程序設計的對比
6.2類
6.2.1數據成員
6.2.2成員函數
6.2.3成員的訪問控製—信息隱藏
6.3對象
6.3.1對象的創建
6.3.2對象的操作
6.3.3this指針
6.4對象的初始化和消亡前處理
6.4.1構造函數
6.4.2析構函數
6.4.3成員對象的初始化和消亡前處理
6.4.4拷貝構造函數
6.5類作為模塊
6.5.1類模塊的組成
*6.5.2Demeter法則
6.6對象與類的進一步討論
6.6.1對常量對象的訪問—常成員函數
6.6.2同類對象之間的數據共享—靜態數據成員
6.6.3提高對象私有數據成員的訪問效率—友元
*6.6.4對象拷貝構造過程的優化—轉移構造函數
6.7操作符重載
6.7.1操作符重載概述
6.7.2操作符重載的基本做法
6.7.3一些特殊操作符的重載
6.7.4操作符重載實例—字符串類String的一種實現
6.8小結
6.9習題
第7章類的複用——繼承
7.1繼承概述
7.2單繼承
7.2.1單繼承派生類的定義
7.2.2在派生類中訪問基類成員—protected訪問控製
7.2.3基類成員在派生類中對外的訪問控製—繼承方式
7.2.4派生類對象的初始化和消亡處理
7.2.5單繼承的應用實例
7.3消息(成員函數調用)的動態綁定
7.3.1消息的多態性
7.3.2虛函數與消息的動態綁定
7.3.3純虛函數和抽象類
*7.3.4虛函數動態綁定的一種實現
7.4多繼承
7.4.1多繼承概述
7.4.2多繼承派生類的定義
7.4.3名衝突
7.4.4重複繼承—虛基類
7.5類之間的聚合/組合關係
7.6小結
7.7習題
第8章輸入/輸出
8.1輸入/輸出概述
8.2麵向控製台的輸入/輸出
8.2.1基於函數庫的控製台輸入/輸出
8.2.2基於I/O類庫的控製台輸入/輸出
8.2.3抽取操作符“>>”和插入操作符“<<”的重載
8.3麵向文件的輸入/輸出
8.3.1文件概述
8.3.2基於函數庫的文件輸入/輸出
8.3.3基於I/O類庫的文件輸入/輸出
8.4麵向字符串變量的輸入/輸出
8.5小結
8.6習題
第9章異常處理
9.1異常處理概述
9.1.1什麼是異常
9.1.2異常處理的基本手段
9.2C++異常處理機製
9.2.1try、throw和catch語句
9.2.2異常的嵌套處理
9.3基於斷言的程序調試
9.4小結
9.5習題
第10章基於泛型的程序設計
10.1泛型概述
10.2模板
10.2.1函數模板
10.2.2類模板
10.2.3模板的複用
10.3基於STL的編程
10.3.1STL概述
10.3.2容器
10.3.3迭代器
10.3.4算法
10.4函數式程序設計概述
10.4.1什麼是函數式程序設計
10.4.2函數式程序設計中的常用操作
10.5小結
10.6習題
第11章事件驅動的程序設計
11.1事件驅動程序設計概述
11.2麵向對象的事件驅動程序設計
11.2.1Windows應用程序中的對象及微軟基礎類庫
11.2.2基於“文檔-視”結構的應用框架
11.3小結
11.4習題
附錄
附錄AASCII字符集及其編碼
附錄BIEEE754浮點數的內部表示
附錄CC++標準函數庫中的常用函數
附錄DC++編譯預處理命令
附錄EC++標準模板庫常用功能
附錄FMFC常用類的功能
······

最後修改:2025 年 12 月 23 日