定 價:49 元
叢書名:高等學校計算機專業(yè)規(guī)劃教材
- 作者:王珊珊,臧冽,張志航 著
- 出版時間:2016/12/1
- ISBN:9787111552536
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP312.8
- 頁碼:375
- 紙張:膠版紙
- 版次:3
- 開本:16開
本書包括兩部分內容。部分為第1~9章,以C++語言的基本語法為起點講述面向過程的程序設計,內容包括基本數據類型、基本控制結構、函數、數組、結構體、指針和鏈表。第二部分為第10~15章,結合C++語言的應用實例,講述面向對象程序設計的基本概念,內容包括類和對象、繼承和派生、多態(tài)以及輸入輸出和文件操作。本書適用于程序設計語言的初學者,也適用于大學本科理工類各專業(yè)學習C++程序設計語言的學生,同時適用于自學C++語言的讀者。
編寫背景各大專院校工科類專業(yè)開設了程序設計語言類課程,尤其是電類專業(yè)普遍開設了C++程序設計課程,因此需要一本適用于初學者的教材。本書就是為了滿足這個層次的讀者需求而編寫的。本書包含兩個方面的內容:1)面向過程的程序設計,目的是讓初學者掌握基本的程序設計知識。2)面向對象的程序設計,讓初學者了解面向對象程序設計的基本概念,為今后學習以面向對象為基礎的通用軟件開發(fā)工具如Microsoft Visual C++、Delphi、C#.net和Visual Studio等打下堅實的基礎。
2005年和2011年本教材分別出版了第1版和第2版,被國內十幾所高校和培訓機構所使用,并取得了良好的反響。本書在前兩版的基礎上,修正了部分不足,文字描述更準確;程序在Visual Studio 2013環(huán)境中運行,盡量做到符合C++11新標準,并對C++11新標準進行了一定的解釋;對源程序例子進行了少量增刪,并對源程序編輯格式做了調整,即采用C++標準命名空間的方式編寫程序。調整前和調整后源程序書寫格式如下:
#include //調整前程序書寫格式,使用帶.h的頭文件#include void main() //主函數無返回值{//…語句}#include //調整后程序書寫格式,使用不帶.h的頭文件#include using namespace std; //使用C++標準命名空間int main() //主函數的返回值類型為int{//…語句return 0;}編寫內容和教學要求本書分兩部分,第一部分包括第1~9章,結合C++語言的基本語法,介紹傳統(tǒng)的面向過程的程序設計,內容包括C++語言基本數據類型、基本運算、基本輸入輸出、結構化流程控制語句、函數、編譯預處理、數組、結構體、指針和鏈表等,基本上是傳統(tǒng)的C程序設計語言的內容。第二部分包括第10~15章,以面向對象的三大特點為主線,講述類和對象的基本概念,類的封裝、繼承和多態(tài),以及函數模板和類模板,并講述了輸入輸出流類體系、文件操作等內容。
本書作者的教學理念是注重程序設計算法的教學,注重對學生算法思路的邏輯訓練,而不拘泥于語法要素的細枝末節(jié)。本書通俗易懂,配有大量針對各章的教學難點和重點以及各種算法而設計的例題和習題。在選擇例題和習題時,盡量涵蓋目前程序設計語言課程的各類算法。初學者閱讀習題時,能夠在教材的例題中找到相似的例子進行模仿,這樣對初學者來說解題就不是一件非常困難的事情。除了進行理論教學和上機練習外,教師還可以根據實際情況選用適合不同層次學生的課程設計題目,以加強學生動手編制較大規(guī)模程序的能力。
本書第1、2、9~14章由王珊珊老師編寫,第5~8章由臧洌老師編寫,第3、4、15章由張志航老師編寫,全書由王珊珊負責統(tǒng)稿。
本書的實驗環(huán)境是Visual Studio 2013,書中全部的例題和習題均在該環(huán)境中通過編譯和運行。
本書配套的上機實驗和課程設計教材為《C++語言程序設計上機實驗及學習指導》,王珊珊、臧洌和張志航編著,2016年1月由南京大學出版社出版。
本書可能會存在疏漏、不妥和錯誤之處,懇請專家和廣大讀者指教和商榷。
作者聯系方式:
(張志航)作者2016年8月20日于南京航空航天大學
第1章 C++ 概述
1.1 計算機語言與程序
1.1.1 機器語言與程序
1.1.2 匯編語言與程序
1.1.3 高級語言與程序
1.2 從C到C++
1.3 程序設計方法
1.3.1 結構化程序設計方法
1.3.2 面向對象的程序設計方法
1.4 簡單的C++程序介紹
1.5 程序開發(fā)的步驟
習題1
第2章 數據類型、運算符和表達式
2.1 保留字和標識符
2.1.1 保留字
2.1.2 標識符
2.2 C++的基本數據類型
2.3 常量和變量
2.3.1 常量
2.3.2 符號常量
2.3.3 變量
2.4 基本運算符和表達式
2.4.1 C++運算符及表達式簡介
2.4.2 算術運算符和算術表達式
2.4.3 運算優(yōu)先級和結合性
2.4.4 關系運算符和關系表達式
2.4.5 邏輯運算符和邏輯表達式
2.4.6 位運算符和位運算表達式
2.4.7 自增、自減運算符和表達式
2.4.8 賦值運算符和賦值表達式
2.4.9 逗號運算符和逗號表達式
2.4.10 sizeof( ) 運算符和表達式
2.4.11 邏輯表達式運算優(yōu)化的副作用
2.5 類型轉換
2.5.1 賦值時的自動類型轉換
2.5.2 各種類型運算量混合運算時的自動類型轉換
2.5.3 強制類型轉換
習題2
第3章 簡單的輸入/輸出
3.1 傳統(tǒng)的輸入/輸出函數實現方法
3.2 cout輸出流
3.2.1 輸出八進制數、十六進制數和用科學計數法表示的數
3.2.2 輸出字符或字符串
3.3 cin輸入流
3.3.1 輸入十六進制或者八進制數據
3.3.2 輸入字符數據
3.4 總結
習題3
第4章 C++的流程控制
4.1算法概述
4.1.1 算法的作用和類別
4.1.2 算法的設計原則
4.1.3 算法的表示工具
4.1.4 結構化程序設計中基本結構的表示
4.2 C++程序的結構和語句
4.3 選擇結構語句的使用
4.3.1 if語句
4.3.2 if語句的嵌套使用
4.3.3 條件運算符
4.3.4 switch語句
4.4循環(huán)結構語句的使用
4.4.1 goto語句及標號的使用
4.4.2 while語句
4.4.3 for語句
4.4.4 do-while語句
4.4.5 break語句和continue語句
4.4.6 循環(huán)的嵌套
4.5 控制語句的應用舉例
習題4
第5章 函數
5.1 概述
5.2 函數的定義與調用
5.2.1 函數的定義
5.2.2 函數的調用
5.2.3 函數的參數
5.3 函數的原型聲明
5.4 函數的嵌套調用和遞歸調用
5.4.1 函數的嵌套調用
5.4.2 函數的遞歸調用
5.5 內聯函數
5.6 函數重載
5.6.1 參數類型不同的重載函數
5.6.2 參數個數不同的重載函數
5.7 使用C++系統(tǒng)函數
5.8 作用域和存儲類別
5.8.1 作用域
5.8.2 存儲類別
5.8.3 全局變量的作用域的擴展和限制
5.9 程序的多文件組織
5.9.1 內部函數和外部函數
5.9.2 多文件組織的編譯和連接
習題5
第6章 編譯預處理
6.1 宏定義
6.1.1 不帶參數的宏定義
6.1.2 帶參數的宏定義
6.2 “文件包含”處理
*6.3 條件編譯
習題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.2.3 字符數組的使用
7.2.4 字符串和字符串結束標志
7.2.5 字符數組的輸入/輸出
7.2.6 字符串處理函數
7.2.7 字符數組應用舉例
習題7
第8章 結構體、共用體和枚舉類型
8.1 結構體的定義及應用
8.1.1 結構體類型的定義
8.1.2 結構體類型變量的定義
8.1.3 結構體類型變量及其成員的引用
8.1.4 結構體數組
8.2 共用體的定義及應用
8.2.1 共用體類型及其變量的定義
8.2.2 共用體類型變量的引用
8.2.3 共用體數據類型的特點
8.3 枚舉類型
8.3.1 枚舉類型的定義
8.3.2 枚舉類型變量的定義
8.3.3 枚舉類型變量的使用
習題8
第9章 指針、引用和鏈表
9.1 指針和指針變量
9.1.1 指針的概念
9.1.2 指針變量的定義
9.1.3 有關指針的運算符 & 和 *
9.1.4 指針變量的初始化
9.1.5 直接訪問和間接訪問
9.1.6 地址值的輸出
9.2 指針作函數參數
9.2.1 基本類型量作函數參數
9.2.2 指針變量作函數參數
9.3 指針和指向數組的指針
9.3.1 一維數組與指針
9.3.2 一維數組元素指針作函數參數
9.3.3 指針和字符串
9.3.4 二維數組與指針
9.3.5 獲得函數處理結果的幾種方法
9.4 指針數組
9.4.1 指針數組的定義和使用
9.4.2 使用指針數組處理二維數組
9.4.3 利用字符指針數組處理字符串
9.4.4 main 函數的參數
9.5 指向指針的指針
9.6 指針和函數
9.6.1 函數指針
9.6.2 返回指針值的函數(指針函數)
9.7 指針小結
9.8 引用、const型變量和const型指針
9.8.1 引用類型變量的說明及使用
9.8.2 引用和函數
9.8.3 const型量
9.9 存儲空間的動態(tài)分配和釋放
9.9.1 new和delete運算符
9.9.2 使用new和delete運算符的注意事項
9.10 鏈表及其算法
9.10.1 結構體與指針
9.10.2 鏈表的概念的引入
9.10.3 鏈表的常用算法
9.11 用typedef定義新類型名
習題9
第10章 類和對象
10.1 類和對象的定義
10.1.1 從結構體到類
10.1.2 類和對象的定義
10.1.3 對象成員的訪問
10.1.4 成員函數的定義