電腦程式設計基礎教程:C++語言

電腦程式設計基礎教程:C++語言

《電腦程式設計基礎教程:C++語言》是2015年清華大學出版社出版的圖書,作者是劉衛國、周欣然

基本介紹

  • 書名:電腦程式設計基礎教程——C++語言
  • 作者:劉衛國、周欣然
  • ISBN:9787302400516
  • 定價:44.50元
  • 出版社:清華大學出版社
  • 出版時間:2015.08.01
  • 印刷時間:2015.07.31
  • 印次:1-1
內容簡介,前言,圖書目錄,主要內容,

內容簡介

本書遵循以計算思維能力培養為切入點的教學改革思路,以C++語言作為實現工具,介紹程式設計的基礎知識與基本方法。全書的主要內容有程式設計概述、基本數據及運算、流程控制、函式、批量數據的組織、複雜數據及運算、類與對象、類的繼承與派生、多態性與虛函式、模板與STL簡介、輸入輸出流、異常處理。
本書可作為高等學校電腦程式設計課程的教材,也可供參加各類計算機等級考試的讀者以及社會各類計算機套用人員閱讀參考。

前言

電腦程式設計基礎是一門非常重要的計算機課程,這門課通過介紹程式設計的基礎知識,使學生掌握高級語言程式設計的基本思想、方法和技術,理解利用計算機解決實際問題的基本過程和思維規律,從而具備創新能力,為未來套用計算機進行科學研究與實際套用奠定堅實的基礎。
近年來,計算機教育界提出,應將計算思維能力培養作為計算機教育的重要任務。計算思維(computationalthinking)是指運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解的一系列思維活動。計算思維不僅反映了計算的原理,更重要的是體現了基於計算機的問題求解思路與方法。就課程性質而言,電腦程式設計基礎課程最能夠體現問題求解方法,是理解計算機工作過程的有效途徑,也是計算思維能力培養的重要載體。因此,電腦程式設計基礎課程的重要性不僅體現在一般意義上的程式設計能力的培養,而且體現在引導學生實現問題求解思維方式的轉換,即學生計算思維能力的培養。當然,要實現計算思維能力的培養不是一件容易的事,這也是程式設計教學改革的重要切入點。本教材正是按照這種改革理念,以實際問題的求解過程為嚮導,介紹程式設計的基礎知識與基本方法,教材內容強調計算機求解問題的思路引導與程式設計思維方式的訓練,重點放在程式設計的思想與方法上。
C++語言由C語言發展而來,它保留了C語言原有的優點,與C兼容,用C語言寫的程式基本上可以不加修改地用於C++語言。同時,C++語言又在C的基礎上得到發展,一是基於面向過程機制對C語言的功能做了不少擴充;二是增加了面向對象機制,支持面向對象程式設計方法。在當今軟體開發中,C++語言有著廣泛的套用,也是高等學校最常用的程式設計教學語言之一。本書針對程式設計初學者以及準備參加C++語言二級考試的讀者,本著讓初學者學習C++語言更容易的目的,合理組織內容,突出C++語言的本質特點與教學要求,既介紹C++語言在面向過程程式設計中的套用,又介紹C++語言在面向對象程式設計中的套用,強調程式設計基本思想和思維訓練,力求體現以下4個方面的特點。
(1)全書強調計算機問題求解的思路引導,突出從問題到算法、再到程式的一種思維過程。不是羅列現成的程式,而是講清楚程式是怎么來的,怎樣才能得到程式。在語言編譯系統的選擇上,本書使用VisualStudio2010作為上機環境,目的是讓教材內容更接近軟體開發的實際需要,為讀者進一步學習和套用C++語言打下基礎。
(2)恰當取捨,突出C++語言的本質特點和教學要求。全書用通俗易懂的敘述講清C++語言的重要概念,不求面面俱到,對於初學者不常用到的內容作了簡化處理。教材也不過分死摳語言細節,引導讀者在實踐中去掌握語法規則。
(3)全書的組織編排遵循循序漸進原則。第1章介紹程式設計的基礎知識,建立起對C++語言的初步認識。第2章介紹基本數據類型,在這一章中並未羅列C++語言的全部運算,而是將相關運算分散到各章去介紹,一方面讓讀者儘早接觸到程式,另一方面也避免了教學過程中的單調乏味。第3章分別介紹程式的3種基本結構,體現了最基本的程式設計方法。第4章介紹函式,體現了模組化程式設計的需要。前4章只涉及C++語言的基本數據類型,重點放在程式的3種基本結構的實現方法和程式設計能力培養上。第5和第6章是數組和C++語言的構造數據類型,涉及更複雜數據的表達方法。第7~10章是面向對象程式設計的內容,先介紹類與對象的操作,再介紹類的基本特性,這是C++語言的特色內容。第11章是檔案操作,這是程式設計語言的傳統內容。第12章介紹異常處理,這是軟體開發中經常使用的方法。全書內容編排符合初學者的認知特點,有利於總體上把握課程內容,幫助讀者逐步深入理解和掌握課程知識。各章小結中總結了本章主要的知識點,幫助讀者總結歸納課程內容,達到鞏固提高的目的。
(4)本書有配套的教學參考書、教學課件與相關教學資源。為了方便教學和讀者上機操作練習,筆者還編寫了《電腦程式設計實踐教程——C++語言》(清華大學出版社出版)一書,作為與本書配套的教學參考書。實踐教程既與本教材相互配套,又是本教材很好的補充。另外,還有與本書配套的教學課件、各章習題答案、例題源程式等教學資源。
本書第1~第7章由劉衛國編寫,第8~第12章及附錄由周欣然編寫。參與討論與部分編寫工作的還有蔡旭暉、童鍵、劉胤宏、文碧望、石玉、歐鵬傑、胡勇剛、劉蘇洲、孫士闖、周克濤等。清華大學出版社的編輯對本書的出版做了大量工作,在此表示衷心的感謝。
本書在排版時,與程式相關的變數用正體,這樣程式中的變數和文字敘述中的變數保持形式一致,方便讀者閱讀。
由於編者水平有限,書中難免存在不足之處,懇請廣大讀者批評指正。
編者
2015年4月

