清華大學(xué)計算機(jī)基礎(chǔ)教育課程系列教材·國家精品課程配套教材:C++程序設(shè)計基礎(chǔ)教程
定 價:36 元
- 作者:鄭莉 ,董淵 著
- 出版時間:2010/8/1
- ISBN:9787302233619
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312C
- 頁碼:336
- 紙張:膠版紙
- 版次:1
- 開本:16開
《清華大學(xué)計算機(jī)基礎(chǔ)教育課程系列教材·國家精品課程配套教材:C++程序設(shè)計基礎(chǔ)教程》針對程序設(shè)計的初學(xué)者,以面向?qū)ο蟮某绦蛟O(shè)計思想為主線,以通俗易懂的方法介紹C++語言,引導(dǎo)讀者以最自然的方式,將人類習(xí)慣的面向?qū)ο蟮乃季S方法運用到程序設(shè)計中。主要內(nèi)容包括程序設(shè)計基礎(chǔ)知識、類與對象的基本概念、繼承與多態(tài)以及輸入輸出流。整套教材語言生動、流暢,深入淺出。適用于各類學(xué)校的C++語言程序設(shè)計課程。
《清華大學(xué)計算機(jī)基礎(chǔ)教育課程系列教材·國家精品課程配套教材:C++程序設(shè)計基礎(chǔ)教程》特色: 《清華大學(xué)計算機(jī)基礎(chǔ)教育課程系列教材·國家精品課程配套教材:C++程序設(shè)計基礎(chǔ)教程》是根據(jù)《C++語言程序設(shè)計(第3版)》修訂而成。全書以面向?qū)ο蟮某绦蛟O(shè)計方法貫穿始終,每一章都是首先闡述面向?qū)ο蟮某绦蛟O(shè)計思想和方法,由實際問題入手,然后引出必要的語法知識,在講解語法時著重從程序設(shè)計方法學(xué)的角度講述其意義和用途!肚迦A大學(xué)計算機(jī)基礎(chǔ)教育課程系列教材·國家精品課程配套教材:C++程序設(shè)計基礎(chǔ)教程》的宗旨是,不僅要使讀者掌握C++語言本身,而且要能夠?qū)ΜF(xiàn)實世界中較簡單的問題及其解決方法用計算機(jī)語言進(jìn)行描述。 《C++語言程序設(shè)計》系列教材提供了全面和細(xì)致的學(xué)習(xí)輔助資源,可以為不同讀者提供個性化的學(xué)習(xí)輔導(dǎo)。
一、 版本說明
本書是《C++語言程序設(shè)計(第4版)》的姊妹篇。《C++語言程序設(shè)計》第1版于1999年出版,第2版于2001年出版,第3版于2003年出版。在前三版基礎(chǔ)上,廣泛聽取了讀者和同行的建議,參考了最新的資料,并根據(jù)作者本人在授課過程中的經(jīng)驗,針對不同的教學(xué)要求,將這本書分成了兩個不同的版本: 《C++程序設(shè)計基礎(chǔ)教程》和《C++語言程序設(shè)計(第四版)》。本書適合用于程序設(shè)計課程學(xué)時較少的學(xué)校和專業(yè)。
與《C++語言程序設(shè)計(第3版)》相比,本書主要在以下方面作了修訂:
1. 去掉了原來的第9、10、12、13章。
2. 從第4章開始,每章編寫了新的綜合實例“個人銀行賬戶管理程序”.
3. 部分例題有更新。
與《C++語言程序設(shè)計(第4版)》相比,去年了第9、10、12章,去掉了每章的“深度探索”一節(jié)。
二、 本書的編寫背景
C++是從C語言發(fā)展演變而來的一種面向?qū)ο蟮某绦蛟O(shè)計語言。C++語言的主要特點表現(xiàn)在兩個方面: 一是兼容C,二是支持面向?qū)ο蟮姆椒ā?br />面向?qū)ο蟮某绦蛟O(shè)計(OOP)方法將數(shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一起,作為一個相互依存、不可分離的整體--對象。對同類型對象抽象出其共性,形成類。類中的大多數(shù)數(shù)據(jù),只能用本類的方法進(jìn)行處理。類通過一個簡單的外部接口,與外界發(fā)生關(guān)系,對象與對象之間通過消息進(jìn)行通訊。這樣,程序模塊間的關(guān)系簡單,程序模塊的獨立性、數(shù)據(jù)的安全性具有良好的保障,通過繼承與多態(tài)性,使程序具有很高的可重用性,使得軟件的開發(fā)和維護(hù)都更為方便。
由于面向?qū)ο蠓椒ǖ耐怀鰞?yōu)點,目前它已經(jīng)成為開發(fā)大型軟件時所采用的主要方法。而C++語言是應(yīng)用最廣泛的面向?qū)ο蟮某绦蛟O(shè)計語言之一。
長期以來,C++語言被認(rèn)為是較難使用的專業(yè)開發(fā)語言,特別是對于程序設(shè)計類課程學(xué)時較少的學(xué)校和專業(yè),很難開設(shè)C++程序設(shè)計課程。
實際上面向?qū)ο蠓椒ǖ某霈F(xiàn),是程序設(shè)計方法發(fā)展的一個返樸歸真過程。軟件開發(fā)從本質(zhì)上講,就是對軟件所要處理的問題域進(jìn)行正確的認(rèn)識,并把這種認(rèn)識正確地描述出來。面向?qū)ο蠓椒ㄋ鶑?qiáng)調(diào)的基本原則,就是直接面對客觀存在的事物來進(jìn)行軟件開發(fā),將人們在日常生活中習(xí)慣的思維方式和表達(dá)方式應(yīng)用在軟件開發(fā)中,使軟件開發(fā)從過分專業(yè)化的方法、規(guī)則和技巧中回到客觀世界,回到人們通常的思維。
雖然C++語言是從C語言發(fā)展而來的,但是學(xué)習(xí)C++可以不必從C語言開始,C++本身是一個完整的程序設(shè)計語言,是可以作為入門的程序設(shè)計語言來學(xué)習(xí)的。
本書就是針對初學(xué)者的入門教程,適合用于開設(shè)一門學(xué)時不多的C++課程。
三、 本書的特色
本書的特色是涵蓋了C++語言的主要語法、面向?qū)ο蟮某绦蛟O(shè)計方法,內(nèi)容深入淺出、立體配套。
全書以面向?qū)ο蟮某绦蛟O(shè)計方法貫穿始終,每一章都是首先闡述面向?qū)ο蟮某绦蛟O(shè)計思想和方法,由實際問題入手,然后引出必要的語法知識,在講解語法時著重從程序設(shè)計方法學(xué)的角度講述其意義和用途。本書的宗旨是,不僅要使讀者掌握C++語言本身,而且要能夠?qū)ΜF(xiàn)實世界中較簡單的問題及其解決方法用計算機(jī)語言進(jìn)行描述。當(dāng)然,要達(dá)到能夠描述較復(fù)雜的問題域還需要學(xué)習(xí)面向?qū)ο蟮能浖こ陶n等其他課程。
針對初學(xué)者和自學(xué)者的特點,本書力求做到深入淺出,將復(fù)雜的概念用簡潔淺顯的語言娓娓道來。
本書建議的講課學(xué)時數(shù)為24學(xué)時。建議講課學(xué)時數(shù)分配如下:
第1章2學(xué)時,第2章4學(xué)時,第3章2學(xué)時,第4章4學(xué)時,第5章2學(xué)時,第6章4學(xué)時,第7章2學(xué)時,第8章2學(xué)時,第9章2學(xué)時。
實驗學(xué)時數(shù)的分配請參考配套的《C++程序設(shè)計基礎(chǔ)教程學(xué)生用書》.
學(xué)生可以通過配套的《C++程序設(shè)計基礎(chǔ)教程學(xué)生用書》,在實踐中達(dá)到對內(nèi)容的深入理解和熟練掌握。為了方便教師備課,本書還配有電子教案(PPT文件).
四、 內(nèi)容摘要
第1章 緒論: 從發(fā)展的角度概要介紹了面向?qū)ο蟪绦蛟O(shè)計語言的產(chǎn)生和特點,面向?qū)ο蠓椒ǖ挠蓙砗椭饕幕靖拍,并簡單介紹了什么是面向?qū)ο蟮能浖こ獭W詈蠼榻B了信息在計算機(jī)中的表示和存儲以及程序的開發(fā)過程。
第2章 C++簡單程序設(shè)計: 講述C++程序設(shè)計的基礎(chǔ)知識。首先簡要介紹C++語言的發(fā)展歷史及其特點;接著學(xué)習(xí)構(gòu)成C++語句的基本部分,包括字符集、關(guān)鍵字、標(biāo)識符、操作符等;還有C++的基本數(shù)據(jù)類型和自定義數(shù)據(jù)類型以及算法的控制結(jié)構(gòu),包括順序、選擇和循環(huán)結(jié)構(gòu)。“深度探索”介紹變量的實現(xiàn)機(jī)制和C++表達(dá)式的執(zhí)行原理。
第3章 函數(shù): 講述C++語言的函數(shù)。在面向?qū)ο蟮某绦蛟O(shè)計中,函數(shù)對處理問題過程的基本抽象單元,是對功能的抽象。同時,使用函數(shù)也為代碼的重用提供了技術(shù)上的支持。我們主要從應(yīng)用的角度講述各種函數(shù)的定義和使用方法!吧疃忍剿鳌苯榻B運行棧與函數(shù)調(diào)用的執(zhí)行、函數(shù)聲明與類型安全。
第4章 類與對象: 首先介紹面向?qū)ο蟪绦蛟O(shè)計的基本思想及其主要特點,包括抽象、封裝、繼承和多態(tài);接著圍繞數(shù)據(jù)封裝這一特點,著重講解面向?qū)ο笤O(shè)計方法的核心概念-類,其中包括類的定義、實現(xiàn)以及如何利用類來解決具體問題;最后,簡單介紹了如何用UML語言描述類的特性。“深度探索”介紹位域、用構(gòu)造函數(shù)定義類型轉(zhuǎn)換,以及對象作為函數(shù)參數(shù)和返回值的傳遞方式。
第5章 數(shù)據(jù)的共享與保護(hù): 講述標(biāo)識符的作用域和可見性及變量、對象的生存期;使用局部變量、全局變量、類的數(shù)據(jù)成員、類的靜態(tài)成員和友元來實現(xiàn)數(shù)據(jù)共享,共享數(shù)據(jù)的保護(hù),以及使用多文件結(jié)構(gòu)來組織和編寫程序解決較為復(fù)雜的問題!吧疃忍剿鳌苯榻B常成員函數(shù)的聲明原則、代碼的編譯連接與執(zhí)行過程。
第6章 數(shù)組、指針與字符串: 討論數(shù)組、指針與字符串。數(shù)組和指針是C++語言中最常用的復(fù)合(構(gòu)造)類型數(shù)據(jù),是數(shù)據(jù)和對象組織、表示的最主要手段,也是組織運算的有力工具。本章首先介紹數(shù)組、指針的基本概念動態(tài)存儲分配以及動態(tài)數(shù)組對象。接著圍繞數(shù)據(jù)和對象組織這一問題,著重講解如何通過使用數(shù)組和指針解決數(shù)據(jù)、函數(shù)以及對象之間的聯(lián)系和協(xié)調(diào)。對于字符串及其處理,本章重點介紹string類!吧疃忍剿鳌苯榻B指針與引用的聯(lián)系、指針的安全性隱患及其應(yīng)對方案,以及const_cast的應(yīng)用。
第7章 繼承與派生: 講述類的繼承特性。圍繞派生過程,著重討論不同繼承方式下的基類成員的訪問控制問題、添加構(gòu)造函數(shù)和析構(gòu)函數(shù)。接著討論在較為復(fù)雜的繼承關(guān)系中,類成員的唯一標(biāo)識和訪問問題!吧疃忍剿鳌苯榻B組合與繼承的區(qū)別與聯(lián)系、派生類對象的內(nèi)存布局,以及基類向派生類的轉(zhuǎn)換及其安全性問題。
第8章 多態(tài)性: 講述類的另一個重要特性-多態(tài)性。多態(tài)是指同樣的消息被不同類型的對象接收時導(dǎo)致完全不同的行為,是對類的特定成員函數(shù)的再抽象。C++語言支持的多態(tài)有多種類型,重載(包括函數(shù)重載和運算符重載)和虛函數(shù)是其中主要的方式!吧疃忍剿鳌苯榻B多態(tài)類型與非多態(tài)類型的區(qū)別、運行時類型識別機(jī)制,以及虛函數(shù)動態(tài)綁定的實現(xiàn)原理。
第9章 流類庫與輸入輸出: 講述流的概念,然后介紹流類庫的結(jié)構(gòu)和使用。就像C語言一樣,C++語言中也沒有輸入輸出語句。但C++編譯系統(tǒng)帶有一個面向?qū)ο蟮腎/O軟件包,它就是I/O流類庫。“深度探索”介紹寬字符、寬字符串與寬流,以及對象的串行化問題。
第10章 異常處理.
感謝讀者選擇使用本書,歡迎您對本書內(nèi)容提出意見和建議,我們將不勝感激。作者的電子郵件地址: zhengli@mail.tsinghua.edu.cn,來信標(biāo)題請包含“C++book" .
作 者2010年5月于清華大學(xué)
第1章 緒論
1.1 計算機(jī)程序設(shè)計語言的發(fā)展
1.1.1 機(jī)器語言與匯編語言
1.1.2 高級語言
1.1.3 面向?qū)ο蟮恼Z言
1.2 面向?qū)ο蟮姆椒?br>1.2.1 面向?qū)ο蠓椒ǖ挠蓙?br>1.2.2 面向?qū)ο蟮幕靖拍?br>1.3 面向?qū)ο蟮能浖_發(fā)
1.3.1 分析
1.3.2 設(shè)計
1.3.3 編程
1.3.4 測試
1.3.5 維護(hù)
1.4 信息的表示與存儲
1.4.1 計算機(jī)的數(shù)字系統(tǒng)
1.4.2 幾種進(jìn)位記數(shù)制之間的轉(zhuǎn)換
1.4.3 信息的存儲單位
1.4.4 二進(jìn)制數(shù)的編碼表示
1.4.5 定點數(shù)和浮點數(shù)
1.4.6 數(shù)的表示范圍
1.4.7 非數(shù)值信息的表示
1.5 程序開發(fā)的基本概念
1.5.1 基本術(shù)語
1.5.2 完整的程序過程
1.6 小結(jié)
習(xí)題
第2章 C++簡單程序設(shè)計
2.1 C++語言概述
2.1.1 C++的產(chǎn)生
2.1.2 C++的特點
2.1.3 C++程序?qū)嵗?br>2.1.4 字符集
2.1.5 詞法記號
2.2 基本數(shù)據(jù)類型和表達(dá)式
2.2.1 基本數(shù)據(jù)類型
2.2.2 常量
2.2.3 變量
2.2.4 符號常量
2.2.5 運算符與表達(dá)式
2.2.6 語句
2.3 數(shù)據(jù)的輸入與輸出
2.3.1 I/O流
2.3.2 預(yù)定義的插入符和提取符
2.3.3 簡單的I/O格式控制
2.4 算法的基本控制結(jié)構(gòu)
2.4.1 用if語句實現(xiàn)選擇結(jié)構(gòu)
2.4.2 多重選擇結(jié)構(gòu)
2.4.3 循環(huán)結(jié)構(gòu)
2.4.4 循環(huán)結(jié)構(gòu)與選擇結(jié)構(gòu)的嵌套
2.4.5 其他控制語句
2.5 自定義數(shù)據(jù)類型
2.5.1 typedef聲明
2.5.2 枚舉類型enum
2.6 小結(jié)
習(xí)題
第3章 函數(shù)
3.1 函數(shù)的定義與使用
3.1.1 函數(shù)的定義
3.1.2 函數(shù)的調(diào)用
3.1.3 函數(shù)的參數(shù)傳遞
3.2 內(nèi)聯(lián)函數(shù)
3.3 帶默認(rèn)形參值的函數(shù)
3.4 函數(shù)重載
3.5 C++系統(tǒng)函數(shù)
3.6 小結(jié)
習(xí)題
第4章 類與對象
第5章 數(shù)據(jù)的共享與保護(hù)
第6章 數(shù)組、指針與字符串
第7章 繼承與派生
第8章 多態(tài)性
第9章 流類庫與輸入輸出
第10章 異常處理