[美] 史蒂芬·普拉達(dá)(Stephen Prata) 著,姜佑,張海龍,袁國忠 譯
《C Primer Plus(第6版)中文版》:
經(jīng)久不衰的C語言暢銷經(jīng)典教程,針對C11標(biāo)準(zhǔn)進(jìn)行全面更新。
《C Primer Plus(第6版)中文版》詳細(xì)講解了C語言的基本概念和編程技巧。
《C Primer Plus(第6版)中文版》共17章。第1章、第2章介紹了C語言編程的預(yù)備知識(shí)。第3章~第15章詳細(xì)講解了C語言的相關(guān)知識(shí),包括數(shù)據(jù)類型、格式化輸入/輸出、運(yùn)算符、表達(dá)式、語句、循環(huán)、字符輸入和輸出、函數(shù)、數(shù)組和指針、字符和字符串函數(shù)、內(nèi)存管理、文件輸入和輸出、結(jié)構(gòu)、位操作等。第16章、第17章介紹C預(yù)處理器、C庫和高級數(shù)據(jù)表示。
《C Primer Plus(第6版)中文版》以豐富多樣的程序?yàn)槔?,講解C語言的知識(shí)要點(diǎn)和注意事項(xiàng)。每章末尾設(shè)計(jì)了大量復(fù)習(xí)題和編程練習(xí),幫助讀者鞏固所學(xué)知識(shí)和提高實(shí)際編程能力。附錄給出了各章復(fù)習(xí)題的參考答案和豐富的參考資料。
《C Primer Plus(第6版)中文版》可作為C語言的教材,適用于需要系統(tǒng)學(xué)習(xí)C語言的初學(xué)者,也適用于想要鞏固C語言知識(shí)或希望進(jìn)一步提高編程技術(shù)的程序員。
《C++Primer Plus(第6版)中文版》:
C++是在C語言基礎(chǔ)上開發(fā)的一種集面向?qū)ο缶幊?、泛型編程和過程化編程于一體的編程語言,是C語言的超集。
《C++Primer Plus(第6版)中文版》是根據(jù)2003年的ISO ANSIC++標(biāo)準(zhǔn)編寫的,通過大量短小精悍的程序詳細(xì)而全面地闡述了C++的基本概念和技術(shù),并專辟一章介紹了C++11新增的功能。
《C++Primer Plus(第6版)中文版》分18章,分別介紹了C++程序的運(yùn)行方式、基本數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型、循環(huán)和關(guān)系表達(dá)式、分支語句和邏輯運(yùn)算符、函數(shù)重載和函數(shù)模板、內(nèi)存模型和名稱空間、類的設(shè)計(jì)和使用、多態(tài)、虛函數(shù)、動(dòng)態(tài)內(nèi)存分配、繼承、代碼重用、友元、異常處理技術(shù)、string類和標(biāo)準(zhǔn)模板庫、輸入/輸出、C++11新增功能等內(nèi)容。
《C++Primer Plus(第6版)中文版》針對C++初學(xué)者,從C語言基礎(chǔ)知識(shí)開始介紹,然后在此基礎(chǔ)上詳細(xì)闡述C++新增的特性,因此不要求讀者有C語言方面的背景知識(shí)。
《C++Primer Plus<第6版>中文版》可作為高等院校教授C++課程的教材,也可供初學(xué)者自學(xué)C++時(shí)使用。
史蒂芬·普拉達(dá)(Stephen Prata),在美國加州肯特菲爾得的馬林學(xué)院教授天文、物理和計(jì)算機(jī)科學(xué)。他畢業(yè)于加州理工學(xué)院,在美國加州大學(xué)伯克利分校獲得博士學(xué)位。他單獨(dú)編寫以及與他人合作編寫的編程圖書有十多本,其中包括C++Primer Plus和C Primer Plus,而且后者獲得了計(jì)算機(jī)出版協(xié)會(huì)1990年度How-to計(jì)算機(jī)圖書獎(jiǎng)。
★C++很有用,但也很難學(xué)。學(xué)C++之難,一是學(xué)習(xí)曲線陡峭,二是容易誤入歧途。C++11標(biāo)準(zhǔn)頒布之后,這個(gè)問題就更嚴(yán)重。C++ Primer Plus是在市場的多年檢驗(yàn)中脫穎而出的一本名著,它的價(jià)值,正在于降低陡峭的學(xué)習(xí)曲線,并且確保讀者學(xué)到“正確”的C++。
——孟巖
★如果說C++ Primer是C++語言的一本百科全書,講述了C++語言里面“有什么”;那么C++Primer Plus就是這門語言的一本通識(shí)課本,它實(shí)實(shí)在在地教給程序員如何理解和使用這種內(nèi)容豐富、威力強(qiáng)大的語言。本書的特點(diǎn)就是務(wù)實(shí),通過類比、舉例和習(xí)慣多維度的方式,為程序員打下堅(jiān)實(shí)的、使用C++進(jìn)行日常工作的基礎(chǔ)。
——高博
★如果你從未接觸過C語言,我猜有80%的C++程序員會(huì)推薦C++ Primer這本書(而不是C++ Primer Plus),但實(shí)際上這兩本書是有所不同的,別看僅僅就多了這么個(gè)Plus。C++ Primer Plus可以說是一本面向從未學(xué)習(xí)過C語言甚至是從未學(xué)習(xí)過編程的人的入門書籍。
——豆瓣讀者“夢中驚醒”
★這本書對于入門學(xué)者來說真的很好,講的很細(xì)致,很透徹,非常人性化!對于初次接觸面向?qū)ο缶幊痰娜藖碇v,真的很棒!書上的例子和課后題目也很有代表性!強(qiáng)烈建議閱讀!
——豆瓣讀者“慧質(zhì)嵐心”
《C Primer Plus(第6版)中文版》:
第1章 初識(shí)C語言
1.1 C語言的起源
1.2 選擇C語言的理由
1.2.1 設(shè)計(jì)特性
1.2.2 高效性
1.2.3 可移植性
1.2.4 強(qiáng)大而靈活
1.2.5 面向程序員
1.2.6 缺點(diǎn)
1.3 C語言的應(yīng)用范圍
1.4 計(jì)算機(jī)能做什么
I.5 高級計(jì)算機(jī)語言和編譯器
1.6 語言標(biāo)準(zhǔn)
1.6.1 第1個(gè)ANSI/ISO C標(biāo)準(zhǔn)
1.6.2 C99標(biāo)準(zhǔn)
1.6.3 C11標(biāo)準(zhǔn)
1.7 使用C語言的7個(gè)步驟
1.7.1 第1步:定義程序的目標(biāo)
1.7.2 第2步:設(shè)計(jì)程序
1.7.3 第3步:編寫代碼
1.7.4 第4步:編譯
1.7.5 第5步:運(yùn)行程序
1.7.6 第6步:測試和調(diào)試程序
1.7.7 第7步:維護(hù)和修改代碼
1.7.8 說明
1.8 編程機(jī)制
1.8.1 目標(biāo)代碼文件、可執(zhí)行文件和庫
1.8.2 UNIX系統(tǒng)
1.8.3 GNU編譯器集合和LLVM項(xiàng)目
1.8.4 Linux系統(tǒng)
1.8.5 PC的命令行編譯器
1.8.6 集成開發(fā)環(huán)境(Windows)
1.8.7 Windows/Linux
1.8.8 Macintosh中的C
1.9 本書的組織結(jié)構(gòu)
1.10 本書的約定
1.10.1 字體
1.10.2 程序輸出
1.10.3 特殊元素
1.11 本章小結(jié)
1.12 復(fù)習(xí)題
1.13 編程練習(xí)
第2章 C語言概述
2.1 簡單的C程序示例
2.2 示例解釋
2.2.1 第1遍:快速概要
2.2.2 第2遍:程序細(xì)節(jié)
2.3 簡單程序的結(jié)構(gòu)
2.4 提高程序可讀性的技巧
2.5 進(jìn)一步使用C
2.5.1 程序說明
2.5.2 多條聲明
2.5.3 乘法
2.5.4 打印多個(gè)值
2.6 多個(gè)函數(shù)
2.7 調(diào)試程序
2.7.1 語法錯(cuò)誤
2.7.2 語義錯(cuò)誤
2.7.3 程序狀態(tài)
2.8 關(guān)鍵字和保留標(biāo)識(shí)符
2.9 關(guān)鍵概念
2.10 本章小結(jié)
2.11 復(fù)習(xí)題
2.12 編程練習(xí)
第3章 數(shù)據(jù)和C
3.1 示例程序
3.1.1 程序中的新元素
3.2 變量與常量數(shù)據(jù)
3.3 數(shù)據(jù):數(shù)據(jù)類型關(guān)鍵字
3.3.1 整數(shù)和浮點(diǎn)數(shù)
3.3.2 整數(shù)
3.3.3 浮點(diǎn)數(shù)
3.4 C語言基本數(shù)據(jù)類型
3.4.1 int類型
3.4.2 其他整數(shù)類型
3.4.3 使用字符:char類型
3.4.4 Bool類型
3.4.5 可移植類型:stdint.h和inttypes.h
3.4.6 float、double和long double
3.4.7 復(fù)數(shù)和虛數(shù)類型
3.4.8 其他類型
3.4.9 類型大小
3.5 使用數(shù)據(jù)類型
3.6 參數(shù)和陷阱
3.7 轉(zhuǎn)義序列示例
3.7.1 程序運(yùn)行情況
3.7.2 刷新輸出
3.8 關(guān)鍵概念
3.9 本章小結(jié)
3.10 復(fù)習(xí)題
3.11 編程練習(xí)
……
第4章 字符串和格式化輸入/輸出
第5章 運(yùn)算符、表達(dá)式和語句
第6章 C控制語句:循環(huán)
第7章 C控制語句:分支和跳轉(zhuǎn)
第8章 字符輸入/輸出和輸入驗(yàn)證
第9章 函數(shù)
第10章 數(shù)組和指針
第11章 字符串和字符串函數(shù)
第12章 存儲(chǔ)類別、鏈接和內(nèi)存管理
第13章 文件輸入/輸出
第14章 結(jié)構(gòu)和其他數(shù)據(jù)形式
第15章 位操作
第16章 C預(yù)處理器和C庫
第17章 高級數(shù)據(jù)表示
《C++Primer Plus(第6版)中文版》:
第1章 預(yù)備知識(shí)
1.1 C++簡介
1.2 C++簡史
1.2.1 C語言
1.2.2 C語言編程原理
1.2.3 面向?qū)ο缶幊?br>1.2.4 C++和泛型編程
1.2.5 C++的起源
1.3 可移植性和標(biāo)準(zhǔn)
1.3.1 C++的發(fā)展
1.3.2 本書遵循的C++標(biāo)準(zhǔn)
1.4 程序創(chuàng)建的技巧
1.4.1 創(chuàng)建源代碼文件
1.4.2 編譯和鏈接
1.5 總結(jié)
第2章 開始學(xué)習(xí)C++
2.1 進(jìn)入C++
2.1.1 main( )函數(shù)
2.1.2 C++注釋
2.1.3 C++預(yù)處理器和iostream文件
2.1.4 頭文件名
2.1.5 名稱空間
2.1.6 使用cout進(jìn)行C++輸出
2.1.7 C++源代碼的格式化
2.2 C++語句
2.2.1 聲明語句和變量
2.2.2 賦值語句
2.2.3 cout的新花樣
2.3 其他C++語句
2.3.1 使用cin
2.3.2 使用cout進(jìn)行拼接
2.3.3 類簡介
2.4 函數(shù)
2.4.1 使用有返回值的函數(shù)
2.4.2 函數(shù)變體
2.4.3 用戶定義的函數(shù)
2.4.4 用戶定義的有返回值的函數(shù)
2.4.5 在多函數(shù)程序中使用using編譯指令
2.5 總結(jié)
2.6 復(fù)習(xí)題
2.7 編程練習(xí)
第3章 處理數(shù)據(jù)
3.1 簡單變量
3.1.1 變量名
3.1.2 整型
3.1.3 整型short、int、long和long long
3.1.4 無符號類型
3.1.5 選擇整型類型
3.1.6 整型字面值
3.1.7 C++如何確定常量的類型
3.1.8 char類型:字符和小整數(shù)
3.1.9 bool類型
3.2 const限定符
3.3 浮點(diǎn)數(shù)
3.3.1 書寫浮點(diǎn)數(shù)
3.3.2 浮點(diǎn)類型
3.3.3 浮點(diǎn)常量
3.3.4 浮點(diǎn)數(shù)的優(yōu)缺點(diǎn)
3.4 C++算術(shù)運(yùn)算符
3.4.1 運(yùn)算符優(yōu)先級和結(jié)合性
3.4.2 除法分支
3.4.3 求模運(yùn)算符
3.4.4 類型轉(zhuǎn)換
3.4.5 C++11中的auto聲明
3.5 總結(jié)
3.6 復(fù)習(xí)題
3.7 編程練習(xí)
第4章 復(fù)合類型
4.1 數(shù)組
4.1.1 程序說明
4.1.2 數(shù)組的初始化規(guī)則
4.1.3 C++11數(shù)組初始化方法
4.2 字符串
4.2.1 拼接字符串常量
4.2.2 在數(shù)組中使用字符串
4.2.3 字符串輸入
4.2.4 每次讀取一行字符串輸入
4.2.5 混合輸入字符串和數(shù)字
4.3 string類簡介
4.3.1 C++11字符串初始化
4.3.2 賦值、拼接和附加
4.3.3 string類的其他操作
4.3.4 string類I/O
4.3.5 其他形式的字符串字面值
4.4 結(jié)構(gòu)簡介
4.4.1 在程序中使用結(jié)構(gòu)
4.4.2 C++11結(jié)構(gòu)初始化
4.4.3 結(jié)構(gòu)可以將string類作為成員嗎
4.4.4 其他結(jié)構(gòu)屬性
4.4.5 結(jié)構(gòu)數(shù)組
4.4.6 結(jié)構(gòu)中的位字段
4.5 共用體
4.6 枚舉
4.6.1 設(shè)置枚舉量的值
4.6.2 枚舉的取值范圍
4.7 指針和自由存儲(chǔ)空間
4.7.1 聲明和初始化指針
4.7.2 指針的危險(xiǎn)
4.7.3 指針和數(shù)字
4.7.4 使用new來分配內(nèi)存
4.7.5 使用delete釋放內(nèi)存
4.7.6 使用new來創(chuàng)建動(dòng)態(tài)數(shù)組
4.8 指針、數(shù)組和指針?biāo)阈g(shù)
4.8.1 程序說明
4.8.2 指針小結(jié)
4.8.3 指針和字符串
4.8.4 使用new創(chuàng)建動(dòng)態(tài)結(jié)構(gòu)
4.8.5 自動(dòng)存儲(chǔ)、靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ)
4.9 類型組合
4.10 數(shù)組的替代品
4.10.1 模板類vector
4.10.2 模板類array(C++11)
4.10.3 比較數(shù)組、vector對象和array對象
4.11 總結(jié)
4.12 復(fù)習(xí)題
4.13 編程練習(xí)
……
第5章 循環(huán)和關(guān)系表達(dá)式
第6章 分支語句和邏輯運(yùn)算符
第7章 函數(shù)——C++的編程模塊
第8章 函數(shù)探幽
第9章 內(nèi)存模型和名稱空間
第10章 對象和類
第11章 使用類
第12章 類和動(dòng)態(tài)內(nèi)存分配
第13章 類繼承
第14章 C++中的代碼重用
第15章 友元、異常和其他
第16章 string類和標(biāo)準(zhǔn)模板庫
第17章 輸入、輸出和文件
第18章 探討C++新標(biāo)準(zhǔn)
1984年C Primer Plus第1版剛問世時(shí),使用C語言編程的人并不多。C語言從那時(shí)開始流行,許多人在本書的幫助下掌握了C語言。實(shí)際上,截至本書出版時(shí),C Primer Plus的各個(gè)版本累計(jì)銷售量已超過55萬冊。
C語言從早期的非正式的K&R標(biāo)準(zhǔn),發(fā)展到1990 ISO/ANSI標(biāo)準(zhǔn),進(jìn)而發(fā)展到2011 ISO/IEC標(biāo)準(zhǔn)。本書也逐漸成熟,發(fā)展到現(xiàn)在的第6版。在所有這些版本中,我的目標(biāo)是致力于編寫一本指導(dǎo)性強(qiáng)、條理清晰而且有用的C語言教程。
本書的用法和目標(biāo)
我希望撰寫一本友好、方便使用、便于自學(xué)的指南。為此,本書采用以下寫作策略。
在介紹C語言細(xì)節(jié)的同時(shí),講解編程概念。本書假定讀者為非專業(yè)的程序員。
每次盡量用短小簡單的示例演示一兩個(gè)概念,學(xué)以致用是最有效的學(xué)習(xí)方式之一。
當(dāng)概念用文字較難解釋時(shí),則用圖表演示以幫助讀者理解。
C語言的主要特性總結(jié)在方框中,便于查找和復(fù)習(xí)。
每章末尾設(shè)有復(fù)習(xí)題和編程練習(xí),幫助讀者測試和加深對C語言的理解。
為了獲得理想的學(xué)習(xí)效果,學(xué)習(xí)本書時(shí),讀者應(yīng)盡量扮演一個(gè)積極的角色,不僅要仔細(xì)閱讀程序示例,還要親自動(dòng)手錄入程序并運(yùn)行。C是一種可移植性很強(qiáng)的語言,但有時(shí)在你的系統(tǒng)中運(yùn)行的結(jié)果和在我們的系統(tǒng)中運(yùn)行的結(jié)果不同。經(jīng)常改動(dòng)程序的某些部分,運(yùn)行后看看有什么效果。偶爾出現(xiàn)警告也不必理會(huì),主要是看一下執(zhí)行錯(cuò)誤操作會(huì)出現(xiàn)什么狀況。在學(xué)習(xí)的過程中應(yīng)該多提出問題和多練習(xí)。用得越多,學(xué)的知識(shí)就越牢固。
希望本書能幫助讀者輕松愉快地學(xué)習(xí)C語言。
說明
本書以電子版的形式提供了附錄A和附錄B(可在異步社區(qū)的本書頁面下載)。其中附錄A是本書復(fù)習(xí)題答案,附錄B是一些參考資料。
更多建議: