C++程式設計教程(第三版)

C++程式設計教程(第三版)

《C++程式設計教程(第三版)》是由朱紅、趙琦、王慶寶編著,2019年清華大學出版社出版的21世紀高等學校計算機教育實用規劃教材。該教材面向計算機及其相關專業本、專科學生,是學習C++語言的基礎教材。

該教材是為高等院校第一門程式設計課程編寫的教材。全書共16章,分為兩部分: 第一部分是C++語言基礎,包括第1章~第8章,主要講述C++的數據類型,運算規則,順序、選擇、循環結構的程式設計,函式、數組、指針和結構體等內容,側重於基本概念、基本語法及常規算法; 第二部分是面向對象程式設計基礎,包括第9章~第16章,主要介紹類和對象、類的構造和析構、友元、運算符重載、繼承和派生以及輸入輸出流等內容。

基本介紹

  • 書名:C++程式設計教程(第三版)
  • 作者:朱紅、趙琦、王慶寶
  • ISBN:9787302518594
  • 類別:21世紀高等學校計算機教育實用規劃教材
  • 出版社:清華大學出版社
  • 出版時間:2019年7月1日
  • 裝幀:平裝
  • 開本:16開
成書過程,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

該教材由朱紅、趙琦、王慶寶編著,在編著過程中,閆玉德、王芳、錢芸生、陳文建、朱近、劉明、劉永、張微、俞虹、蔡驊、靳從等對該教材的內容提出了修改意見。同時,編者參閱了C++的參考書和有關資料。
2019年7月1日,該教材由清華大學出版社出版。

內容簡介

全書共16章,分兩部分。
第一部分是C++語言基礎,共8章。第1章C++基礎知識,介紹C++的發展歷史、面向對象程式設計的概念和C++程式的開發過程;第2章基本數據類型與表達式,介紹C++語言的基本數據類型、運算符與表達式,以及數據類型轉換、簡單輸入輸出語句等;第3章基本流程控制結構,介紹結構化程式的設計方法和與三種控制結構(順序、選擇和循環結構)相關聯的語法知識及其控制語句,其中標有*號的章節為選講的內容;第4章函式,介紹函式的定義與調用、內聯函式、函式重載以及函式的作用域等;第5章編譯預處理,介紹編譯預處理的知識以及三種預處理指令——宏、檔案包含和條件編譯;第6章數組,介紹一維數組和二維數組的定義與引用,數組名作為函式參數的套用,字元數組與字元串的套用;第7章指針,介紹指針與指針變數的概念、指針運算、指針數組、函式指針、指向指針的指針等;第8章結構體和共用體,介紹C++的構造數據類型,包括結構體、共用體和枚舉,對單向鍊表的各種操作也做了說明。
第二部分是面向對象程式設計基礎,共8章。第9章類和對象,介紹面向對象程式設計的基本要素、類和對象的定義方法、對象的初始化、this指針等;第10章構造函式和析構函式,介紹默認的構造函式、構造函式的重載、複製的構造函式和默認及顯式定義的析構函式;第11章靜態成員與友元,介紹靜態數據成員和靜態成員函式,友元函式和友元類;第12章運算符重載,介紹單目與雙目運算符的重載,包括重載成為成員函式或友元函式在定義格式及套用中的區別;第13章繼承和派生,介紹基類和派生類、單繼承、多繼承和虛基類,繼承中衝突的解決和支配規則等;第14章虛函式,介紹虛函式與運行時的多態性的概念,包括虛函式的作用和功能、虛函式的套用、純虛函式和抽象類等;第15章輸入輸出流,介紹I/O標準流類、鍵盤輸入和螢幕輸出、磁碟檔案的輸入輸出等;第16章C++工具,介紹模板的概念和異常處理,該章內容是選學內容。

教材目錄

