出版時間:2010-2 出版社:清華大學出版社 作者:李愛華,程磊 編著 頁數(shù):303
前言
C++語言是目前應用較廣的一種優(yōu)秀的高級程序設計語言,它既保留了對傳統(tǒng)的結(jié)構(gòu)化程序設計方法的支持,同時又增加了對面向?qū)ο蟪绦蛟O計方法的完全支持,但后者是其主要特色和應用,是一種具有代表性的面向?qū)ο蟮某绦蛟O計語言。本書是一本易學易用的面向?qū)ο蟪绦蛟O計(c++語言)大學教程。本書內(nèi)容主要分成三大部分,這也是本書區(qū)別于同類書的一大亮點。而且每章開始以精練的語言扼要說明本章的內(nèi)容要點,難點被適當?shù)胤纸庵v述。本書作者長期從事面向?qū)ο蟪绦蛟O計的教學,具有豐富的教學、實踐經(jīng)驗和獨到的見解,這些經(jīng)驗和見解都已融入到本書的內(nèi)容中。本書中的程序都已在VisualC++6.O集成開發(fā)環(huán)境下編譯通過,對一些Visual C++6.O明顯不支持的地方作了簡要說明。本書的特色體現(xiàn)在以下4個方面。(1)內(nèi)容精練、講解深入。采用最新的c++標準,對龐雜的知識做認真的取舍,結(jié)合作者的教學經(jīng)驗講解。(2)知識介紹深入淺出、簡明易懂。對C++語言的基本概念、原理和方法的敘述由淺人深,條理分明,循序漸進。以介紹“概念一語法一舉例”的形式進行講解,并針對學生常犯的錯誤和容易混淆的概念進行了強調(diào)指出。(3)強調(diào)實踐環(huán)節(jié)對于程序設計的重要性。理論與實踐緊密結(jié)合,不僅說明知識點,更重要的是表明其應用方法,注重對知識的應用領(lǐng)域和質(zhì)量進行評價,激發(fā)讀者對于程序設計的興趣,使讀者在短時間內(nèi)掌握“用什么”、“怎么用”、“用在哪”,進而學會用C++語言進行程序設計并積累豐富的實踐經(jīng)驗。(4)講授相關(guān)課程的教師可以從清華大學出版社網(wǎng)站,下載本書的電子課件和所有例題代碼。作為教師,學生提出的問題,自己的編程實踐和對技術(shù)的思索、特色教學的需要都是促使我們編寫這本書的動力。本書第1~4章由李愛華編寫,第5~8章由程磊編寫,第9、11、12章由劉海艷編寫,第10章由金海月和臧晶編寫。另外,陳垚雨參加了本書部分程序的調(diào)試工作。
內(nèi)容概要
本書是一本易學易用的面向?qū)ο蟪绦驔]計(c++語言)大學教程,內(nèi)容分成三大部分。第一部分是c++語言基礎,重點介紹了C++語言的語法、面向?qū)ο蟮幕咎卣?、c++程序的開發(fā)過程、基本數(shù)據(jù)類型、函數(shù)、引用、動態(tài)內(nèi)存管理及異常處理等。第二部分是面向?qū)ο蟮某绦蛟O計,詳細講述面向?qū)ο蟪绦蛟O計的有關(guān)基本概念、類與對象的定義和使用、繼承與派生、多態(tài)性、運算符重載、模板、標準模板庫STL、c++的輸入與輸出等。第三部分是Visual C++環(huán)境下Windows程序開發(fā)概述,包括Windows編程初步和綜合設計實例——簡單矢量繪圖程序。 全書采用c++最新的標準,示例講解精練,每章后面都附有各種類型的習題。同時,教師可以從清華大學出版社網(wǎng)站(WWW.tup.corn.m)下載本書的電子課件和所有例題代碼。 本書既可作為高等學校相關(guān)專業(yè)面向?qū)ο蟪绦蛟O計(c++語言)的教材,也可作為軟件開發(fā)技術(shù)人員的參考書。
書籍目錄
第一部分 C++語言基礎 第1章 面向?qū)ο蟪绦蛟O計概述 1.1 面向過程與面向?qū)ο? 1.1.1 面向過程的程序設計 1.1.2 面向?qū)ο蟮某绦蛟O計 1.2 面向?qū)ο蟪绦蛟O計的基本特征 1.2.1 新的程序設計范型 1.2.2 面向?qū)ο蟪绦蛟O計的基本概念 1.2.3 面向?qū)ο蟪绦蛟O計的基本特征 1.3 面向?qū)ο蟪绦蛟O計的語言 1.4 C++程序及其開發(fā) 1.4.1 Visual C++6.0集成開發(fā)環(huán)境簡介 1.4.2 C++程序的開發(fā)過程 1.4.3 Visual C++6.0控制臺應用程序開發(fā) 1.5 本章小結(jié) 習題 第2章 C++語言基礎 2.1 C++語言概述 2.1.1 從C語言到C++語言 2.1.2 一個簡單的C++程序 2.1.3 名字空間 2.2 基本數(shù)據(jù)類型、運算符和表達式 2.2.1 基本數(shù)據(jù)類型 2.2.2 運算符和表達式 2.2.3 數(shù)據(jù)類型轉(zhuǎn)換 2.3 數(shù)據(jù)的輸入與輸出 2.3.1 I/o的書寫格式 2.3.2 簡單的I/0格式控制 2.4 C++語言中函數(shù)的新特性 2.4.1 函數(shù)的原型 2.4.2 默認參數(shù)的函數(shù) 2.4.3 內(nèi)聯(lián)函數(shù) 2.4.4 函數(shù)重載 2.5 引用 2.5.1 引用的概念及使用 2.5.2 引用作為參數(shù)傳遞 2.5.3 引用與指針的區(qū)別 2.5.4 引用作為返回類型 2.6 動態(tài)內(nèi)存分配 2.6.1 動態(tài)內(nèi)存分配與釋放函數(shù) 2.6.2 new和delete 2.7 異常處理 2.7.1 異常處理的機制 2.7.2 異常處理的實現(xiàn) 2.8 本章小結(jié) 習題第二部分 面向?qū)ο蟮某绦蛟O計 第3章 類和對象(一) 3.1 類的構(gòu)成 3.1.1 從結(jié)構(gòu)到類 3.1.2 類的構(gòu)成 3.1.3 類成員的訪問屬性 3.2 類的成員函數(shù) 3.3 對象的定義與使用 3.3.1 類與對象的關(guān)系 3.3.2 對象的定義 3.3.3 對象中成員的訪問 3.3.4 對象賦值語句 3.4 構(gòu)造函數(shù)與析構(gòu)函數(shù) 3.4.1 構(gòu)造函數(shù) 3.4.2 成員初始化表 3.4.3 具有默認參數(shù)的構(gòu)造函數(shù) ……第三部分 Visual C++環(huán)境下Windows程序開發(fā)概述參考文獻
章節(jié)摘錄
插圖:面向過程的程序設計思想的核心是功能分解,通常采用自頂向下的方法進行程序設計,即傳統(tǒng)的結(jié)構(gòu)化程序設計(structured programming,SP)方法:將一個大規(guī)模的、復雜的問題按功能逐步分解為若干小規(guī)模的、簡單的子問題,使用對應的程序模塊來實現(xiàn)每一個簡單的子問題,因而每個程序模塊具有相對獨立的功能,再由這些基本模塊在一定的控制方式下實現(xiàn)較大的功能模塊,直至最后完成一個完整的程序。C語言用一個個函數(shù)分別實現(xiàn)各子功能模塊,在main()函數(shù)中,通過流程控制語句,將這些函數(shù)有機地組織成完整的程序。面向過程的程序設計的范型是“程序一算法+數(shù)據(jù)結(jié)構(gòu)”,面向過程的程序設計具有直觀、結(jié)構(gòu)清晰的特點。但是,面向過程的程序設計方法將數(shù)據(jù)和對數(shù)據(jù)的操作分離,如果一個或多個數(shù)據(jù)的結(jié)構(gòu)發(fā)生了變化,與之相關(guān)的所有操作都必須改變,那么這種變化將波及程序的很多部分甚至整個程序,致使許多函數(shù)和過程必須重寫,嚴重時會導致整個軟件結(jié)構(gòu)的崩潰。這就是說,傳統(tǒng)程序的復雜性控制是一個很棘手的問題,這也是傳統(tǒng)程序難以重用的一個重要原因。維護是軟件生命周期中的最后一個環(huán)節(jié),也是非常重要的一個環(huán)節(jié)。傳統(tǒng)程序設計是面向過程的,其數(shù)據(jù)和操作相分離的結(jié)構(gòu),使得維護數(shù)據(jù)和處理數(shù)據(jù)的操作過程要花費大量的精力和時間,嚴重地影響了軟件的生產(chǎn)效率。1.1.2面向?qū)ο蟮某绦蛟O計面向?qū)ο蟪绦蛟O計方法強調(diào)以問題域(現(xiàn)實世界)中的事物為中心來思考和認識問題,并按照事物的本質(zhì)特征將其抽象為對象,以作為構(gòu)成軟件系統(tǒng)的基礎。面向?qū)ο蟪绦蛟O計方法的特點如下:(1)面向?qū)ο蟪绦蛟O計方法以“對象”或“數(shù)據(jù)”為中心。但這時的數(shù)據(jù)與傳統(tǒng)的被動數(shù)據(jù)不同,它具有“行動”的功能,而這種動作是在對象接收了消息時發(fā)生的。由于對象自然地反映了應用領(lǐng)域的模塊性,因此具有相對穩(wěn)定性,可以被用做一個組件去構(gòu)成更復雜的應用,又由于對象一般封裝的是某個實際需求的各種部分,因此,某個對象的改變對整個系統(tǒng)幾乎沒有影響。(2)引入了“類”的概念。類與類以層次結(jié)構(gòu)組織,屬于某個類的對象除具有該類所描述的特性外,還具有層次結(jié)構(gòu)中該類上層所有類描述的全部性質(zhì)。在面向?qū)ο蟪绦蛟O計方法中稱這種機制為繼承。(3)面向?qū)ο蟪绦蛟O計方法的模塊性與繼承性保證了新的應用程序設計可在原有對象的數(shù)據(jù)類型和功能的基礎上通過重用、擴展和細化來進行,而不必從頭做起或復制原有代碼。這種特性大大減少了重新編寫新代碼的工作量,同時降低了程序設計中出錯的可能性,達到事半功倍的效果。與面向過程的程序設計不同,面向?qū)ο蟮某绦蛟O計是以數(shù)據(jù)而不是功能為核心,將數(shù)據(jù)以及對這些數(shù)據(jù)的操作以類(class)的形式封裝(encapsulation)為一個整體,以類的對象(object)作為程序的基本元素,通過向?qū)ο蟀l(fā)送消息(message),進而由對象啟動相關(guān)的方法完成各種功能。同時,數(shù)據(jù)本身不能被類外的程序和過程直接存取,這種機制增強了數(shù)據(jù)的安全性和軟件的可靠性。
編輯推薦
《面向?qū)ο蟪绦蛟O計(C++語言)》是作者根據(jù)多年的教學和實踐經(jīng)驗總結(jié)而成的面向?qū)ο蟪绦蛟O計技術(shù)教材。內(nèi)容精煉、講解深入。采用最新的C++標準,對龐雜的知識做認真的取舍,結(jié)合作者的教學經(jīng)驗講解,透徹展示重要內(nèi)容。以“概念一>語法一>舉例”的形式進行講解,并針對學生常犯的錯誤和容易混淆的概念進行了強調(diào)指出。講授相關(guān)課程的教師可以從清華大學出版社網(wǎng)站。上下載《面向?qū)ο蟪绦蛟O計(C++語言)》的電子課件和相關(guān)例程代碼。
圖書封面
評論、評分、閱讀與下載