C/C++學(xué)習(xí)指南(語(yǔ)法篇)

2021-05-21 22:05 更新

C/C++學(xué)習(xí)指南(語(yǔ)法篇)

邵發(fā) 著

  • 出版社: 清華大學(xué)出版社
  • ISBN:9787302419891
  • 版次:1
  • 商品編碼:11858186
  • 品牌:清華大學(xué)
  • 包裝:平裝
  • 開(kāi)本:16開(kāi)
  • 出版時(shí)間:2015-12-01
  • 用紙:膠版紙


點(diǎn)此購(gòu)買


編輯推薦

  資深工程師編寫,講述核心的編程問(wèn)題,規(guī)避可能遇到的誤區(qū)!
  配套視頻(約100集)、在線題庫(kù)(含答案解析)和討論區(qū),提供充分的示例源碼!
  主次分明,前后有序,循序漸進(jìn),娓娓道來(lái);C/C++學(xué)習(xí)指南,讓編程變得簡(jiǎn)單!
  本書的特色是配套了視頻教程、在線題庫(kù)和討論區(qū)。實(shí)際上,紙質(zhì)教材只是整個(gè)教學(xué)體系的一部分。在本書編寫過(guò)程中,已經(jīng)吸收了上千位讀者的意見(jiàn)反饋,并總結(jié)了大多數(shù)讀者可能遇到的問(wèn)題,其具體特點(diǎn)在“前言”部分有詳細(xì)介紹。讀者只需要對(duì)照視頻,按順序?qū)W習(xí),多加模仿與練習(xí),必能取得良好的學(xué)習(xí)效果。


內(nèi)容簡(jiǎn)介

  這是一部C/C++語(yǔ)言的基礎(chǔ)語(yǔ)法教程,面向零基礎(chǔ)的初學(xué)者。C++是在C語(yǔ)言的基礎(chǔ)上做了部分修改和擴(kuò)展的程序設(shè)計(jì)語(yǔ)言。本書的前半部分(1~19章)主要是C語(yǔ)言部分,而后半部分(20~31章)則是C++對(duì)C語(yǔ)言的擴(kuò)展。本書從實(shí)際工程需要出發(fā),介紹一個(gè)C/C++從業(yè)人員所必須掌握的全部語(yǔ)法、核心概念和基本技能,消除了學(xué)習(xí)考試與實(shí)際工作之間的差距。書中不僅介紹函數(shù)、指針、結(jié)構(gòu)體、類等基本語(yǔ)法,也介紹了傳值與傳地址、字符串、深拷貝與淺拷貝、動(dòng)態(tài)創(chuàng)建對(duì)象、安全地使用指針、面向?qū)ο缶幊趟枷氲群诵母拍睢M瑫r(shí),書中還講解初級(jí)程序員所必須掌握的知識(shí)和技術(shù),如單步調(diào)試、編碼規(guī)范、ANSI函數(shù)庫(kù)、文件操作、標(biāo)準(zhǔn)模板庫(kù)STL的使用。本書配備免費(fèi)的全套視頻教程、在線題庫(kù)及解析,可結(jié)合紙質(zhì)教材同步使用,書中的近三百個(gè)示例的源碼,以及所有相關(guān)資料均可在http://afanihao.cn上獲取。


作者簡(jiǎn)介

  邵發(fā),畢業(yè)于清華大學(xué),從事軟件開(kāi)發(fā)工作十余年,擁有C/C++/Java/Linux/DVB/Android/J2EE/Audio&Video Codec等多個(gè)領(lǐng)域的技術(shù)和項(xiàng)目經(jīng)驗(yàn)。自2015年起致力于C/C++/Java領(lǐng)域的基礎(chǔ)教育,著有“我的編程課堂”系列圖書和“C/C++學(xué)習(xí)指南”、“Java學(xué)習(xí)指南”系列視頻教程,希望借此體系為國(guó)內(nèi)的編程愛(ài)好者提供全新、高效、有趣的學(xué)習(xí)體驗(yàn)。


目錄

