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