出版社:機械工業出版社 ISBN:9787111562252 商品編碼:12067637137 品牌:文軒 出版時間:2017-04-01 代碼:99 作者:本賈尼·斯特勞斯特魯普(BjarneStro
" 作 者:(美)本賈尼·斯特勞斯特魯普(Bjarne Stroustrup) 著;任明明,王剛,李忠偉 譯 著 定 價:99 出 版 社:機械工業出版社 出版日期:2017年04月01日 頁 數:403 裝 幀:平裝 ISBN:9787111562252 《計算機科學叢書·C++程序設計:原理與實踐(基礎篇)(原書第2版)》通俗易懂、實例豐富,可作為大學計算機、電子工程、信息科學等相關專業的教材,也可供相關專業人員參考。 ●出版者的話 譯者序 前言 引言 作者簡介 第1章計算機、人與程序設計 1.1簡介 1.2軟件 1.3人 1.4計算機科學 1.5計算機已無處不在 1.5.1有屏幕和無屏幕 1.5.2船舶 1.5.3電信 1.5.4醫療 1.5.5信息領域 1.5.6一種垂直的視角 1.5.7與C++程序設計有何聯繫 1.6程序員的理想境界 思考題 術語 習題 附言 第2章Hello,World! 2.1程序 2.2經典的第一個程序 2.3編譯 2.4鏈接 2.5編程環境 簡單練習 思考題 術語 習題 附言 第3章對像、類型和值 3.1輸入 3.2變量 3.3輸入和類型 3.4運算和運算符 3.5賦值和初始化 3.5.1實例:檢測重復單詞 3.6復合賦值運算符 3.6.1實例:重復單詞計數 3.7命名 3.8類型和對像 3.9類型安全 3.9.1安全轉換 3.9.2不安全轉換 簡單練習 思考題 術語 習題 附言 第4章計算 4.1簡介 4.2目標和工具 4.3表達式 4.3.1常量表達式 4.3.2運算符 4.3.3類型轉換 4.4語句 4.4.1選擇語句 4.4.2循環語句 4.5函數 4.5.1為什麼使用函數 4.5.2函數聲明 4.6VeCtor 4.6.1遍歷一個vector 4.6.2vector空間增長 4.6.3一個數值計算實例 4.6.4一個文本實例 4.7語言特性 簡單練習 思考題 術語 習題 附言 第5章錯誤 5.1簡介 5.2錯誤的來源 5.3編譯時錯誤 5.3.1語法錯誤 5.3.2類型錯誤 5.3.3警告 5.4鏈接時錯誤 5.5運行時錯誤 5.5.1調用者處理錯誤 5.5.2被調用者處理錯誤 5.5.3報告錯誤 5.6異常 5.6.1參數錯誤 5.6.2範圍錯誤 5.6.3輸入錯誤 5.6.4窄化錯誤 5.7邏輯錯誤 5.8估計 5.9調試 5.9.1實用調試建議 5.10前置條件和後置條件 5.10.1後置條件 5.11測試 簡單練習 思考題 術語 習題 附言 第6章編寫一個程序 6.1一個問題 6.2對問題的思考 6.2.1程序設計的幾個階段 6.2.2策略 6.3回到計算器問題 6.3.1第一步嘗試 6.3.2單詞 6.3.3實現單詞 6.3.4使用單詞 6.3.5重新開始 6.4文法 6.4.1英文文法 6.4.2設計一個文法 6.5將文法轉換為程序 6.5.1實現文法規則 6.5.2表達式 6.5.3項 6.5.4基本表達式 6.6試驗第一個版本 6.7試驗第二個版本 6.8單詞流 6.8.1實現Ten—stream 6.8.2讀單詞 6.8.3讀數值 6.9程序結構 簡單練習 思考題 術語 習題 附言 第7章完成一個程序 7.1簡介 7.2輸入和輸出 7.3錯誤處理 7.4處理負數 7.5模運算% 7.6清理代碼 7.6.1符號常量 7.6.2使用函數 7.6.3代碼布局 7.6.4注釋 7.7錯誤恢復 7.8變量 7.8.1變量和定義 7.8.2引入name單詞 7.8.3預定義名字 7.8.4我們到達目的地了嗎 簡單練習 思考題 術語 習題 附言 第8章函數相關的技術細節 8.1技術細節 8.2聲明和定義 8.2.1聲明的類別 8.2.2變量和常量聲明 8.2.3默認初始化 8.3頭文件 8.4作用域 8.5函數調用和返回 8.5.1聲明參數和返回類型 8.5.2返回一個值 8.5.3傳值 8.5.4傳常量引用 8.5.5傳引用 8.5.6傳值與傳引用的對比 8.5.7參數檢查和轉換 8.5.8實現函數調用 8.5.9constexpr函數 8.6計算順序 8.6.1表達式計算 8.6.2全局初始化 8.7名字空間 8.7.1using聲明和using指令 簡單練習 思考題 術語 習題 附言 第9章類相關的技術細節 9.1用戶白定義類型 9.2類和成員 9.3接口和實現 9.4演化一個類 9.4.1結構和函數 9.4.2成員函數和構造函數 9.4.3保持細節私有性 9.4.4定義成員函數 9.4.5引用當前對像 9.4.6報告錯誤 9.5枚舉類型 9.5.1“平坦”枚舉 9.6運算符重載 9.7類接口 9.7.1參數類型 9.7.2拷貝 9.7.3默認構造函數 9.7.4const成員函數 9.7.5類成員和“輔助函數” 9.8Date類 簡單練習 思考題 術語 習題 附言 第10章輸入輸出流 10.1輸入和輸出 10.2I/O流模型 10.3文件 10.4打開文件 10.5讀寫文件 10.6I/O錯誤處理 10.7讀取單個值 10.7.1將程序分解為易管理的子模塊 10.7.2將人機對話從函數中分離 10.8用戶自定義輸出運算符 10.9用戶自定義輸入運算符 10.10一個標準的輸入循環 10.11讀取結構化的文件 10.11.1在內存中的表示 10.11.2讀取結構化的值 10.11.3改變表示方法 練習 思考題 術語 習題 附言 第11章定制輸入輸出 11.1有規律的與無規律的輸入和輸出 11.2格式化輸出 11.2.1輸出整數 11.2.2輸入整數 11.2.3輸出浮點數 11.2.4精度 11.2.5域 11.3打開和定位文件 11.3.1文件打開模式 11.3.2二進制文件 11.3.3在文件中定位 11.4字符串流 11.5面向行的輸入 11.6字符分類 11.7使用非標準分隔符 11.8更多未討論內容 簡單練習 思考題 術語 習題 附言 第12章向量和自由空間 12.1簡介 12.2vector的基本知識 12.3內存、地址和指針 12.3.1sizeof運算符 12.4自由空間和指針 12.4.1自由空間分配 12.4.2通過指針訪問數據 12.4.3指針範圍 12.4.4初始化 12.4.5空指針 12.4.6自由空間釋放 12.5析構函數 12.5.1生成的析構函數 12.5.2析構函數和自由空間 12.素 12.7指向類對像的指針 12.8類型混用:void*和類犁轉換 12.9指針和引用 12.9.1指針參數和引用參數 12.9.2指針、引用和繼承 12.9.3實例:鏈表 12.9.4鏈表操作 12.9.5鏈表的使用 12.10this指針 12.10.1關於鏈表使用的更多討論 簡單練習 思考題 術語 習題 附言 第13章向量和數組 13.1簡介 13.2初始化 13.3拷貝 13.3.1拷貝構造函數 13.3.2拷貝賦值 13.3.3拷貝術語 13.3.4移動 13.4必要的操作 13.4.1顯式構造函數 13.4.2調試構造函數和析構函數 13.5訪問vec素 13.5.1對const向量重載運算符 13.6數組 13.6.1指素的指針 13.6.2指針和數組 13.6.3數組初始化 13.6.4指針問題 13.7實例:回文 13.7.1使用string實現回文 13.7.2使用數組實現回文 13.7.3使用指針實現回文 簡單練習 思考題 術語 習題 附言 第14章向量、模板和異常 14.1問題 14.2改變大小 14.2.1表示方式 14.2.2reserve和capaclty 14.2.3resize 14.2.4push_back 14.2.5賦值 14.2.6到目前為止的vector類 14.3模板 14.3.1類型作為模板參數 14.3.2泛型編程 14.3.3概念 14.3.4容器和繼承 14.3.5整數作為模板參數 14.3.6模板實參推斷 14.3.7泛化vector 14.4範圍檢查和異常 14.4.1旁白:設計上的考慮 14.4.2坦白:使用宏 14.5資源和異常 14.5.1潛在的資源管理問題 14.5.2資源獲取即初始化 14.5.3保證 14.5.4unique_ptr 14.5.5以移動方式返回結果 14.5.6vector類的RAⅡ 簡單練習 思考題 術語 習題 附言 附錄AC++語言概要 附錄BVisual Studio簡要入門教程 術語表 參考文獻 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) 著;任明明,王剛,李忠偉 譯 著 Bjarne Stroustrup,英國劍橋大學計算機科學博士,C++語言的設計者和初的實現者,也是《C++程序設計原理與實踐》和《C++語言的設計和演化》的作者。他現在是德州農工大學計算機科學首席教授,同時不審AT&T貝爾實驗室特別成員。1993年,由於在C++領域的重大貢獻,他獲得了ACM的Grace rray Hopper大獎並成為ACM院士;2008年,他又獲得了Dr.Dobbs雜志的程序設計傑出獎。在進入學術界之前,他在AT&T貝爾實驗室工作。他是ISO C++標準委員會的創始人之一。 A.1 一般內容 本附錄的目的是作為補充參考資料,而不是像其他章節一樣需要從頭到尾仔細閱讀。它(或多或少地)繫統描述了C++語言的重要特性。本附錄不是完整的參考文獻,而隻是概述。重點內容都是根據教學過程中學生提出的問題確定的。通常,你需要查看相關章節來獲得更為詳細完整的解釋。本附錄不追求與C++標準相同的準確性和術語,而是追求易於查閱。更詳細的信息可參考Stroustrup的《The C++ Programming Language》一書。ISO C++標準定義了C++語言,但其文檔並不是為了初學者所編寫的,並不適合入門閱讀學習。不要忘記使用在線文檔。如果你是在學習本書較早章節時查閱本附錄,要有心理準備,一些內容看起來很“神秘”,不必擔心,這些內容應該是在稍後章節中詳細介紹的。 前 言Programming: Principles and Practice Using C++, Second Edition該死的魚雷!全速前進。 ——Admiral Farragut程序設計是這樣一門藝術,它將問題求解方案描述成計算機可以執行的形式。程序設計中很多工作都花費在尋找求解方案以及對其求精上。通常,隻有在真正編寫程序求解一個問題的過程中纔會對問題本身理解透徹。 本書適合於那些從未有過編程經驗但願意努力學習程序設計技術的初學者,它能幫助讀者理解使用C++語言進行程序設計的基本原理並獲得實踐技巧。本書的目標是使你獲得足夠多的知識和經驗,以便能使用近期新、優選的技術進行簡單有用的編程工作。達到這一目標需要多長時間呢?作為大學一年級課程的一部分,你可以在一個學期內完成這本書的學習(假定你有另外四門中等難度的課程)。如果你是自學的話,不要期望能花費等 " |