編程導師、暢銷書作者《C語言入門經典(第5版)》作者Ivor Horton經典作品
第4版全新包裝隆重上市,C++初學者必備指南
全麵更新至C++14
超高助你快速掌握C++語言
提升您的編程技能;完善您的職業生涯
書中的所有語言特性都用具體的例子來說明,通過每章最後的練習還可以測試自己對所學知識的掌握情況。文中的示例和習題答案都可以從網上下載,學完本書後,還可以試著完成一個可下載的、更實際的項目。
Ivor Horton經典作品:
《C++入門經典(第4版)》是一本C++初學者指南,討論瞭適閤初學者的C++功能子集,其語法對應於C++ 14標準。本書的內容適閤於任何開發環境,可以在任何操作係統或程序開發係統中使用。讀者不需要有任何編程知識。
《C++入門經典(第4版)》中的所有語言特性都用具體的例子來說明,通過每章最後的練習還可以測試自己對所學知識的掌握情況。文中的示例和習題答案都可以從網上下載,學完 《C++入門經典(第4版)》後,還可以試著完成一個可下載的、更實際的項目。
《C++入門經典(第4版)》介紹瞭C++標準庫的元素,標準庫提供對本書討論的語法的基本支持。標準模闆庫(STL)討論得不多,隻介紹並應用瞭標準模闆庫中幾個對現代C++理念非常重要的元素。
主要內容
◆ 使用C++基本數據類型進行計算
◆ 使用循環、選擇、決策等建立程序的邏輯
◆ 使用數組、矢量和字符串
◆ 使用原指針和智能指針
◆ 使用函數編程,處理程序文件和預處理指令
◆ 使用類和類操作定義自己的數據類型
◆ 使用異常警示並處理錯誤
◆ 定義、使用函數模闆和類模闆
◆ 用C++處理文件輸入輸齣
Ivor Horton,是世界著名計算機圖書作傢,獨立顧問,幫助無數程序員步入編程殿堂。他曾在IBM工作多年,以優異成績擁有數學學士學位。他的資曆包括:使用大多數語言(如在多種機器上使用匯編語言和高級語言)進行編程,實時編程,設計和實現實時閉環工業控製係統。Horton擁有豐富的麵嚮工程師和科學傢的編程教學經驗(教學內容包括C、C++、Fortran、PL/1、APL等)。同時,他還是機械、加工和電子CAD係統、機械CAM係統和DNC/CNC係統方麵的專傢。
第1章 基本概念 1
1.1 現代C++ 1
1.2 C++程序概念 2
1.2.1 注釋和空白 2
1.2.2 預處理指令和頭文件 3
1.2.3 函數 3
1.2.4 語句 4
1.2.5 數據輸入輸齣 4
1.2.6 return語句 5
1.2.7 名稱空間 5
1.2.8 名稱和關鍵字 6
1.3 類和對象 6
1.4 模闆 7
1.5 程序文件 7
1.6 標準庫 7
1.7 代碼的錶示樣式 7
1.8 創建可執行文件 8
1.9 錶示數字 9
1.9.1 二進製數 9
1.9.2 十六進製數 11
1.9.3 負的二進製數 12
1.9.4 八進製數 14
1.9.5 Big-Endian和Little-Endian係統 14
1.9.6 浮點數 15
1.10 錶示字符 16
1.10.1 ASCII 碼 16
1.10.2 UCS和Unicode 17
1.11 C++源字符 17
1.11.1 三字符序列 18
1.11.2 轉義序列 18
1.12 過程化編程方法和麵嚮
對象編程方法 20
1.13 本章小結 21
1.14 練習 22
第2章 基本數據類型 23
2.1 變量、數據和數據類型 23
2.1.1 定義整型變量 24
2.1.2 定義有固定值的變量 26
2.2 整型字麵量 26
2.2.1 十進製整型字麵量 27
2.2.2 十六進製的整型字麵量 27
2.2.3 八進製的整型字麵量 27
2.2.4 二進製的整型字麵量 28
2.3 整數的計算 28
2.4 op=賦值運算符 33
2.5 using聲明和指令 34
2.6 sizeof運算符 34
2.7 整數的遞增和遞減 35
2.8 定義浮點變量 37
2.8.1 浮點字麵量 38
2.8.2 浮點數的計算 38
2.8.3 缺點 38
2.8.4 無效的浮點結果 39
2.9 數值函數 40
2.10 流輸齣的格式化 43
2.11 混閤的錶達式和類型轉換 45
2.11.1 顯式類型轉換 46
2.11.2 老式的強製轉換 48
2.12 確定數值的上下限 49
2.13 使用字符變量 50
2.13.1 使用Unicode字符 51
2.13.2 auto關鍵字 52
2.13.3 lvalue和rvalue 52
2.14 本章小結 53
2.15 練習 54
第3章 處理基本數據類型 55
3.1 運算符的優先級和相關性 55
3.2 按位運算符 57
3.2.1 移位運算符 58
3.2.2 使用按位與運算符 60
3.2.3 使用按位或運算符 61
3.2.4 使用按位異或運算符 63
3.3 枚舉數據類型 67
3.4 數據類型的同義詞 70
3.5 變量的生存期 70
3.5.1 定位變量的定義 71
3.5.2 全局變量 71
3.5.3 靜態變量 74
3.5.4 外部變量 75
3.6 本章小結 75
3.7 練習 76
第4章 決策 77
4.1 比較數據值 77
4.1.1 應用比較運算符 78
4.1.2 比較浮點數值 79
4.2 if語句 80
4.2.1 嵌套的if語句 82
4.2.2 不依賴編碼的字符處理 84
4.3 if-else語句 85
4.3.1 嵌套的if-else語句 87
4.3.2 理解嵌套的if語句 88
4.4 邏輯運算符 89
4.4.1 邏輯與運算符 90
4.4.2 邏輯或運算符 90
4.4.3 邏輯非運算符 91
4.5 條件運算符 92
4.6 switch語句 94
4.7 無條件分支 98
4.8 語句塊和變量作用域 99
4.9 本章小結 100
4.10 練習 100
第5章 數組和循環 103
5.1 數據數組 103
5.2 理解循環 105
5.3 for循環 106
5.3.1 避免幻數 107
5.3.2 用初始化列錶定義數組的大小 109
5.3.3 確定數組的大小 109
5.3.4 用浮點數值控製for循環 110
5.3.5 使用更復雜的循環控製錶達式 112
5.3.6 逗號運算符 113
5.3.7 基於區域的for循環 114
5.4 while循環 115
5.5 do-while循環 119
5.6 嵌套的循環 120
5.7 跳過循環迭代 123
5.8 循環的中斷 125
5.9 字符數組 128
5.10 多維數組 131
5.10.1 初始化多維數組 134
5.10.2 在默認情況下設置維數 135
5.10.3 多維字符數組 136
5.11 數組的替代品 137
5.11.1 使用array容器 138
5.11.2 使用std::vector容器 142
5.11.3 矢量的容量和大小 143
5.11.4 刪除矢量容器中的元素 145
5.12 本章小結 145
5.13 練習 146
第6章 指針和引用 149
6.1 什麼是指針 149
6.1.1 地址運算符 151
6.1.2 間接運算符 152
6.1.3 為什麼使用指針 153
6.2 char類型的指針 154
6.3 常量指針和指嚮常量的指針 158
6.4 指針和數組 159
6.4.1 指針的算術運算 160
6.4.2 計算兩個指針之間的差 162
6.4.3 使用數組名的指針錶示法 162
6.5 動態內存分配 165
6.5.1 棧和堆 165
6.5.2 運算符new和delete 166
6.5.3 數組的動態內存分配 167
6.5.4 通過指針選擇成員 169
6.6 動態內存分配的危險 169
6.6.1 內存泄漏 169
......
歡迎使用《C++入門經典(第4版)》。本書修訂並更新瞭上一版(Beginning ANSI C++)。自上一版齣版以來,C++語言有瞭很大的擴展和改進,但不太可能把C++的所有內容壓縮到一本書中。本書提供的C++語言基礎知識和標準庫功能,足以讓讀者編寫自己的C++應用程序。掌握瞭本書介紹的知識,讀者應能毫無睏難地擴展C++專業知識的深度和廣度。C++要比許多人想象的更容易理解。本書不需要讀者具備任何編程知識。如果你非常渴望學習,並具備邏輯思考的能力,掌握C++就會比想象的更容易。開發C++技巧,學習數百萬人已在使用的語言,掌握C++技能,它提供瞭在幾乎任何環境下開發應用程序的能力。
本書的C++語言對應最新的ISO標準,一般稱為C++ 14。C++ 14對以前的標準C++ 11進行瞭較小的擴展,所以本書的內容大都不專用於C++ 14。本書的所有示例都可以使用目前遵循C++ 11的編譯器來編譯和執行。
使用本書
要通過本書學習C++,需要一個遵循C++ 11標準的編譯器和一個適閤編寫程序代碼的文本編輯器。目前,有幾個編譯器兼容C++ 11,其中一些是免費的。
GNU Project生産的GCC編譯器全麵支持C++ 11,是一個開源産品,可免費下載。安裝GCC並將它與閤適的編輯器一起使用,對新手而言略有難度。安裝GCC和閤適編譯器的一種簡單方法是,從http://www.codeblocks.org上下載Code::Blocks。Code::Blocks是Linux、Apple Mac OS X和Microsoft Windows的一個免費IDE,它允許使用幾個編譯器(包括用於GCC、Clang和open Watcom的編譯器)開發程序。這錶示,安裝Code::Blocks會獲得C、C++和Fortran的支持。
另一種方法是使用在Microsoft Windows下運行的Microsoft Visual C++,它不僅完全兼容C++ 11,而且已經安裝好瞭。其免費版本是Microsoft Visual Studio 2013 Express。編寫本書時,它可以編譯本書的大多數示例,最終應能編譯所有示例。Microsoft Visual C++可以從http://www.microsoft.com/en-us/download/details.aspx?id=43733上下載。與GCC相比,Microsoft Visual C++編譯器的限製多一些,但根據它對C++ 11的支持力度,這是一個專業的編譯器,還支持其他語言,例如C#和Basic。當然,也可以安裝這兩個編輯器。還有其他支持C++ 11的編輯器,在網上搜索會很快找到它們。
本書的內容循序漸進,所以讀者應從頭開始一直閱讀到最後。但是,沒有人能僅從一本書中獲得所有的編程技巧。本書僅介紹如何使用C++編程,讀者應自己輸入所有的例子,而不是從下載文件中復製它們,再編譯和執行輸入的代碼,這似乎很麻煩,但輸入C++語句可以幫助理解C++,特彆是覺得某些地方很難掌握時,自己輸入代碼就顯得非常有幫助。如果例子不工作,不要直接從書中查找原因,而應在自己輸入的例子代碼中找原因,這是編寫C++代碼時必須做的一個工作。
犯錯誤也是學習過程中不可避免的,練習應提供大量犯錯誤的機會,最好自己編幾個練習題。如果不確定如何編寫代碼,應翻看前麵的內容。犯的錯誤越多,對C++的功能和錯誤的原因認識得就越深刻。讀者應完成所有的練習,記住不要看答案,直到肯定不能自己解決問題為止。許多練習都涉及某章內容的一個直接應用,換言之,它們僅是一種實踐,但也有一些練習需要多動腦子,甚至需要一點靈感。
希望每個人都能成功駕馭C++。
—Ivor Horton
這本書簡直就是我C++學習路上的定海神針!作為一名完全的編程新手,我對C++那種敬畏又好奇的心情,這本書都妥帖地照顧到瞭。它並沒有上來就扔給我一堆晦澀的概念和復雜的語法,而是循序漸進,從最基礎的“你好,世界!”開始,一點點地揭開C++的麵紗。我特彆喜歡它那種“先知其然,再知其所以然”的講解方式。比如,講到變量的時候,它不僅告訴你怎麼聲明和使用,還會用生動的比喻來解釋它們在內存中的作用,讓我覺得編程不再是枯燥的代碼堆砌,而是有實際意義的操作。 更讓我驚喜的是,它不僅僅是羅列知識點,而是通過大量的實例,將理論知識轉化為可執行的代碼。每一個概念的引入,都伴隨著清晰的示例代碼,並且對代碼的每一部分都進行瞭詳盡的注釋。這對於我這種喜歡動手實踐的人來說,簡直是福音。我可以通過運行這些代碼,直觀地看到結果,然後嘗試修改參數,觀察變化,從而加深理解。書中那些練習題也是精心設計的,難度梯度閤理,既不會讓人望而卻步,又能有效地鞏固所學。我常常在完成一個章節後,花上好一段時間去鑽研那些練習題,享受那種“啊,原來是這樣!”的頓悟時刻。
評分這本C++入門經典,我隻能說,它真的“經典”!它並非那種枯燥乏味的技術手冊,而是充滿瞭作者對編程的熱情和對讀者的關懷。我特彆欣賞它在講解一些復雜概念時,那種深入淺齣的能力。比如,它在引入“模闆”這個概念的時候,並沒有直接給齣抽象的模闆定義,而是先從解決“函數重載”的繁瑣性入手,然後一步步引導讀者理解模闆的必要性和強大之處。通過模擬一個泛型函數的設計過程,讓我深刻體會到瞭模闆的靈活性和效率。 更讓我驚喜的是,這本書還在一定程度上觸及瞭C++的一些高級特性,比如內存管理、異常處理等。雖然不是深入探討,但它已經為我打開瞭認識C++更廣闊世界的大門。它讓我明白,C++不僅僅是編寫簡單的程序,它還涉及到底層的機製和更復雜的工程實踐。我記得書中有一個關於“RAII(Resource Acquisition Is Initialization)”的講解,用一個非常巧妙的例子說明瞭如何利用對象的生命周期來自動管理資源,讓我對C++的內存管理有瞭更清晰的認識。
評分我原本以為,一本“入門”級的C++書籍,最多也就是教你一些基礎的語法和數據結構,但這本書顯然超越瞭我的預期。它在教授C++語言本身的同時,還在潛移默化地傳遞著良好的編程習慣和思維方式。我非常贊賞書中對於“代碼風格”的強調,比如如何編寫可讀性強的代碼,如何進行有效的命名,以及如何編寫清晰的注釋。這些細節雖然看似微不足道,但對於一個初學者來說,卻是養成良好編程習慣的基石。 此外,書中還涉及瞭對一些常見算法的介紹,並展示瞭如何在C++中實現它們。比如,我學到瞭如何用鏈錶來實現動態數據結構,如何用棧和隊列來解決一些典型的遍曆問題。這些算法的講解,並不是孤立的,而是與前麵介紹的數據結構緊密結閤,讓我能夠更好地理解它們的應用場景。我特彆喜歡書中關於“遞歸”的講解,通過一些經典的例子,比如斐波那契數列和漢諾塔,讓我逐漸理解瞭遞歸的精髓,並且能夠自己嘗試編寫遞歸函數。這本書讓我明白,學習C++,不僅僅是學習一門語言,更是在培養一種解決問題的能力。
評分說實話,在拿到這本書之前,我對C++的印象就是“難學”、“門檻高”。但這本書徹底改變瞭我的看法。作者的語言風格非常親切,就像一位經驗豐富的老師,耐心細緻地解答你可能遇到的每一個睏惑。即使是一些初學者容易混淆的概念,比如指針和引用,書中也用非常形象的比喻和清晰的圖示來解釋,讓我茅塞頓開。我印象最深刻的是講到麵嚮對象編程的部分,它沒有一開始就拋齣抽象的類和對象,而是從現實生活中的例子齣發,比如“汽車”可以看作一個對象,它有顔色、品牌(屬性)和啓動、加速(方法),然後逐步引齣C++中的類、對象、繼承、多態等概念。這種由淺入深的講解方式,讓我能夠輕鬆地建立起對麵嚮對象思想的理解,並且知道如何在C++中實踐它。 這本書的內容組織也非常閤理,每個章節都像一個獨立的模塊,但又與前後章節緊密相連,形成一個完整的知識體係。它不僅僅停留在語法層麵,還開始探討一些更深層次的設計理念和編程技巧。我尤其喜歡它在介紹某些高級特性時,會穿插一些“提示”和“陷阱”,提醒我們開發者在實際編程中需要注意的地方,避免走彎路。這讓我感覺作者不僅僅是想把知識傳授給我,更是希望我能成為一名優秀的C++程序員。
評分坦白講,這本書對於想要快速掌握C++技能的朋友來說,絕對是物超所值。它以一種非常實用主義的方式來呈現C++,強調的是“能用”,而不是僅僅停留在理論的堆砌。作者在講解每一個知識點的時候,都會思考這個知識點在實際編程中有何應用,然後通過大量的代碼實例來展示。我尤其喜歡書中關於“STL(標準模闆庫)”的講解。它不僅僅是羅列齣各種容器和算法,而是通過生動的例子,展示瞭如何利用STL來高效地解決實際問題,比如如何使用vector來存儲動態數組,如何使用map來構建鍵值對,以及如何利用sort算法對數據進行排序。 這本書的另一個亮點是它對於調試技巧的介紹。很多時候,我們寫的代碼會齣現各種各樣的問題,學會如何有效地找齣並修復這些錯誤,是程序員必備的技能。書中花瞭不少篇幅來介紹常用的調試工具和方法,比如如何設置斷點、如何單步執行、如何查看變量的值等等。這些內容對於我這種初學者來說,簡直是救命稻草,讓我不再害怕遇到bug,而是能夠自信地去解決它們。
評分很好,東西質量不錯,很好用,大傢都很喜歡,已經買瞭很多瞭,這次價格也實惠,送貨速度快。。。。。。。。。。。。。。。。。。。。。。。。。。。。
評分vs2010以後都不支持xp瞭。
評分書的質量非常好,內容也非常全,對於初學編程(C語言)的我來說,這本書非常適閤我。
評分講解很詳細 很適閤初學者看
評分學習心得計算機語言
評分這本書超級厚!內容超級豐富!全麵介紹C#語言的方方麵麵,對學習和工作有很大的幫助!強烈推薦給各位同行學習!書中的知識點全麵,講解透徹,適閤初學者和有一定基礎的人員!性價比高!強烈支持!
評分書本很好,挺厚的又可以開始一段學習的旅程瞭,包裝完美
評分包裝很不錯,紙質也不錯,有需要還會再來
評分缺點是沒涉及到Unicode和網絡,MFC部分主要圍繞一個具體的例子講解用到的內容,沒進行比較全麵深入的介紹
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有