圖書目錄

第1章程式設計概述
1.1程式設計基礎知識
1.1.1程式與程式設計
1.1.2算法及其描述
1.1.3程式設計方法
1.2C++語言的發展與特點
1.2.1C++語言的發展歷史
1.2.2C++語言的特點
1.3C++語言程式的基本結構
1.3.1初識C++語言程式
1.3.2C++語言程式的結構特點與書寫規則
1.4C++語言程式的運行
1.4.1C++語言程式的運行步驟與調試
1.4.2C++語言程式的集成開發環境
本章小結
習題
第2章基本數據及運算
2.1C++語言的數據類型
2.2數據表現形式
2.2.1常量
2.2.2變數
2.3基本數據類型
2.3.1整型數據
2.3.2實型數據
2.3.3字元型數據
2.3.4邏輯型數據
2.4常用數學庫函式
2.5基本運算與表達式
2.5.1C++語言的運算
2.5.2算術運算
2.5.3逗號運算
2.5.4位運算
2.5.5數據類型的轉換
本章小結
習題
第3章流程控制
3.1C++語言的語句
3.1.1簡單語句
3.1.2複合語句
3.1.3流程控制語句
3.2順序結構
3.2.1賦值語句
3.2.2數據輸入輸出
3.2.3順序結構程式舉例
3.3選擇結構
3.3.1條件的描述
3.3.2實現選擇結構的語句
3.3.3選擇結構程式舉例
3.4循環結構
3.4.1實現循環結構的語句
3.4.2與循環有關的轉移語句
3.4.3循環的嵌套
3.4.4循環結構程式舉例
本章小結
習題
第4章函式
4.1基於函式的程式結構
4.2函式的定義與調用
4.2.1函式的定義
4.2.2函式的調用
4.2.3函式的聲明
4.2.4函式的參數傳遞
4.3函式的嵌套調用與遞歸調用
4.3.1函式的嵌套調用
4.3.2函式的遞歸調用
4.4變數的作用域與生存期
4.4.1變數的作用域
4.4.2名字空間
4.4.3變數的生存期
4.5內聯函式和函式重載
4.5.1內聯函式
4.5.2函式重載
4.6編譯預處理
4.6.1宏定義
4.6.2檔案包含
4.6.3條件編譯
本章小結
習題
第5章批量數據的組織
5.1引入數組的必要性
5.2數組的定義
5.2.1一維數組
5.2.2二維數組
5.2.3數組的存儲結構
5.3數組的賦值與輸入輸出
5.3.1數組的賦值
5.3.2數組的輸入輸出
5.4數組的套用
5.4.1一維數組套用舉例
5.4.2二維數組套用舉例
5.5字元數組與字元串
5.5.1字元數組的定義和初始化
5.5.2字元數組的輸入輸出
5.5.3字元串處理函式
5.5.4string類型字元串
5.6數組作為函式的參數
5.6.1數組元素作函式的參數
5.6.2數組名作函式的參數
本章小結
習題
第6章複雜數據及運算
6.1指針
6.1.1指針變數的定義與使用
6.1.2指針與數組
6.1.3指針與字元串
6.1.4指針與函式
6.1.5動態記憶體管理與動態數組
6.2引用
6.2.1變數的引用
6.2.2引用作函式參數
6.2.3引用作函式返回值
6.3結構體
6.3.1結構體類型的定義
6.3.2結構體變數的定義與使用
6.3.3鍊表
6.4共用體與枚舉
6.4.1共用體
6.4.2枚舉類型
6.4.3用typedef定義類型名
本章小結
習題
第7章類與對象
7.1從面向過程到面向對象
7.2類與對象的定義
7.2.1類的定義
7.2.2對象的定義與使用
7.3對象的初始化
7.3.1構造函式
7.3.2析構函式
7.3.3複製構造函式
7.4對象數組與對象指針
7.4.1對象數組
7.4.2對象指針與動態對象
7.4.3指向類成員的指針
7.4.4this指針
7.5友元
7.5.1友元函式
7.5.2友元類
7.6類成員的共享與保護
7.6.1靜態成員
7.6.2常對象和常成員
7.7類與對象套用舉例
本章小結
習題
第8章類的繼承與派生
8.1派生類的實現
8.1.1繼承的概念
8.1.2派生類的定義
8.2派生類成員的訪問控制
8.2.1公有派生
8.2.2保護派生
8.2.3私有派生
8.3派生類的構造函式與析構函式
8.3.1派生類構造函式和析構函式的定義
8.3.2派生類構造函式和析構函式的構造規則
8.3.3構造函式與析構函式的執行順序
8.4多重繼承
8.4.1多重繼承的定義與引用
8.4.2虛繼承與虛基類
8.5基類和派生類的轉換
8.6繼承與組合
本章小結
習題
第9章多態性與虛函式
9.1編譯時多態
9.1.1運算符重載概述
9.1.2二元運算符重載
9.1.3一元運算符重載
9.1.4賦值運算符重載
9.1.5不同類型數據間的轉換
9.2運行時多態
9.2.1虛函式和基類指針
9.2.2虛函式的幾種特殊調用情形
9.3虛析構函式
9.4純虛函式與抽象類
9.4.1純虛函式
9.4.2抽象類
本章小結
習題
第10章模板與STL簡介
10.1函式模板
10.1.1函式模板的定義
10.1.2函式模板的實例化
10.1.3函式模板的重載
10.2類模板
10.2.1類模板的定義
10.2.2類模板的實例化
10.2.3類模板的繼承
10.3STL簡介
10.3.1容器和疊代器
10.3.2泛型算法
10.3.3函式對象
本章小結
習題
第11章輸入輸出流
11.1C++語言的流與流類庫
11.1.1C++語言的流
11.1.2C++語言的流類庫
11.2標準輸入輸出流
11.2.1標準輸入流
11.2.2標準輸出流
11.3檔案操作與檔案流
11.3.1檔案操作概述
11.3.2文本檔案的讀寫
11.3.3二進制檔案的讀寫
11.3.4檔案的隨機讀寫
本章小結
習題
第12章異常處理
12.1異常處理概述
12.2C++語言異常處理方法
12.2.1try、throw和catch語句
12.2.2異常處理程式的結構
12.2.3異常處理的嵌套
12.3重拋異常
12.4構造函式與析構函式中的異常
12.5函式的異常說明
本章小結
習題
附錄AASCII字元編碼表
附錄B運算符的優先權與結合方向
參考文獻

主要內容

在本書編寫過程中,考慮到初學者的認知特點以及培養程式設計能力的教學要求,對C++語言本身的語法規則做了適當處理和組織編排,突出C++語言的重要概念和本質特點。全書以實際問題的求解過程為嚮導,突出從問題到算法、再到程式的一種思維過程,強調計算機求解問題的思路引導與程式設計思維方式的訓練,既介紹C++語言在面向過程程式設計中的套用,又介紹C++語言在面向對象程式設計中的套用,重點放在程式設計的思想與方法上。

相關詞條

熱門詞條

聯絡我們