出版時(shí)間:2010-9 出版社:清華大學(xué)出版社 作者:閔聯(lián)營,何克右 主編 頁數(shù):392
前言
C++是當(dāng)今應(yīng)用領(lǐng)域最廣泛的程序設(shè)計(jì)語言,它被用于從系統(tǒng)軟件到各種大型應(yīng)用系統(tǒng)的開發(fā)。由于其語言設(shè)施的豐富、高效、靈活,C++能支持從面向過程、面向?qū)ο?,到泛型編程等多種程序設(shè)計(jì)范型?! ∧壳?,國內(nèi)高校普遍開設(shè)了“面向?qū)ο蟪绦蛟O(shè)計(jì)”之類的課程,一些高校將C++語言作為程序設(shè)計(jì)語言課程的首選語言,故而需要有一本全面系統(tǒng)地介紹C++程序設(shè)計(jì)語言的教材。為此,我們在總結(jié)多年教學(xué)實(shí)踐經(jīng)驗(yàn)的基礎(chǔ)上編寫了這本書?! ?.本書內(nèi)容 本書全面、系統(tǒng)地介紹了C++面向過程、面向?qū)ο蟮某绦蛟O(shè)計(jì)方法和泛型編程。 全書共分13章,從內(nèi)容上組織為5個(gè)部分。第1章是C++概述,介紹了C++的發(fā)展和特點(diǎn)、C++程序的基本框架,以及C++程序的開發(fā)過程等。第2~6章介紹C++面向過程的程序設(shè)計(jì)方法,主要介紹了C++的基本數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、程序控制語句、數(shù)組和結(jié)構(gòu)體、函數(shù)、指針和引用等。第7章作為-個(gè)過渡,用-個(gè)具體的實(shí)例探討了程序設(shè)計(jì)從過程抽象到數(shù)據(jù)抽象的轉(zhuǎn)變,簡單介紹了面向?qū)ο蟮幕咎卣骱透拍?。?~10章和13章講述C++面向?qū)ο蟪绦蛟O(shè)計(jì)的方法,主要包括類和對象、繼承和派生、多態(tài)性和虛函數(shù)、I/O流類庫等內(nèi)容。第11和12兩章探討C++支持泛型編程的模板機(jī)制和泛型編程的實(shí)際應(yīng)用標(biāo)準(zhǔn)模板庫STL等內(nèi)容。 2.本書學(xué)習(xí)方法 由于C++語言是從C語言發(fā)展而來,為了與C語言兼容,C++允許繼續(xù)使用C語言的語法。筆者認(rèn)為,既然學(xué)習(xí)C++,就應(yīng)遵循C++標(biāo)準(zhǔn),故本書所有的語法和程序都是依據(jù)C++標(biāo)準(zhǔn)介紹的。在教學(xué)實(shí)踐中作者感到學(xué)生對面向?qū)ο蟮幕咎卣骱透拍畹睦斫庥幸欢ǖ睦щy,因此專門用一章的篇幅介紹了程序設(shè)計(jì)從過程抽象到數(shù)據(jù)抽象的轉(zhuǎn)變,逐步引入面向?qū)ο蟮母拍?,幫助讀者更好地理解面向?qū)ο蟪绦蛟O(shè)計(jì)。對于學(xué)過C語言而需要學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)的讀者,可以直接從第7章開始學(xué)習(xí),本書將是一本很好的教材。另外,由于泛型編程近年來得到了大量關(guān)注和應(yīng)用。因此,本書第12章用較大的篇幅對標(biāo)準(zhǔn)模板庫STL的相關(guān)知識進(jìn)行了深入的闡述?! ”緯鴥?nèi)容全面,語言簡潔,通俗易懂,注重理論與實(shí)踐相結(jié)合。書中所有例題均在Visual C++6.0上運(yùn)行通過?! ”緯砷h聯(lián)營、何克右主編,劉傳文、伍新華和譚新明參加編寫。其中,第1、2、5章由閔聯(lián)營編寫,第3、4、6章由何克右編寫,第7、10章由譚新明編寫,第8、9、13章由伍新華編寫,第11和12兩章由劉傳文編寫。閔聯(lián)營審校全書?! ∮捎谧髡咚接邢蓿瑫须y免有不足之處,懇請讀者批評指正。
內(nèi)容概要
C++是當(dāng)今應(yīng)用領(lǐng)域最廣泛的程序設(shè)計(jì)語言,它被用于從系統(tǒng)軟件到各種大型應(yīng)用系統(tǒng)的開發(fā)。由于其語言設(shè)施的豐富、高效、靈活,C++能支持從面向過程、面向?qū)ο螅椒盒途幊痰榷喾N程序設(shè)計(jì)范型。 本書是一本全面、系統(tǒng)地介紹C++程序設(shè)計(jì)的教程。全書共分13章,從內(nèi)容上組織為5個(gè)部分。第1部分是C++概述;第2部分介紹C++面向過程的程序設(shè)計(jì)方法,主要包括C++的基本數(shù)據(jù)類型、程序控制語句、數(shù)組和結(jié)構(gòu)體、函數(shù)、指針和引用等內(nèi)容;第3部分作為一個(gè)過渡,用一個(gè)具體的實(shí)例探討了程序設(shè)計(jì)挑過程抽象到數(shù)據(jù)抽象的轉(zhuǎn)變;第4部分講述C++面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,包括類和對象、繼承和派生、多態(tài)性和虛函數(shù)、流類庫等內(nèi)容;第5部分探討C++支持泛型編程的模板機(jī)制和泛型編程的實(shí)際應(yīng)用標(biāo)準(zhǔn)模板庫STL等內(nèi)容。 本書內(nèi)容全面、實(shí)例豐富、語言簡潔、通俗易懂,注重理論與實(shí)踐相結(jié)合。書中所有例題均在Visual C++6.0上運(yùn)行通過。 本書可以作為高等院校計(jì)算機(jī)專業(yè)和相關(guān)專業(yè)程序設(shè)計(jì)課程的教材和計(jì)算機(jī)專業(yè)面向?qū)ο蟪绦蛟O(shè)計(jì)教材,也可以作為全國計(jì)算機(jī)等級考試(二級C++)的培訓(xùn)教材和參考書,還可供各類程序設(shè)計(jì)培訓(xùn)班學(xué)員和C++語言自學(xué)者參考。
書籍目錄
第1章 C++概述 1.1 程序設(shè)計(jì)語言 1.1.1 機(jī)器語言 1.1.2 匯編語言 1.1_3 高級語言 1.2 算法及算法的表示方法 1.2.1 算法的概念 1.2.2 算法的表示方法 1.3 C++的發(fā)展和特點(diǎn) 1.3.1 C++的發(fā)展 1.3.2 C++的特點(diǎn) 1.4 C++程序的基本框架 1.4.1 最簡單的C++程序 1.4.2 結(jié)構(gòu)化程序設(shè)計(jì)框架 1.4-3 面向?qū)ο蟪绦蛟O(shè)計(jì)框架 1.5 C++程序的開發(fā)過程 1.5.1 C++程序開發(fā)的一般過程 1.5.2 用Visual C++開發(fā)C++應(yīng)用程序的步驟 習(xí)題 ……第2章 C++數(shù)據(jù)類型第3章 程序控制語句第4章 數(shù)組和結(jié)構(gòu)體第5章 函數(shù)第6章 指針和引用第7章 從過程抽象到數(shù)據(jù)抽象第8章 類和對象第9章 繼承與派生第10章 多態(tài)性第11章 模板第12章 標(biāo)準(zhǔn)模板庫STL第13章 C++的I/O流類庫
章節(jié)摘錄
1954年FORTRAN一問世便受到了極大的歡迎,并很快流行起來。FORTRAN首先引入了與匯編語言中助記符號有本質(zhì)區(qū)別的變量的概念,它奠定了程序設(shè)計(jì)語言中名字理論的基礎(chǔ)。它所引入的表達(dá)式、語句、子程序等概念也是高級程序設(shè)計(jì)語言的重要基石。ALGOL語言是在20世紀(jì)50年代后開始研制的。1958年ALGOL 58問世,過了兩年,與ALGOL 58風(fēng)格差別甚大的ALGOL 60發(fā)布。ALGOL 60中孕育了許多很有用的程序設(shè)計(jì)語言思想,如自由程序格式、保留字、數(shù)據(jù)類型、分程序概念、子程序調(diào)用方式、遞歸、動(dòng)態(tài)數(shù)據(jù)、條件語句與循環(huán)語句的形式等,這些思想一直到現(xiàn)在都影響著程序設(shè)計(jì)語言的設(shè)計(jì)。COBOL是在1959年年底研制出來的。COBOL對語言發(fā)展的主要貢獻(xiàn)是其引入的獨(dú)立于機(jī)器的數(shù)據(jù)描述概念與類似英語的語法結(jié)構(gòu)。COBOL的出現(xiàn),使人們開始意識到計(jì)算機(jī)不只應(yīng)用于科學(xué)計(jì)算領(lǐng)域,而且還可以進(jìn)入各種事務(wù)處理領(lǐng)域,拓寬了計(jì)算機(jī)的應(yīng)用范圍?! ORTRAN、ALGOL 60與COBOL三種語言問世后,在20世紀(jì)60年代初期,編譯技術(shù)及其理論的研究得到了高度重視,在短短幾年中得到了很大發(fā)展,許多語言翻譯中的問題也得到解決,這又反過來使人們把注意力放在各種新的程序設(shè)計(jì)語言的研制上,這導(dǎo)致了程序設(shè)計(jì)語言數(shù)目成指數(shù)般的激增。在20世紀(jì)60年代的十年中,人們至少研制了200多個(gè)高級語言。其中比較著名的語言有LISP、APL、SNOBOL、PL/I、SIMULA67、BASIC等。 在高級語言剛剛問世的時(shí)候,由于高級語言剛由低語言脫胎出來,而低級語言中的主要控制結(jié)構(gòu)是轉(zhuǎn)移指令,因此那時(shí)的高級語句中對轉(zhuǎn)向語句的設(shè)計(jì)都比較重視,例如FORTRAN中的多種轉(zhuǎn)向語句和ALGOL 60中的開關(guān)說明。1968年E.W.Dijkstra給COMM.ACM雜志編輯寫了一封信,指出了語言中轉(zhuǎn)向語句使用帶來的問題,從而引發(fā)了程序設(shè)計(jì)語言中要不要使用轉(zhuǎn)向語句的討論,這場討論使人們開始注重對程序設(shè)計(jì)方法進(jìn)行研究,從而導(dǎo)致了結(jié)構(gòu)化程序設(shè)計(jì)這一新的程序設(shè)計(jì)方法問世。這一技術(shù)在語言研究中的反映就是研究用于代替轉(zhuǎn)向語句的程序結(jié)構(gòu)與語言成分。為此人們研制了各種各樣的語句結(jié)構(gòu),主要是各種選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)。Dijkstra曾證明,任何程序都可以只用順序、選擇、循環(huán)這三種結(jié)構(gòu)的語句來構(gòu)造,任何(包含轉(zhuǎn)向語句的)程序都可以轉(zhuǎn)換成等價(jià)的只包含這三種語句的程序。1970年,第一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)語言-Pascal語言出現(xiàn),標(biāo)志著結(jié)構(gòu)化程序設(shè)計(jì)時(shí)期的開始。Pascal采用的CASE與WHILE等語句結(jié)構(gòu)極大地支持著結(jié)構(gòu)程序設(shè)計(jì)思想,其以用戶定義數(shù)據(jù)類型為基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)構(gòu)造設(shè)施使數(shù)據(jù)抽象進(jìn)入了一個(gè)新的層次。Ada是在Pascal的基礎(chǔ)上研制出來的,它集中體現(xiàn)了軟件工程學(xué)、程序設(shè)計(jì)語言學(xué)、程序設(shè)計(jì)方法學(xué)的優(yōu)秀研究成果,能大力支持程序模塊性、可移植性、可擴(kuò)充性、抽象與信息隱藏,有助于高效的開發(fā)與維護(hù)程序。并于1983年正式成為美國軍用標(biāo)準(zhǔn)語言。C語言是作為系統(tǒng)程序設(shè)計(jì)語言于1973年研制出來的。C的成功得益于它有一個(gè)好的機(jī)會(huì),那時(shí)的高級語言基本都不適合開發(fā)系統(tǒng)軟件,系統(tǒng)軟件基本都是用機(jī)器語言或匯編語言編寫的,而C的許多類匯編語言特征使它大獲成功。
編輯推薦
教學(xué)目標(biāo)明確,注重理論與實(shí)踐的結(jié)合 教學(xué)方法靈活,培養(yǎng)學(xué)生自主學(xué)習(xí)的能力 教學(xué)內(nèi)容先進(jìn),反映了計(jì)算機(jī)學(xué)科的最新發(fā)展 教學(xué)模式完善,提供配套的教學(xué)資源解決方案
圖書封面
評論、評分、閱讀與下載