第1章C++基礎知識
1.1C++與Visual C++語言
1.2C++程式的基本要素
1.2.1一個簡單的程式
1.2.2C++程式的基本要素
1.2.3C++程式的書寫規則
1.3C++程式的開發步驟與上機實踐
1.3.1C++程式的開發步驟
1.3.2C++程式的上機實踐
1.4信息在計算機中的表示
1.4.1進位計數制
1.4.2帶符號數在計算機中的表示
1.4.3字元在計算機中的表示
練習題
第2章基本數據類型與表達式
2.1數據類型
2.2常量和變數
2.2.1常量
2.2.2變數
2.3整型數據
2.3.1整型常量
2.3.2整型變數
2.4浮點型數據
2.4.1浮點型常量
2.4.2浮點型變數
2.5字元型數據
2.5.1字元型常量
2.5.2字元型變數
2.5.3字元串常量
2.6類型轉換
2.6.1不同類型數據間的混合算術運算
2.6.2賦值時的類型轉換
2.6.3強制類型轉換符
2.7運算符與表達式
2.7.1算術運算符與算術表達式
2.7.2關係運算符與關係表達式
2.7.3邏輯運算符與邏輯表達式
2.7.4賦值運算符與賦值表達式
2.7.5自增運算符與自減運算符
2.7.6逗號運算符與逗號表達式
2.7.7sizeof運算符及表達式
2.7.8表達式中運算符的運算順序
2.8簡單的輸入輸出語句
2.8.1十進制整數、實數與字元數據的輸入
2.8.2十六進制或八進制數據的輸入
2.8.3數據的輸出
練習題
第3章基本流程控制結構
3.1結構化程式設計
3.1.1結構化程式設計
3.1.2基本控制結構
3.1.3C++語言的語句分類
3.2選擇結構語句
3.2.1if語句
3.2.2條件運算符“?:”
3.2.3switch語句
3.3循環結構語句
3.3.1while語句
3.3.2dowhile語句
3.3.3for語句
3.3.4三種循環的比較及適用場合
3.3.5多重循環
3.4控制執行順序的語句
3.4.1break語句
3.4.2continue語句
*3.4.3goto語句
*3.4.4exit和abort函式
3.5綜合套用舉例
練習題
第4章函式
4.1概述
4.2函式的定義與調用
4.2.1函式的定義
4.2.2函式的調用
4.2.3引用作為函式參數
4.3函式的嵌套調用
4.4函式的遞歸調用
4.5內聯函式
4.6函式重載
4.7帶有默認參數的函式
4.8局部變數和全局變數
4.8.1局部變數
4.8.2全局變數
4.9變數的存儲類別
4.9.1變數的生存期和存儲類別
4.9.2auto型變數
4.9.3static局部變數
4.9.4register型變數
4.9.5extern型變數
4.9.6用static聲明全局變數
4.10內部函式和外部函式
4.10.1內部函式
4.10.2外部函式
練習題
第5章編譯預處理
5.1宏定義
5.1.1不帶參數的宏定義
5.1.2帶參數的宏定義
5.2檔案包含
5.3條件編譯
練習題
第6章數組
6.1數組的定義和引用
6.1.1一維數組的定義
6.1.2一維數組的引用
6.1.3一維數組的初始化
6.1.4一維數組程式舉例
6.2二維數組的定義和引用
6.2.1二維數組的定義
6.2.2二維數組的引用
6.2.3二維數組的初始化
6.2.4二維數組程式舉例
6.3數組作為函式的參數
6.3.1數組元素作為函式的實參
6.3.2數組名作為函式的實參
6.3.3二維數組作為函式的參數
6.4字元數組
6.4.1字元數組的定義
6.4.2字元數組的初始化
6.4.3字元串和字元串結束標誌
6.4.4字元數組的輸入輸出
6.4.5字元串處理函式
6.4.6字元數組的套用舉例
練習題
第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.4指針與函式
7.4.1函式指針變數
7.4.2指針型函式
7.5指針與二維數組
7.5.1二維數組的地址
7.5.2通過指針引用二維數組中的元素
7.6指針數組與指向指針的指針
7.6.1指針數組
7.6.2指向指針的指針
7.6.3多級指針小結
7.7const指針
7.8動態存儲分配
練習題
第8章結構體和共用體
8.1結構體
8.1.1結構體與結構體類型的聲明
8.1.2結構體類型變數
8.1.3結構體數組和指針
8.2鍊表
8.2.1正向鍊表
8.2.2建立反向鍊表
8.3共用體
8.3.1共用體類型與共用體變數
8.3.2共用體變數的引用
8.4枚舉
8.5用typedef聲明類型
練習題
第二部分面向對象程式設計基礎
第9章類和對象
9.1面向對象程式設計概述
9.1.1面向對象
9.1.2面向對象中的主要概念
9.1.3面向對象的程式設計
9.2類的聲明和對象的定義
9.2.1類的聲明
9.2.2對象的定義
9.2.3對象成員的訪問
9.2.4用類的指針訪問對象成員
9.2.5用對象的引用變數訪問對象成員
9.3重載類的成員函式
9.3.1重載類的成員函式
9.3.2默認參數的類的成員函式
9.4this指針
9.4.1this指針
9.4.2在成員函式中訪問成員函式
9.5類和對象的套用舉例
練習題
第10章構造函式和析構函式
10.1構造函式
10.1.1構造函式的作用
10.1.2構造函式重載
10.1.3默認的構造函式
10.2析構函式
10.3構造對象的順序
10.4對象的動態建立和釋放
10.5複製構造函式
10.6臨時對象
10.7const成員與對象
10.7.1const成員
10.7.2常對象
10.8面向對象的程式設計套用舉例
練習題
第11章靜態成員與友元
11.1靜態成員
11.2靜態成員函式
11.3友元函式
11.3.1普通函式聲明為類的友元函式
11.3.2其他類的成員函式聲明為類的友元函式
11.4友元類
練習題
第12章運算符重載
12.1運算符重載的概念
12.2運算符重載為成員函式
12.2.1雙目運算符重載為成員函式
12.2.2單目運算符重載為成員函式
12.2.3賦值運算符重載為成員函式
12.3運算符重載為友元函式
12.3.1雙目運算符重載為友元函式
12.3.2單目運算符重載為友元函式
12.4類型轉換運算符函式
12.5重載流插入和流提取運算符
12.6綜合實例
練習題
第13章繼承和派生
13.1繼承與派生的概念
13.1.1繼承與派生的概念
13.1.2派生類的定義
13.1.3派生類的三種繼承方式
13.2派生類的構造函式和析構函式
13.2.1單繼承派生類的構造函式
13.2.2多繼承派生類的構造函式
13.2.3有子對象的派生類的構造函式
13.3繼承的衝突與支配
13.3.1衝突
13.3.2支配
13.3.3賦值兼容規則
13.4虛基類
13.4.1虛基類的定義
13.4.2虛基類的初始化
練習題
第14章虛函式
14.1多態性的概念
14.2虛函式
14.3純虛函式與抽象類
練習題
第15章輸入輸出流
15.1C++的輸入輸出流
15.1.1ios類的結構
15.1.2輸入流
15.1.3輸出流
15.2格式化的輸入輸出
15.2.1輸入格式化
15.2.2輸出格式化
15.3檔案流
15.3.1檔案的概念
15.3.2檔案的打開與關閉
15.3.3對文本檔案的操作
15.3.4對二進制檔案的操作
15.4字元串流
練習題
*第16章C++工具
16.1模板
16.1.1模板的概念
16.1.2函式模板
16.1.3類模板
16.2異常處理
16.2.1異常的概念
16.2.2異常處理的機制
練習題
參考文獻
(註:目錄排版順序為從左列至右列

教學資源

該教材配有實驗教材——《C++程式設計上機實踐與學習輔導(第三版)》,書中有16個單元的上機實驗內容,同時與主教材中的章節相對應,針對學習中的難點,補充了例題講解和各種典型的習題,並有6套模擬試卷及習題解答。
書名書號出版社出版時間作者
《C++程式設計上機實踐與學習輔導(第三版)》
9787302517269
清華大學出版社
2019.07.01
王慶寶、朱紅

教材特色

該教材所列舉的例題、習題均在VisualStudio2010下調試通過。
該教材作為C++語言的入門教材,不僅介紹了C++語言本身,還講述了面向對象的程式設計方法。該教材的主要特色如下:
  1. 強調基本概念、基本語法、基本結構,不深究語法的細節,從巨觀上把握程式的結構;該教材在對概念的講解上,注重強調這些概念在編程中的作用及其所實現的功能,而不去羅列一些具體的語法細節和特例;
  2. 注重模組化的程式設計,注重模仿,強調規範化的程式結構,不提倡過多的編程技巧和個人風格;該教材所涉及的概念、算法、語法包括例題的講解都強調規範化、結構化,引導讀者做適當的模仿,從基本程式的學習開始就養成規範編程的習慣;
  3. 該教材利用圖示說明,把複雜的概念、算法用圖形的形式描述出來,使讀者有一個形象直觀的認識。

作者簡介

朱紅,女,北京人,博士,南京理工大學電子工程與光電技術學院老師。
趙琦,1985年生,碩士,西南技術物理研究所工程師,主要研究高能雷射在湍流大氣中傳輸的理論、數值模擬和計算研究以及雷射測量與套用。
王慶寶,南京理工大學電子工程與光電技術學院老師。

相關詞條

熱門詞條

聯絡我們