《C++程式設計教程(第二版)》是由朱紅、趙琦、王慶寶編著,2016年清華大學出版社出版的21世紀高等學校計算機教育實用規劃教材。該教材面向計算機及相關專業本、專科學生,是學習C++語言的基礎教材。
該教材是為高等院校程式設計課程編寫的教材,全書共16章,分為兩個部分,第一部分是C++語言基礎,包括第1~8章,主要講述C++的數據類型、運算規則,順序、選擇、循環結構的程式設計,以及數組、函式、指針、結構體等內容,側重於基本概念、基本語法及常規算法; 第二部分是面向對象程式設計基礎,包括第9~16章,主要介紹類和對象、類的構造和析構、友元、運算符重載、繼承和派生及輸入輸出流等內容。
基本介紹
- 書名:C++程式設計教程(第二版)
- 作者:朱紅、趙琦、王慶寶
- ISBN:9787302422839
- 類別:21世紀高等學校計算機教育實用規劃教材
- 頁數:414頁
- 出版社:清華大學出版社
- 出版時間:2016年9月1日
- 裝幀:平裝
- 開本:16開
- 字數:653千字
- CIP核字號:2015283736
成書過程,修訂過程,出版工作,內容簡介,教材目錄,教學資源,教材特色,作者簡介,
成書過程
修訂過程
該教材由朱紅、趙琦、王慶寶編著,在編寫過程中,閆玉德、王芳、錢芸生、陳文建、朱近、劉明、劉永、張微、俞虹、蔡驊、靳從等老師對該教材的內容及修訂提出了意見。同時,編者參閱了C++的參考書和有關資料。
出版工作
2016年9月1日,該教材由清華大學出版社出版。
責任編輯 | 封面設計 | 責任校對 | 責任印製 |
---|---|---|---|
閆紅梅、王冰飛 | 常雪影 | 時翠蘭 | 何芊 |
內容簡介
全書共16章,分兩個部分。
第一部分是C++語言基礎,共有8章。第1章C++基礎知識介紹C++的發展歷史、C++程式的基本要素和C++程式的開發步驟;第2章基本數據類型與表達式介紹C++語言的基本數據類型、運算符與表達式以及數據類型轉換,簡單輸入/輸出語句等;第3章基本流程控制結構介紹結構化程式的設計方法,以及與3種控制結構——順序、選擇和循環結構相關聯的語法知識及其控制語句;第4章函式介紹函式的定義與聲明,函式的調用,內聯函式、重載函式以及函式的作用域等內容;第5章編譯預處理介紹編譯預處理的知識以及3種預處理指令——宏、檔案包含和條件編譯;第6章數組介紹一維數組和二維數組的定義與使用,數組名作為函式參數的套用,字元數組與字元串的套用;第7章指針介紹指針與指針變數的概念,以及指針運算、指針數組、函式指針、指針的指針等;第8章結構體和共用體介紹了C++的構造數據類型,有結構體、共用體和枚舉類型,對單向鍊表的各種操作也做了說明。
第二部分是面向對象程式設計基礎,共有8章。第9章類和對象介紹面向對象程式設計的基本要素、類和對象的定義方法、對象的初始化、this指針等;第10章構造函式和析構函式介紹默認的構造函式、構造函式的重載、複製構造函式和顯式定義的析構函式;第11章靜態成員與友元介紹了靜態數據成員和靜態成員函式、友元函式和友元類;第12章運算符重載介紹單目與雙目運算符的重載,包括重載成為成員函式或友元函式在定義格式及套用中的區別;第13章繼承和派生介紹基類和派生類,單繼承、多繼承和虛基類,繼承中衝突的解決和支配規則等;第14章虛函式介紹了虛函式與運行時的多態性的概念,包括虛函式的作用和功能、虛函式的套用、純虛函式和抽象類等;第15章輸入輸出流介紹IOS類、鍵盤輸入和螢幕輸出、磁碟檔案的輸入輸出等;第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.43種循環的比較及適用場合 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.7動態存儲分配 練習題 第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.7面向對象的程式設計套用舉例 練習題 第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派生類的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對二進制檔案的操作 練習題 第16章C++工具 16.1模板 16.1.1模板的概念 16.1.2函式模板 16.1.3類模板 16.2異常處理 16.2.1異常的概念 16.2.2異常處理的機制 練習題 附錄AASCII字元集及其代碼對照表 附錄B庫函式 參考文獻 |
(註:目錄排版順序為從左列至右列)
教學資源
- 配套教材
該教材有配套的教學參考書——《C++程式設計上機實踐與學習輔導(第二版)》,書中有16個單元的上機實驗內容,與主教材中的章節相對應,同時針對學習中的難點補充了例題講解和各種典型的習題,並有6套模擬試卷及習題解答。
書名 | 書號 | 出版社 | 出版時間 | 作者 |
---|---|---|---|---|
《C++程式設計上機實踐與學習輔導(第二版)》 | 9787302422846 | 清華大學出版社 | 2016.08.01 | 王慶寶、朱紅 |
- 課程資源
該教材還提供PPT課件、源碼。
教材特色
該教材所列舉的例題、習題均在VC++6.0下調試通過。
該教材作為C++語言的入門教材,不僅介紹了C++語言,還講述了面向對象的程式設計方法。該教材的主要特色如下:
- 強調基本概念、基本語法、基本結構,不深究語法的細節,從巨觀上把握程式的結構;該教材在對概念的講解上注重這些概念在編程中的作用及其所實現的功能,而不去羅列一些具體的語法細節和特例;
- 注重模組化的程式設計,注重模仿,強調規範化的程式結構,不提倡過多編程技巧和個人風格;該教材所涉及的概念、算法、語法包括例題的講解都強調規範化、結構化,引導讀者適當地模仿,從基本程式的學習開始就養成規範編程的習慣;
- 該教材利用了圖示說明,把複雜的概念、算法用圖形的形式描述出來。
作者簡介
朱紅,女,北京人,博士,南京理工大學電子工程與光電技術學院老師。
趙琦,1985年生,碩士,西南技術物理研究所工程師,主要研究高能雷射在湍流大氣中傳輸的理論、數值模擬和計算研究以及雷射測量與套用。
王慶寶,南京理工大學電子工程與光電技術學院老師。