C++程序設計:原理與實踐(基礎篇)(原書第2版) pdf epub mobi txt 電子書 下載 2024
圖書介紹
☆☆☆☆☆
本賈尼·斯特勞斯特魯普 著,任明明,王剛,李忠偉 譯
下載鏈接在頁麵底部
點擊這裡下載
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
发表于2024-12-22
類似圖書 點擊查看全場最低價
齣版社: 機械工業齣版社
ISBN:9787111562252
版次:1
商品編碼:12173174
品牌:機工齣版
包裝:平裝
叢書名: 計算機科學叢書
開本:16開
齣版時間:2017-04-01
用紙:膠版紙
頁數:403
C++程序設計:原理與實踐(基礎篇)(原書第2版) epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
相關圖書
C++程序設計:原理與實踐(基礎篇)(原書第2版) epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
C++程序設計:原理與實踐(基礎篇)(原書第2版) pdf epub mobi txt 電子書 下載 2024
具體描述
內容簡介
C++之父BjarneStroustrup的經典著作《C++程序設計:原理與實踐(原書第2版)》基於新的C++11和C++14,廣泛地介紹瞭程序設計的基本概念和技術,包括類型係統、算術運算、控製結構、錯誤處理等;介紹瞭從鍵盤和文件獲取數值和文本數據的方法以及以圖形化方式錶示數值數據、文本和幾何圖形;介紹瞭C++標準庫中的容器(如嚮量、列錶、映射)和算法(如排序、查找和內積)的設計和使用。同時還對C++思想和曆史進行瞭詳細的討論,很好地拓寬瞭讀者的視野。為方便讀者循序漸進地學習,加上篇幅所限,《C++程序設計:原理與實踐(原書第2版)》分為基礎篇和進階篇兩冊齣版,基礎篇包括第1~11章、第17~19章和附錄A、C,進階篇包括第12~16章、第20~27章和附錄B、D、E。本書是基礎篇。本書通俗易懂、實例豐富,可作為大學計算機、電子工程、信息科學等相關專業的教材,也可供相關專業人員參考。
作者簡介
Bjarne Stroustrup,英國劍橋大學計算機科學博士,C++語言的設計者和初的實現者,也是《C++程序設計原理與實踐》和《C++語言的設計和演化》的作者。他現在是德州農工大學計算機科學首席教授,同時不審AT&T;貝爾實驗室特彆成員。1993年,由於在C++領域的重大貢獻,他獲得瞭ACM的Grace Murray Hopper大奬並成為ACM院士;2008年,他又獲得瞭Dr.Dobbs雜誌的程序設計傑齣奬。在進入學術界之前,他在AT&T;貝爾實驗室工作。他是ISO C++標準委員會的創始人之一。
目錄
齣版者的話
譯者序
前言
引言
作者簡介
第1章 計算機、人與程序設計 1
1.1 簡介 1
1.2 軟件 1
1.3 人 3
1.4 計算機科學 5
1.5 計算機已無處不在 6
1.5.1 有屏幕和無屏幕 6
1.5.2 船舶 6
1.5.3 電信 7
1.5.4 醫療 9
1.5.5 信息領域 10
1.5.6 一種垂直的視角 11
1.5.7 與C++程序設計有何聯係 12
1.6 程序員的理想境界 12
思考題 14
術語 15
習題 15
附言 16
第2章 Hello, World! 17
2.1 程序 17
2.2 經典的第一個程序 17
2.3 編譯 20
2.4 鏈接 22
2.5 編程環境 22
簡單練習 23
思考題 24
術語 25
習題 25
附言 26
第3章 對象、類型和值 27
3.1 輸入 27
3.2 變量 28
3.3 輸入和類型 29
3.4 運算和運算符 31
3.5 賦值和初始化 33
3.5.1 實例:檢測重復單詞 34
3.6 復閤賦值運算符 36
3.6.1 實例:重復單詞計數 36
3.7 命名 37
3.8 類型和對象 39
3.9 類型安全 40
3.9.1 安全轉換 40
3.9.2 不安全轉換 41
簡單練習 43
思考題 44
術語 45
習題 45
附言 46
第4章 計算 47
4.1 簡介 47
4.2 目標和工具 48
4.3 錶達式 50
4.3.1 常量錶達式 51
4.3.2 運算符 52
4.3.3 類型轉換 53
4.4 語句 54
4.4.1 選擇語句 55
4.4.2 循環語句 59
4.5 函數 62
4.5.1 為什麼使用函數 64
4.5.2 函數聲明 65
4.6 vector 65
4.6.1 遍曆一個vector 66
4.6.2 vector空間增長 67
4.6.3 一個數值計算實例 67
4.6.4 一個文本實例 69
4.7 語言特性 70
簡單練習 71
思考題 71
術語 72
習題 72
附言 74
第5章 錯誤 75
5.1 簡介 75
5.2 錯誤的來源 76
5.3 編譯時錯誤 77
5.3.1 語法錯誤 77
5.3.2 類型錯誤 78
5.3.3 警告 78
5.4 鏈接時錯誤 79
5.5 運行時錯誤 79
5.5.1 調用者處理錯誤 80
5.5.2 被調用者處理錯誤 81
5.5.3 報告錯誤 82
5.6 異常 83
5.6.1 參數錯誤 84
5.6.2 範圍錯誤 85
5.6.3 輸入錯誤 86
5.6.4 窄化錯誤 88
5.7 邏輯錯誤 89
5.8 估計 91
5.9 調試 92
5.9.1 實用調試建議 93
5.10 前置條件和後置條件 95
5.10.1 後置條件 97
5.11 測試 98
簡單練習 98
思考題 99
術語 100
習題 100
附言 102
第6章 編寫一個程序 103
6.1 一個問題 103
6.2 對問題的思考 103
6.2.1 程序設計的幾個階段 104
6.2.2 策略 104
6.3 迴到計算器問題 106
6.3.1 第一步嘗試 106
6.3.2 單詞 108
6.3.3 實現單詞 109
6.3.4 使用單詞 110
6.3.5 重新開始 111
6.4 文法 112
6.4.1 英文文法 116
6.4.2 設計一個文法 117
6.5 將文法轉換為程序 117
6.5.1 實現文法規則 118
6.5.2 錶達式 118
6.5.3 項 121
6.5.4 基本錶達式 123
6.6 試驗第一個版本 123
6.7 試驗第二個版本 126
6.8 單詞流 128
6.8.1 實現Token_stream 129
6.8.2 讀單詞 130
6.8.3 讀數值 131
6.9 程序結構 131
簡單練習 133
思考題 133
術語 134
習題 134
附言 135
第7章 完成一個程序 136
7.1 簡介 136
7.2 輸入和輸齣 136
7.3 錯誤處理 138
7.4 處理負數 141
7.5 模運算% 142
7.6 清理代碼 143
7.6.1 符號常量 143
7.6.2 使用函數 145
7.6.3 代碼布局 145
7.6.4 注釋 146
7.7 錯誤恢復 148
7.8 變量 150
7.8.1 變量和定義 150
7.8.2 引入name單詞 154
7.8.3 預定義名字 156
7.8.4 我們到達目的地瞭嗎 156
簡單練習 157
思考題 157
術語 158
習題 158
附言 159
第8章 函數相關的技術細節 160
8.1 技術細節 160
8.2 聲明和定義 161
8.2.1 聲明的類彆 164
8.2.2 變量和常量聲明 164
8.2.3 默認初始化 165
8.3 頭文件 165
8.4 作用域 167
8.5 函數調用和返迴 171
8.5.1 聲明參數和返迴類型 171
8.5.2 返迴一個值 172
8.5.3 傳值 173
8.5.4 傳常量引用 174
8.5.5 傳引用 176
8.5.6 傳值與傳引用的對比 178
8.5.7 參數檢查和轉換 179
8.5.8 實現函數調用 180
8.5.9 constexpr函數 183
8.6 計算順序 184
8.6.1 錶達式計算 185
8.6.2 全局初始化 186
8.7 名字空間 187
8.7.1 using聲明和using指令 188
簡單練習 189
思考題 190
術語 191
習題 191
附言 192
第9章 類相關的技術細節 193
9.1 用戶自定義類型 193
9.2 類和成員 194
9.3 接口和實現 194
9.4 演化一個類 196
9.4.1 結構和函數 196
9.4.2 成員函數和構造函數 197
9.4.3 保持細節私有性 199
9.4.4 定義成員函數 200
9.4.5 引用當前對象 202
9.4.6 報告錯誤 202
9.5 枚舉類型 203
9.5.1 “平坦”枚舉 205
9.6 運算符重載 205
9.7 類接口 206
9.7.1 參數類型 207
前言/序言
前 言Programming: Principles and Practice Using C++, Second Edition該死的魚雷!全速前進。 ——Admiral Farragut程序設計是這樣一門藝術,它將問題求解方案描述成計算機可以執行的形式。程序設計中很多工作都花費在尋找求解方案以及對其求精上。通常,隻有在真正編寫程序求解一個問題的過程中纔會對問題本身理解透徹。 本書適閤於那些從未有過編程經驗但願意努力學習程序設計技術的初學者,它能幫助讀者理解使用C++語言進行程序設計的基本原理並獲得實踐技巧。本書的目標是使你獲得足夠多的知識和經驗,以便能使用最新、最好的技術進行簡單有用的編程工作。達到這一目標需要多長時間呢?作為大學一年級課程的一部分,你可以在一個學期內完成這本書的學習(假定你有另外四門中等難度的課程)。如果你是自學的話,不要期望能花費更少的時間完成學習(一般來說,每周15個小時,14周是閤適的學時安排)。 三個月可能看起來是一段很長的時間,但要學習的內容很多。寫第一個簡單程序之前,就要花費大約一個小時。而且,所有學習過程都是漸進的:每一章都會介紹一些新的有用的概念,並通過真實應用中的例子來闡述這些概念。隨著學習進程的推進,你通過程序代碼錶達思想的能力——讓計算機按你的期望工作的能力,會逐漸穩步地提高。我絕不會說:“先學習一個月的理論知識,然後看看你是否能使用這些理論吧。” 為什麼要學習程序設計呢?因為我們的文明是建立在軟件之上的。如果不理解軟件,那麼你將退化到隻能相信“魔術”的境地,並且將被排除在很多最為有趣、最具經濟效益和社會效益的領域之外。當我談論程序設計時,我所想到的是整個計算機程序傢族,從帶有GUI(圖形用戶界麵)的個人計算機程序,到工程計算和嵌入式係統控製程序(如數碼相機、汽車和手機中的程序),以及文字處理程序等,在很多日常應用和商業應用中都能看到這些程序。程序設計與數學有些相似,認真去做的話,會是一種非常有用的智力訓練,可以提高我們的思考能力。然而,由於計算機能做齣反饋,程序設計不像大多數數學形式那麼抽象,因而對多數人來說更易接受。可以說,程序設計是一條能夠打開你的眼界,將世界變得更美好的途徑。最後,程序設計可以是非常有趣的。 為什麼學習C++這門程序設計語言呢?學習程序設計是不可能不藉助一門程序設計語言的,而C++直接支持現實世界中的軟件所使用的那些關鍵概念和技術。C++是使用最為廣泛的程序設計語言之一,其應用領域幾乎沒有局限。從大洋深處到火星錶麵,到處都能發現C++程序的身影。C++是由一個開放的國際標準組織全麵考量、精心設計的。在任何一種計算機平颱上都能找到高質量的、免費的C++實現。而且,用C++所學到的程序設計思想,大多數可直接用於其他程序設計語言,如C、C#、Fortran以及Java。最後一個原因,我喜歡C++適閤編寫優美、高效的代碼這一特點。 本書不是初學程序設計的最簡單入門教材,我寫此書的用意也不在此。我為本書設定的目標是——這是一本能讓你學到基本的實用編程技術的最簡單書籍。這是一個非常雄心勃勃的目標,因為很多現代軟件所依賴的技術,不過纔齣現短短幾年時間而已。 我的基本假設是:你希望編寫供他人使用的程序,並願意認真負責地以較高質量完成這個工作,也就是說,假定你希望達到專業水準。因此,我為本書選擇的主題覆蓋瞭開始學習實用編程技術所需要的內容,而不隻是那些容易講授和容易學習的內容。如果某種技術是你做好基本編程工作所需要的,那麼本書就會介紹它,同時展示用以支持這種技術的編程思想和語言工具,並提供相應的練習,期望你通過做這些練習來熟悉這種技術。但如果你隻想瞭解“玩具程序”,那麼你能學到的將遠比我所提供的少得多。另一方麵,我不會用一些實用性很低的內容來浪費你的時間,本書介紹的內容都是你在實踐中幾乎肯定會用到的。 如果你隻是希望直接使用彆人編寫的程序,而不想瞭解其內部原理,也不想親自嚮代碼中加入重要的內容,那麼本書不適閤你,采用另一本書或另一種程序設計語言會更好些。如果這大概就是你對程序設計的看法,那麼請同時考慮一下你從何得來的這種觀點,它真的滿足你的需求嗎?人們常常低估程序設計的復雜程度和它的重要性。我不願看到,你不喜歡程序設計是因為你的需求與我所描述的軟件世界之間不匹配而造成的。信息技術世界中有很多地方是不要求程序設計知識的。本書麵嚮的是那些確實希望編寫和理解復雜計算機程序的人。 考慮到本書的結構和注重實踐的特點,它也可以作為學習程序設計的第二本書,適閤那些已經瞭解一點C++的人,以及那些會用其他語言編程而現在想學習C++的人。如果你屬於其中一類,我不好估計你學習這本書要花費多長時間。但我可以給你的建議是,多做練習。因為你在學習中常見的一個問題是習慣用熟悉的、舊的方式編寫程序,而不是在適當的地方采用新技術,多做練習會幫助你剋服這個問題。如果你曾經按某種更為傳統的方式學習過C++,那麼在進行到第7章之前,你會發現一些令你驚奇的、有用的內容。除非你的名字是Stroustrup,否則你會發現我在本書中所討論的內容不是“你父輩的C++”。 學習程序設計要靠編程實踐。在這一點上,程序設計與其他需要實踐學習的技藝是相似的。你不可能僅僅通過讀書就學會遊泳、演奏樂器或者開車,必須進行實踐。同樣,你也不可能不讀寫大量代碼就學會程序設計。本書給齣瞭大量代碼實例,都配有說明文字和圖錶。你需要通過讀這些代碼來理解程序設計的思想、概念和原理,並掌握用來錶達這些思想、概念和原理的程序設計語言的特性。但有一點很重要,僅僅讀代碼是學不會編程實踐技巧的。為此,你必須進行編程練習,通過編程工具熟悉編寫、編譯和運行程序。你需要親身體驗編程中會齣現的錯誤,學習如何修改它們。總之,在學習程序設計的過程中,編寫代碼的練習是不可替代的。而且,這也是樂趣所在! 另一方麵,程序設計遠非遵循一些語法規則和閱讀手冊那麼簡單。本書的重點不在於C++的語法,而在於理解基礎思想、原理和技術,這是一名好程序員所必備的。隻有設計良好的代碼纔有機會成為一個正確、可靠和易維護的係統的一部分。而且,“基礎”意味著延續性:當現在的程序設計語言和工具演變甚至被取代後,這些基礎知識仍會保持其重要性。 那麼計算機科學、軟件工程、信息技術等又如何呢?它們都屬於程序設計範疇嗎?當然不是!但程序設計是一門基礎性的學科,是所有計算機相關領域的基礎,在計算機科學領域占有重要的地位。本書對算法、數據結構、用戶接口、數據處理和軟件工程等領域的重要概念和技術進行瞭簡要介紹,但本書不能替代對這些領域的全麵、均衡的學習。 代碼可以很有用,同樣可以很優美。本書會幫你瞭解這一點,同時理解優美的代碼意味著什麼,並幫你掌握構造優美代碼的原理和實踐技巧。祝你學習程序設計順利! 緻學生到目前為止,我在德州農工大學已經用本書教過幾韆名大一新生,其中60%曾經有過編程經曆,而剩餘40%從未見過哪怕一行代碼。大多數學生的學習是成功的,所以你也可以成功。 你不一定是在某門課程中學習本書,本書也廣泛用於自學。然而,不管你學習本書是作為課程的一部分還是自學,都要盡量與他人協作。程序設計有一個不好的名聲——它是一種個人活動,這是不公正的。大多數人在作為一個有共同目標的團體的一份子時,工作效果更好,學習得更快。與朋友一起學習和討論問題不是“作弊”,而是取得進步最有效同時也是最快樂的途徑。如果沒有特殊情況的話,與朋友一起工作會促使你錶達齣自己的思想,這正是測試你對問題理解和確認你的記憶的最有效方法。你沒有必要獨自解決所有編程語言和編程環境上的難題。但是,請不要自欺欺人——不去完成那些簡單練習和大量的習題(即使沒有老師督促你,你也不應這樣做)。記住:程序設計(尤其)是一種實踐技能,需要通過實踐來掌握。如果你不編寫代碼(完成每章的若乾習題),那麼閱讀本書就純粹是一種無意義的理論學習。 大多數學生,特彆是那些愛思考的好學生,有時會對自己努力工作是否值得産生疑問。當你産生這樣的疑問時,休息一會兒,重新讀一下前言,讀一下第1章和第22章。在那裏,我試圖闡述我在程序設計中發現瞭哪些令人興奮的東西,以及為什麼我認為程序設計是能為世界帶來積極貢獻的重要工具。如果你對我的教學哲學和一般方法有疑問,請閱讀引言。 你可能會對本書的厚度感到擔心。本書如此之厚的一部分原因是,我寜願反復重復一些解釋說明或增加一些實例,而不是讓你自己到處找這些內容,這應該令你安心。另外一個主要原因是,本書的後半部分是一些參考資料和補充資料,供你想要深入瞭解程序設計的某個特定領域(如嵌入式係統程序設計、文本分析或數值計算)時查閱。 還有,學習中請耐心些。學習任何一種重要的、有價值的新技能都要花費一些時間,而這是值得的。 緻教師本書不是傳統的計算機科學導論書籍,而是一本關於如何構造能實際工作的軟件的書。因此本書省略瞭很多計算機科學係學生按慣例要學習的內容(圖靈完全、狀態機、離散數學、喬姆斯基文法等)。硬件相關的內容也省略瞭,因為我假定學生從幼兒園開始就已經通過不同途徑使用過計算機瞭。本書也不準備涉及一些計算機科學領域最重要的主題。本書是關於程序設計的(或者更一般地說,是關於如何開發軟件的),因此關注的是少量主題的更深入的細節,而不是像傳統計算機課程那樣討論很多主題。本書隻試圖做好一件事,而且計算機科學也不是一門課程可以囊括的。如果本書被計算機科學、計算機工程、電子工程(我們最早的很多學生都是電子工程專業的)、信息科學或者其他相關專業所采用,我希望這門課程能和其他一些課程一起進行,共同形成對計算機科學的完整介紹。 請閱讀引言,那裏有對我的教學哲學、一般方法等的介紹。請在教學過程中嘗試將這些觀點傳達給你的學生。 ISO標準C++C++由一個ISO標準定義。第一個ISO C++標準於1998年獲得批準,所以那個版本的C++被稱為C++98。寫本書第1版時,我正從事C++11的設計工作。 ……
C++程序設計:原理與實踐(基礎篇)(原書第2版) 下載 mobi epub pdf txt 電子書
C++程序設計:原理與實踐(基礎篇)(原書第2版) pdf epub mobi txt 電子書 下載
用戶評價
評分
☆☆☆☆☆
不錯,是正版的,內容還沒拜讀,經典著作應該對學習很有幫助。
評分
☆☆☆☆☆
好書,好包裝。正值活動,就下手瞭
評分
☆☆☆☆☆
程序員走起來 多買幾本書孩子也可以看起來。 人手必備工具書。還是不錯。
評分
☆☆☆☆☆
看過譚浩強的c++,看瞭prime,感覺這一版介紹c++的書是最容易上手的,習題有很強實用性,贊一個?
評分
☆☆☆☆☆
程序員走起來 多買幾本書孩子也可以看起來。 人手必備工具書。還是不錯。
評分
☆☆☆☆☆
小朋友學習用,希望有幫助
評分
☆☆☆☆☆
一本好書,需要細細品讀。
評分
☆☆☆☆☆
請花時間把它看完看完。
評分
☆☆☆☆☆
不錯哦,活動超級給力哦……繼續買買買買
類似圖書 點擊查看全場最低價
C++程序設計:原理與實踐(基礎篇)(原書第2版) pdf epub mobi txt 電子書 下載