第1章開(kāi)始學(xué)習(xí)C/C++
1.1開(kāi)發(fā)平臺(tái)
1.2第一個(gè)程序
1.3代碼與程序
1.4C語(yǔ)言和C++語(yǔ)言
第2章控制臺(tái)輸入與輸出
2.1控制臺(tái)輸出
2.2控制臺(tái)輸入
2.3注釋
2.4空白
2.5常見(jiàn)問(wèn)題
2.6綜合例題
第3章變量與常量
3.1變量
3.2整型變量
3.3浮點(diǎn)型變量
3.4數(shù)的進(jìn)制表示
3.5變量與內(nèi)存
3.6const常量
3.7*字面常量
3.8常用類型的范圍
第4章數(shù)組
4.1引例
4.2數(shù)組的定義
4.3數(shù)組的基本使用方法
4.4數(shù)組的內(nèi)存視圖
4.5常見(jiàn)問(wèn)題
4.6數(shù)組的使用實(shí)例
4.7多維數(shù)組
第5章字符與字符數(shù)組
5.1字符是什么
5.2字符的表示
5.3字符的顯示
5.4字符常量
5.5字符數(shù)組
5.6轉(zhuǎn)義字符
第6章表達(dá)式與操作符
6.1算術(shù)表達(dá)式
6.2賦值表達(dá)式
6.3關(guān)系表達(dá)式
6.4條件表達(dá)式
6.5邏輯表達(dá)式
6.6逗號(hào)表達(dá)式
6.7自增/自減操作符
6.8*位操作符
6.9類型的轉(zhuǎn)換與提升
6.10優(yōu)先級(jí)與結(jié)合順序
第7章語(yǔ)句
7.1什么叫語(yǔ)句
7.2if語(yǔ)句
7.3switch語(yǔ)句
7.4for語(yǔ)句
7.5while語(yǔ)句
7.6do…while語(yǔ)句
7.7綜合例題1
7.8綜合例題2
第8章函數(shù)
8.1引例
8.2初步認(rèn)識(shí)函數(shù)
8.3函數(shù)的定義
8.4函數(shù)的調(diào)用
8.5全局變量和局部變量
8.6變量的作用域與生命期
8.7變量名重名問(wèn)題
8.8函數(shù)聲明與函數(shù)定義
8.9main函數(shù)
8.10參數(shù)的隱式轉(zhuǎn)換
8.11*函數(shù)名重載
8.12*重載函數(shù)的匹配
8.13*參數(shù)的默認(rèn)值
8.14*內(nèi)聯(lián)函數(shù)
8.15*函數(shù)的遞歸調(diào)用
第9章指針
9.1內(nèi)存地址的表示
9.2指針的概念
9.3星號(hào)操作
9.4指針與數(shù)組
9.5指針作為函數(shù)的參數(shù)
9.6數(shù)組作為函數(shù)的參數(shù)
9.7指針作為函數(shù)的返回值
9.8const指針
9.9void*型指針
9.10安全地使用指針
9.11*二重指針
9.12*二維數(shù)組與指針
第10章結(jié)構(gòu)體
10.1引例
10.2結(jié)構(gòu)體概述
10.3結(jié)構(gòu)體的基本用法
10.4結(jié)構(gòu)體的內(nèi)存視圖
10.5結(jié)構(gòu)體的更多用法
10.6*結(jié)構(gòu)體的特殊寫法
10.7結(jié)構(gòu)體的命名
10.8傳值與傳地址
10.9*位字段bitfield
10.10實(shí)例
第11章*聯(lián)合體
11.1概念
11.2進(jìn)一步理解union
11.3實(shí)例
11.4union的替代方案
第12章動(dòng)態(tài)分配內(nèi)存
12.1引例
12.2動(dòng)態(tài)分配內(nèi)存
12.3內(nèi)存管理器與堆
12.4對(duì)象的生命期
12.5實(shí)例1
12.6實(shí)例2
12.7常見(jiàn)問(wèn)題
第13章鏈表
13.1概念
13.2鏈表的構(gòu)造
13.3有頭鏈表
第14章引用
14.1引用的定義
14.2與指針的區(qū)別
14.3簡(jiǎn)單的例子
14.4作為函數(shù)的參數(shù)
14.5作為函數(shù)的返回值
14.6const引用
第15章字符串
15.1字符串的三種形式
15.2字符串常量的多行表示
15.3字符串與普通數(shù)據(jù)
15.4字符串的遍歷
15.5字符串長(zhǎng)度
15.6字符串復(fù)制
15.7字符串比較
15.8字符串插入和刪除
15.9字符串的分割
15.10用數(shù)組還是用指針
第16章標(biāo)準(zhǔn)C函數(shù)庫(kù)
第17章文件操作
17.1認(rèn)識(shí)文件
17.2保存數(shù)據(jù)
17.3讀取數(shù)據(jù)
17.4數(shù)據(jù)的存儲(chǔ)格式
17.5存儲(chǔ)格式: 按字節(jié)存儲(chǔ)
17.6存儲(chǔ)格式: 文本化存儲(chǔ)
17.7文件的隨機(jī)訪問(wèn)
17.8*文件打開(kāi)模式
17.9*常見(jiàn)問(wèn)題
第18章多文件項(xiàng)目及編譯過(guò)程
18.1extern
18.2多文件項(xiàng)目的生成
18.3頭文件#include指令
18.4宏定義#define指令
18.5條件編譯指令#if
18.6*main函數(shù)的參數(shù)和返回值
18.7*static的用法
第19章面向?qū)ο缶幊?
19.1面向?qū)ο笤O(shè)計(jì)的過(guò)程
19.2實(shí)例演示
19.3封裝
第20章類
20.1類和成員變量
20.2類和成員函數(shù)
20.3變量名字的覆蓋
20.4命名規(guī)范
20.5類的封裝
20.6類的分離式寫法
20.7*const對(duì)象與const函數(shù)
第21章構(gòu)造與析構(gòu)
21.1引例
21.2構(gòu)造函數(shù)
21.3析構(gòu)函數(shù)
21.4自動(dòng)生成的構(gòu)造/析構(gòu)函數(shù)
21.5默認(rèn)構(gòu)造函數(shù)
21.6構(gòu)造函數(shù)的初始化列表
21.7構(gòu)造與析構(gòu)的順序
21.8分離式寫法
21.9*無(wú)名對(duì)象
21.10*構(gòu)造函數(shù)與類型轉(zhuǎn)換
第22章動(dòng)態(tài)創(chuàng)建對(duì)象
22.1回顧malloc/free
22.2用new/delete創(chuàng)建/銷毀對(duì)象
22.3new/delete與malloc/free的區(qū)別
22.4為new指定初始化參數(shù)
22.5默認(rèn)構(gòu)造函數(shù)的必要性
22.6注意事項(xiàng)
第23章繼承
23.1引例
23.2繼承的概念
23.3訪問(wèn)修飾符protected
23.4成員函數(shù)的重寫
23.5虛擬繼承
23.6繼承關(guān)系下的構(gòu)造與析構(gòu)
23.7*多重繼承
23.8*繼承函數(shù)與純虛類
23.9*以protected/private方式繼承
第24章拷貝構(gòu)造函數(shù)
24.1定義
24.2拷貝構(gòu)造函數(shù)的調(diào)用
24.3默認(rèn)的拷貝構(gòu)造函數(shù)
24.4定義拷貝構(gòu)造函數(shù)
24.5深度拷貝
第25章靜態(tài)成員
25.1static定義全局變量
25.2static定義全局函數(shù)
25.3與普通成員的區(qū)別
25.4static語(yǔ)法的特點(diǎn)
25.5應(yīng)用1: 實(shí)例計(jì)數(shù)
25.6應(yīng)用2: 單例模式
第26章朋友成員
26.1引例
26.2類的朋友
26.3friend的語(yǔ)法
26.4實(shí)例
26.5進(jìn)一步討論
第27章重載操作符
27.1引例
27.2算術(shù)操作符
27.3賦值操作符=
27.4自增操作符++與自減操作符--
27.5關(guān)系操作符
27.6邏輯操作符
27.7類型轉(zhuǎn)換操作符()
27.8元素操作符[]
27.9輸入輸出操作符>>與<<
27.10操作符new與delete
27.11小結(jié)
第28章內(nèi)部類和名字空間
28.1內(nèi)部類
28.2名字空間
第29章模板
29.1函數(shù)模板
29.2類模板
29.3模板參數(shù)
29.4實(shí)例
第30章標(biāo)準(zhǔn)模板庫(kù)
30.1一般使用方法
30.2向量vector
30.3list
30.4string
30.5map
30.6stack
30.7queue
第31章異常
31.1一個(gè)例子
31.2try的用法
31.3catch的用法
31.4throw的用法
31.5常見(jiàn)問(wèn)題
附錄A用VC2008創(chuàng)建項(xiàng)目
附錄B有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)
附錄C枚舉類型
附錄DVC2008調(diào)試方法
附錄EVS2008常見(jiàn)問(wèn)題匯總
附錄F字面常量
附錄GASCII碼表
附錄H位字段
附錄Itypedef的用法
附錄J編碼規(guī)范
附錄KC++與C語(yǔ)言的區(qū)別
附錄L二進(jìn)制、十進(jìn)制與十六進(jìn)制


