出版時(shí)間:2010.7 出版社:機(jī)械工業(yè)出版社 作者:(美)Bjarne Stroustrup 頁(yè)數(shù):649 譯者:王剛 等
Tag標(biāo)簽:無(wú)
前言
程序設(shè)計(jì)是這樣一門(mén)藝術(shù),它將問(wèn)題求解方案描述成計(jì)算機(jī)可以執(zhí)行的形式。程序設(shè)計(jì)中很多工作都花費(fèi)在尋找求解方案以及對(duì)其求精上。通常,只有在真正編寫(xiě)程序求解一個(gè)問(wèn)題的過(guò)程中才會(huì)對(duì)問(wèn)題本身理解透徹。本書(shū)適合于那些從未有過(guò)編程經(jīng)驗(yàn)但愿意努力學(xué)習(xí)程序設(shè)計(jì)的初學(xué)者,它能幫助你理解使用C++語(yǔ)言進(jìn)行程序設(shè)計(jì)的基本原理并獲得實(shí)踐技巧。我的目標(biāo)是使你獲得足夠多的知識(shí)和經(jīng)驗(yàn),以便能使用最新最好的技術(shù)進(jìn)行簡(jiǎn)單有用的編程工作。達(dá)到這一目標(biāo)需要多長(zhǎng)時(shí)間呢?作為大學(xué)一年級(jí)課程的一部分,你可以在一個(gè)學(xué)期內(nèi)完成這本書(shū)的學(xué)習(xí)(假定你有另外四門(mén)中等難度的課程)。如果你是自學(xué)的話,不要期望能花費(fèi)更少的時(shí)間完成學(xué)習(xí)(一般來(lái)說(shuō),每周15個(gè)小時(shí),共14周是合適的學(xué)時(shí)安排)。三個(gè)月可能看起來(lái)是一段很長(zhǎng)的時(shí)間,但要學(xué)習(xí)的內(nèi)容很多,寫(xiě)第一個(gè)簡(jiǎn)單程序之前,就要花費(fèi)一個(gè)小時(shí)。而且,所有學(xué)習(xí)過(guò)程都是漸進(jìn)的:每一章都會(huì)介紹一些新的有用的概念,并通過(guò)從實(shí)際應(yīng)用中獲取的例子來(lái)闡述這些概念。隨著學(xué)習(xí)進(jìn)程的推進(jìn),你通過(guò)程序代碼表達(dá)思想的能力——也就是讓計(jì)算機(jī)按你的期望工作的能力,會(huì)逐漸穩(wěn)步地提高。我從不會(huì)說(shuō):“先學(xué)習(xí)一個(gè)月的理論知識(shí),然后看看你是否能使用這些理論吧?!睘槭裁匆獙W(xué)習(xí)程序設(shè)計(jì)呢?因?yàn)橛?jì)算機(jī)文化是建立在軟件之上的。如果不理解軟件,那么你將退化到只能相信“魔術(shù)”的境地,并且將被排除在很多最為有趣、最具經(jīng)濟(jì)效益和社會(huì)效益的領(lǐng)域之外。當(dāng)談?wù)摮绦蛟O(shè)計(jì)時(shí),我所想到的是整個(gè)計(jì)算機(jī)程序家族,從帶有GuI(圖形用戶界面)的個(gè)人計(jì)算機(jī)程序,到工程計(jì)算和嵌入式系統(tǒng)控制程序(如數(shù)碼相機(jī)、汽車(chē)和手機(jī)中的程序),以及文字處理程序等,在很多日常應(yīng)用和商業(yè)應(yīng)用中都能看到這些程序。程序設(shè)計(jì)與數(shù)學(xué)有些相似,如果認(rèn)真去做的話,它會(huì)是一種非常有用的智力訓(xùn)練,可以鍛煉我們的思考能力。然而,由于計(jì)算機(jī)能做出反饋,程序設(shè)計(jì)又不像大多數(shù)數(shù)學(xué)形式那么抽象,因而對(duì)更多人來(lái)說(shuō)更容易接受。可以說(shuō),程序設(shè)計(jì)是一條能夠打開(kāi)你的眼界,將世界變得更美好的途徑。最后,程序設(shè)計(jì)非常有趣。為什么學(xué)習(xí)c++這門(mén)程序設(shè)計(jì)語(yǔ)言呢?學(xué)習(xí)程序設(shè)計(jì)不可能不借助一門(mén)程序設(shè)計(jì)語(yǔ)言,而c++直接支持現(xiàn)實(shí)世界中的軟件所使用的那些關(guān)鍵概念和技術(shù)。c++是使用最為廣泛的程序設(shè)計(jì)語(yǔ)言之一,其應(yīng)用領(lǐng)域幾乎沒(méi)有局限。從大洋深處到火星表面,到處都能發(fā)現(xiàn)c++程序的身影。C++是由一個(gè)開(kāi)放的國(guó)際標(biāo)準(zhǔn)組織全面考量、精心設(shè)計(jì)的。在任何一種計(jì)算機(jī)平臺(tái)上都能找到高質(zhì)量的和免費(fèi)的C++實(shí)現(xiàn)。而且,你用c++所學(xué)到的程序設(shè)計(jì)思想,大多數(shù)都可直接用于其他程序設(shè)計(jì)語(yǔ)言,如c、c#、Fonran以及Java。最后一個(gè)原因,我喜歡c++適合編寫(xiě)優(yōu)美、高效的代碼這一特點(diǎn)。
內(nèi)容概要
本書(shū)是經(jīng)典程序設(shè)計(jì)思想與C++開(kāi)發(fā)實(shí)踐的完美結(jié)合,是C++之父回歸校園后對(duì)C++編程原理和技巧的全新闡述。書(shū)中全面地介紹了程序設(shè)計(jì)基本原理,包括基本概念、設(shè)計(jì)和編程技術(shù)、語(yǔ)言特性以及標(biāo)準(zhǔn)庫(kù)等,教你學(xué)會(huì)如何編寫(xiě)具有輸入、輸出、計(jì)算以及簡(jiǎn)單圖形顯示等功能的程序。此外,本書(shū)通過(guò)對(duì)C++思想和歷史的討論、對(duì)經(jīng)典實(shí)例(如矩陣運(yùn)算、文本處理、測(cè)試以及嵌入式系統(tǒng)程序設(shè)計(jì))的展示,以及對(duì)C語(yǔ)言的簡(jiǎn)單描述,為你呈現(xiàn)了一幅程序設(shè)計(jì)的全景圖。
·C++初學(xué)者的權(quán)威指南。無(wú)論你是從事軟件開(kāi)發(fā)還是其他領(lǐng)域的工作,本書(shū)將為你打開(kāi)程序開(kāi)發(fā)之門(mén)。
·中高級(jí)程序員的必備參考。通過(guò)觀察程序設(shè)計(jì)大師如何處理編程中的各種問(wèn)題,使你獲得新的領(lǐng)悟和指引。
·全面闡釋C++基本概念和技術(shù)。與傳統(tǒng)的C++教材相比,本書(shū)對(duì)基本概念和技術(shù)的介紹更為深入,為你編寫(xiě)實(shí)用、正確、易維護(hù)和有效的代碼打下堅(jiān)實(shí)的基礎(chǔ)。
·強(qiáng)調(diào)現(xiàn)代C++編程風(fēng)格。本書(shū)從開(kāi)篇就介紹現(xiàn)代C++程序設(shè)計(jì)技術(shù),并揭示了大量關(guān)于如何使用C++標(biāo)準(zhǔn)庫(kù)來(lái)簡(jiǎn)化程序設(shè)計(jì)的原理,使你快速掌握實(shí)用編成技巧。
·配套教輔資源豐富。本書(shū)網(wǎng)站(www.stroustrup.com/Programming)提供了豐富的輔助資料,包括實(shí)例源碼、PPT、勘誤等。
作者簡(jiǎn)介
Bjarne Stroustrup
英國(guó)劍橋大學(xué)計(jì)算機(jī)科學(xué)博士,C++的設(shè)計(jì)者和最初的實(shí)現(xiàn)者。他現(xiàn)在是德州農(nóng)工大學(xué)計(jì)算機(jī)科學(xué)首席教授。1993年,由于在C++領(lǐng)域的重大貢獻(xiàn),他獲得了ACM的
Grace Murray Hopper大獎(jiǎng)并成為ACM院士。在進(jìn)入學(xué)術(shù)界之前,他在AT&T貝爾實(shí)驗(yàn)室工作,是ISO
C++標(biāo)準(zhǔn)委
書(shū)籍目錄
出版者的話
譯者序
前言
第0章 致讀者
0.1 本書(shū)結(jié)構(gòu)
0.2 講授和學(xué)習(xí)本書(shū)的方法
0.3 程序設(shè)計(jì)和計(jì)算機(jī)科學(xué)
0.4 創(chuàng)造性和問(wèn)題求解
0.5 反饋方法
0.6 參考文獻(xiàn)
0.7 作者簡(jiǎn)介
第1章 計(jì)算機(jī)、人與程序設(shè)計(jì)
1.1 介紹
1.2 軟件
1.3 人
1.4 計(jì)算機(jī)科學(xué)
1.5 計(jì)算機(jī)已無(wú)處不在
1.6 程序員的理想
第一部分 基本知識(shí)
第2章 Hello,World!
2.1 程序
2.2 經(jīng)典的第一個(gè)程序
2.3 編譯
2.4 鏈接
2.5 編程環(huán)境
第3章 對(duì)象、類(lèi)型和值
3.1 輸入
3.2 變量
3.3 輸入和類(lèi)型
3.4 運(yùn)算和運(yùn)算符
3.5 賦值和初始化
3.6 組合賦值運(yùn)算符
3.7 命名
3.8 類(lèi)型和對(duì)象
3.9 類(lèi)型安全
第4章 計(jì)算
4.1 計(jì)算
4.2 目標(biāo)和工具
4.3 表達(dá)式
4.4 語(yǔ)句
4.5 函數(shù)
4.6 向量
4.7 語(yǔ)言特性
第5章 錯(cuò)誤
5.1 介紹
5.2 錯(cuò)誤的來(lái)源
5.3 編譯時(shí)錯(cuò)誤
5.4 連接時(shí)錯(cuò)誤
5.5 運(yùn)行時(shí)錯(cuò)誤
5.6 異常
5.7 邏輯錯(cuò)誤
5.8 估計(jì)
5.9 調(diào)試
5.10 前置條件和后置條件
5.11 測(cè)試
第6章 編寫(xiě)一個(gè)程序
6.1 一個(gè)問(wèn)題
6.2 對(duì)問(wèn)題的思考
6.3 回到計(jì)算器問(wèn)題
6.4 文法
6.5 將文法轉(zhuǎn)換為程序
6.6 試驗(yàn)第一個(gè)版本
6.7 試驗(yàn)第二個(gè)版本
6.8 單詞流
6.9 程序結(jié)構(gòu)
第7章 完成一個(gè)程序
7.1 介紹
7.2 輸入和輸出
7.3 錯(cuò)誤處理
7.4 處理負(fù)數(shù)
7.5 模運(yùn)算:%
7.6 清理代碼
7.7 錯(cuò)誤恢復(fù)
7.8 變量
第8章 函數(shù)相關(guān)的技術(shù)細(xì)節(jié)
8.1 技術(shù)細(xì)節(jié)
8.2 聲明和定義
8.3 頭文件
8.4 作用域
8.5 函數(shù)調(diào)用和返回
8.6 求值順序
8.7 名字空間
第9章 類(lèi)相關(guān)的技術(shù)細(xì)節(jié)
9.1 用戶自定義類(lèi)型
9.2 類(lèi)和成員
9.3 接口和實(shí)現(xiàn)
9.4 演化一個(gè)類(lèi)
9.5 枚舉類(lèi)型
9.6 運(yùn)算符重載
9.7 類(lèi)接口
9.8 Date類(lèi)
第二部分 輸入和輸出
第10章 輸入/輸出流
第11章 定制輸入/輸出
第12章 一個(gè)顯示模型
第13章 圖形類(lèi)
第14章 設(shè)計(jì)圖形類(lèi)
第15章 繪制函數(shù)圖和數(shù)據(jù)圖
第16章 圖形用戶界面
第三部分 數(shù)據(jù)結(jié)構(gòu)和算法
第17章 向量和自由空間
第18章 向量和數(shù)組
第19章 向量、模板和異常
第20章 容器和迭代器
第21章 算法和映射
第四部分 拓寬視野
第22章 理念和歷史
第23章 文本處理
第24章 數(shù)值計(jì)算
第25章 嵌入式系統(tǒng)程序設(shè)計(jì)
第26章 測(cè)試
第27章 C語(yǔ)言
術(shù)語(yǔ)表
參考書(shū)目
第五部分 附錄?
附錄A C++語(yǔ)言概要
附錄B 標(biāo)準(zhǔn)庫(kù)概要
附錄C Visual Studio簡(jiǎn)要入門(mén)教程
附錄D 安裝FLTK
附錄E GUI實(shí)現(xiàn)
章節(jié)摘錄
插圖:第0章 致讀者 本章匯集了多種信息,目的是使你對(duì)本書(shū)剩余部分的內(nèi)容有初步了解。你可以略過(guò)本章,直接閱讀后面你感興趣的部分。對(duì)教師來(lái)說(shuō),可以立即發(fā)現(xiàn)很多有用的內(nèi)容。如果沒(méi)有一個(gè)好的老師指導(dǎo)你學(xué)習(xí)本書(shū),請(qǐng)不要試圖閱讀并理解本章的所有內(nèi)容,只要閱讀“本書(shū)結(jié)構(gòu)”一節(jié)和“講授和學(xué)習(xí)本書(shū)的方法”一節(jié)的第一部分即可。當(dāng)你已經(jīng)能自如編寫(xiě)和執(zhí)行小程序時(shí),可能需要回過(guò)頭來(lái)重讀本章。0.1 本書(shū)結(jié)構(gòu)本書(shū)由四個(gè)部分和若干個(gè)附錄組成:·第一部分:基本知識(shí),介紹了程序設(shè)計(jì)的基本概念和技術(shù),以及開(kāi)始編寫(xiě)代碼需要了解的一些C++語(yǔ)言和庫(kù)的知識(shí)。這部分包括類(lèi)型系統(tǒng)、算術(shù)運(yùn)算、控制結(jié)構(gòu)、錯(cuò)誤處理,以及函數(shù)和用戶自定義類(lèi)型的設(shè)計(jì)、實(shí)現(xiàn)和使用等內(nèi)容?!さ诙糠郑狠斎耄敵?,介紹了如何從鍵盤(pán)和文件獲取數(shù)值和文本數(shù)據(jù),以及如何生成相應(yīng)的輸出到屏幕和文件。然后介紹了如何以圖形化方式表示數(shù)值數(shù)據(jù)、文本和幾何圖形,以及如何從圖形用戶界面(graphical user interface,GUI)獲取輸入數(shù)據(jù)?!さ谌糠郑簲?shù)據(jù)結(jié)構(gòu)和算法,關(guān)注C++標(biāo)準(zhǔn)庫(kù)中的容器和算法框架(標(biāo)準(zhǔn)模板庫(kù)standard template library.STL)。展示了容器(如向量、列表和映射)是如何(用指針、數(shù)組、動(dòng)態(tài)內(nèi)存、異常和模板)實(shí)現(xiàn)的以及如何使用它們。還展示了標(biāo)準(zhǔn)庫(kù)算法(如排序、查找和內(nèi)積)如何設(shè)計(jì)及使用?!さ谒牟糠郑和貙捯曇?,通過(guò)對(duì)C++思想和歷史的討論,通過(guò)一些實(shí)例(如矩陣運(yùn)算、文本處理、測(cè)試以及嵌入式系統(tǒng)程序設(shè)計(jì)),以及通過(guò)C語(yǔ)言的一個(gè)簡(jiǎn)單描述,為我們呈現(xiàn)了程序設(shè)計(jì)的一個(gè)全景?!さ谖宀糠郑焊戒?,提供了一些不適合作為教學(xué)但很有用的內(nèi)容,如c++語(yǔ)言和標(biāo)準(zhǔn)庫(kù)的概要介紹,以及集成開(kāi)發(fā)環(huán)境(integrated development environment,IDE)和圖形用戶界面庫(kù)(GUl庫(kù))的入門(mén)簡(jiǎn)介等。
媒體關(guān)注與評(píng)論
“這本書(shū)非常好,首先它以簡(jiǎn)單、易懂的方式闡述了C++原理和實(shí)踐.而且強(qiáng)調(diào)養(yǎng)成良好的編程習(xí)慣,注意編程細(xì)節(jié),C++編程人員都應(yīng)該人手一冊(cè),常讀常新?!?“作為C++語(yǔ)言的發(fā)明人,作者站在專(zhuān)業(yè)程序員的角度講述如何為現(xiàn)實(shí)世界中的計(jì)算問(wèn)題設(shè)計(jì)有效的解決方案。盡管《C++程序設(shè)計(jì)原理與實(shí)踐》采用的是C++語(yǔ)言,但其中涵蓋的程序設(shè)計(jì)思想同樣適用于其他語(yǔ)言,而且這些頗具實(shí)踐意義的編程思想還可以彌補(bǔ)高校程序設(shè)計(jì)課程偏重語(yǔ)法細(xì)節(jié),忽視總體思想方法和整體過(guò)程實(shí)現(xiàn)的問(wèn)題,使讀者充分認(rèn)識(shí)到程序設(shè)計(jì)是一種解決問(wèn)題的方法和能力,最終是對(duì)程序設(shè)計(jì)語(yǔ)言的應(yīng)用,這也是《C++程序設(shè)計(jì)原理與實(shí)踐》的價(jià)值所在?!?“這本書(shū)是學(xué)習(xí)程序設(shè)計(jì)的最佳選擇.無(wú)論是課堂學(xué)習(xí)還是自學(xué),《C++程序設(shè)計(jì)原理與實(shí)踐》獨(dú)具深度的思想、縝密的思路、開(kāi)闊的視野及專(zhuān)業(yè)的講解都會(huì)使你獲益匪淺?!?“這本書(shū)與作者另一本享有盛譽(yù)的著作——《C++程序設(shè)計(jì)語(yǔ)言(特別版)》相輔相成……” ——Amazon評(píng)論
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
C++程序設(shè)計(jì)原理與實(shí)踐 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版