前言/序言

  作為一個(gè)有十余年軟件開(kāi)發(fā)背景的從業(yè)人員,作者在招聘面試中發(fā)現(xiàn),現(xiàn)在的絕大多數(shù)應(yīng)聘者往往缺少基本的語(yǔ)法基礎(chǔ)和實(shí)際的動(dòng)手能力,更不用說(shuō)對(duì)核心概念的理解了。這似乎表明現(xiàn)有的教材或教育方法,與實(shí)際的工作要求之間存在著比較嚴(yán)重的脫節(jié)。
  因此,作者希望創(chuàng)建一套全新的、完整的、綜合性的教學(xué)體系,讓學(xué)員能夠打下牢固的語(yǔ)法基礎(chǔ),建立對(duì)核心概念的正確認(rèn)識(shí),并掌握基本的動(dòng)手能力。這套體系包含紙質(zhì)教程、視頻教程、在線題庫(kù)、進(jìn)階教程4大要素。
  本書是目標(biāo)體系的一個(gè)組成部分,它也可以獨(dú)立地使用。就這部紙質(zhì)教材的特點(diǎn)來(lái)說(shuō),有以下幾點(diǎn)。
  1. 主次分明
  C/C++的語(yǔ)法繁多,有些語(yǔ)法是過(guò)時(shí)的,有些語(yǔ)法很難但工作中并不常用。為了避免給初學(xué)者帶來(lái)不必要的干擾,書中對(duì)非重點(diǎn)的章節(jié)采用星號(hào)標(biāo)注,并顯式地說(shuō)明這個(gè)章節(jié)是不重要的、或者是過(guò)時(shí)的、或者是第一遍學(xué)習(xí)的時(shí)候可以跳過(guò)的。
  2. 引例
  在開(kāi)始講解每一章之前,通常會(huì)有一個(gè)引例,其作用是引起讀者對(duì)某個(gè)背景問(wèn)題的思考。引例描述了一個(gè)語(yǔ)法產(chǎn)生的背景,使讀者自然而然地理解本章引入的新概念。
  3. 鋪墊與銜接
  本書各章節(jié)前后邏輯相承,一環(huán)連接一環(huán)。讀者只要按順序?qū)W習(xí),就可以很容易地從最簡(jiǎn)單的概念過(guò)渡到復(fù)雜的概念。最終的效果是,讀者會(huì)感覺(jué)整個(gè)學(xué)習(xí)過(guò)程中沒(méi)有太難的東西。值得強(qiáng)調(diào)的是,如果讀者不按順序?qū)W習(xí),則學(xué)習(xí)難度會(huì)加倍。例如,如果讀者不學(xué)習(xí)第3、4、5章,則難以讀懂第8、9、10章。反之,如果按順序?qū)W習(xí)則可以不知不覺(jué)地通過(guò)。
  本書在編排上注重銜接。例如,第19章起承上啟下的作用,使讀者可以很容易地從C語(yǔ)言的struct過(guò)渡到C++的class。
  4. 動(dòng)手能力
  第16、17章中介紹了標(biāo)準(zhǔn)C函數(shù)庫(kù)的使用,第30章介紹了標(biāo)準(zhǔn)模板庫(kù)的使用,它們都是實(shí)際工作中所必須掌握、常用而且重要的知識(shí)。
  同時(shí),在正文及附錄中加強(qiáng)對(duì)讀者動(dòng)手能力的培訓(xùn),強(qiáng)調(diào)良好的編碼規(guī)范,強(qiáng)調(diào)自己動(dòng)手建立項(xiàng)目,并掌握調(diào)試技術(shù)。
  5. 核心概念
  C/C++中的核心概念包括“傳值與傳地址”“字符串”“深拷貝與淺拷貝”“動(dòng)態(tài)創(chuàng)建對(duì)象”“安全地使用指針”“面向?qū)ο缶幊趟枷搿钡?。?shí)際上,如果不深刻理解這些核心概念,就無(wú)法寫出正確的程序。所以,本書在合適的位置講解了這些概念,使得讀者不必再搜尋別的輔導(dǎo)教材,就可以在學(xué)習(xí)基本語(yǔ)法的同時(shí)掌握這些核心概念。
  6. 示例豐富
  本書中給出了近三百個(gè)示例,為了保證示例的正確性,每個(gè)示例都經(jīng)過(guò)作者驗(yàn)證,并且可以在網(wǎng)站(http://afanihao.cn,可掃描二維碼)上獲取完整的示例源碼。
  7. 豐富的配套資源
  1) 在線題庫(kù)
  使用在線題庫(kù)的方式提供習(xí)題,習(xí)題按四星級(jí)標(biāo)注,一星為基本練習(xí),三星最難,四星為工業(yè)級(jí)應(yīng)用題。每題配備提示、答案或解析,使得讀者可以檢驗(yàn)自己的思路是否合理。
  2) 配套視頻
  配套100集免費(fèi)視頻教程,令學(xué)習(xí)更加高效和輕松。
  3) 源代碼下載
  近三百個(gè)示例源代碼免費(fèi)共享,輕松編寫程序。
  4) 進(jìn)階學(xué)習(xí)
  讀者在學(xué)習(xí)完本書的基本語(yǔ)法之后,可以選擇繼續(xù)學(xué)習(xí)進(jìn)階類教程,使自己具備一個(gè)軟件開(kāi)發(fā)從業(yè)人員的各項(xiàng)基本素質(zhì)。
  5) 答疑與討論區(qū)
  以在線的形式提供答疑與討論區(qū),具體信息請(qǐng)?jiān)趆ttp://afanihao.cn上獲取。
  感謝我的父母、姐姐、哥哥,我的愛(ài)人和孩子,感謝他們對(duì)我的全力支持。
  感謝邵動(dòng)、邵字紅、石廣文、李新華、李特梅、姜滿如、沈鋒平、周建東、鄭宇、楊波參與了部分編寫工作。
  感謝我的老師,張明鳳、王善良、周國(guó)林、辛燕君、王守玉、申文甲、王羽、王殿兵、郭全、晉宗華、胡振仙、鄒明光、顧秉林、朱小梅、李淑琴、張仰森等在我成長(zhǎng)之路上對(duì)我的栽培。
  感謝我的朋友,艾本仁、白建峰、陳剛、陳希、丁將、符汪洋、顧元?jiǎng)P、葛國(guó)鋒、關(guān)正偉、劉星、劉慶生、羅曉宇、裴勇、裴郊區(qū)、王浩、邵安馨、石天澤、王靜競(jìng)、楊浩杰、楊猛、楊禹等給我的幫助。
  感謝網(wǎng)友,涂兆昊(神奇的人魚)、李若滕、伊文斯、張松華(non)、李顯發(fā)(李小明)、李睿意(lry)、王浩然(連心線)、李顯(江南暮春)、盧阿旺(authur)、黃文海(ggev)、神奇海螺、黑夜的憂傷、李澤銘(角逐新夢(mèng)想)、蔡萬(wàn)成(by)、張強(qiáng)(玄白)、吳霄(stra)、崔祥祥、鄧志光等在本教程開(kāi)發(fā)過(guò)程中所起的作用。
  邵發(fā)
  2015年8月于北七家


點(diǎn)此購(gòu)買


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)