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

2021-05-21 22:05 更新

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

邵發(fā) 著

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


點此購買


編輯推薦

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


內(nèi)容簡介

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


作者簡介

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


目錄

第1章開始學(xué)習(xí)C/C++
1.1開發(fā)平臺
1.2第一個程序
1.3代碼與程序
1.4C語言和C++語言
第2章控制臺輸入與輸出
2.1控制臺輸出
2.2控制臺輸入
2.3注釋
2.4空白
2.5常見問題
2.6綜合例題
第3章變量與常量
3.1變量
3.2整型變量
3.3浮點型變量
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常見問題
4.6數(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逗號表達(dá)式
6.7自增/自減操作符
6.8*位操作符
6.9類型的轉(zhuǎn)換與提升
6.10優(yōu)先級與結(jié)合順序
第7章語句
7.1什么叫語句
7.2if語句
7.3switch語句
7.4for語句
7.5while語句
7.6do…while語句
7.7綜合例題1
7.8綜合例題2
第8章函數(shù)
8.1引例
8.2初步認(rèn)識函數(shù)
8.3函數(shù)的定義
8.4函數(shù)的調(diào)用
8.5全局變量和局部變量
8.6變量的作用域與生命期
8.7變量名重名問題
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星號操作
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實例
第11章*聯(lián)合體
11.1概念
11.2進(jìn)一步理解union
11.3實例
11.4union的替代方案
第12章動態(tài)分配內(nèi)存
12.1引例
12.2動態(tài)分配內(nèi)存
12.3內(nèi)存管理器與堆
12.4對象的生命期
12.5實例1
12.6實例2
12.7常見問題
第13章鏈表
13.1概念
13.2鏈表的構(gòu)造
13.3有頭鏈表
第14章引用
14.1引用的定義
14.2與指針的區(qū)別
14.3簡單的例子
14.4作為函數(shù)的參數(shù)
14.5作為函數(shù)的返回值
14.6const引用
第15章字符串
15.1字符串的三種形式
15.2字符串常量的多行表示
15.3字符串與普通數(shù)據(jù)
15.4字符串的遍歷
15.5字符串長度
15.6字符串復(fù)制
15.7字符串比較
15.8字符串插入和刪除
15.9字符串的分割
15.10用數(shù)組還是用指針
第16章標(biāo)準(zhǔn)C函數(shù)庫
第17章文件操作
17.1認(rèn)識文件
17.2保存數(shù)據(jù)
17.3讀取數(shù)據(jù)
17.4數(shù)據(jù)的存儲格式
17.5存儲格式: 按字節(jié)存儲
17.6存儲格式: 文本化存儲
17.7文件的隨機(jī)訪問
17.8*文件打開模式
17.9*常見問題
第18章多文件項目及編譯過程
18.1extern
18.2多文件項目的生成
18.3頭文件#include指令
18.4宏定義#define指令
18.5條件編譯指令#if
18.6*main函數(shù)的參數(shù)和返回值
18.7*static的用法
第19章面向?qū)ο缶幊?
19.1面向?qū)ο笤O(shè)計的過程
19.2實例演示
19.3封裝
第20章類
20.1類和成員變量
20.2類和成員函數(shù)
20.3變量名字的覆蓋
20.4命名規(guī)范
20.5類的封裝
20.6類的分離式寫法
20.7*const對象與const函數(shù)
第21章構(gòu)造與析構(gòu)
21.1引例
21.2構(gòu)造函數(shù)
21.3析構(gòu)函數(shù)
21.4自動生成的構(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*無名對象
21.10*構(gòu)造函數(shù)與類型轉(zhuǎn)換
第22章動態(tài)創(chuàng)建對象
22.1回顧malloc/free
22.2用new/delete創(chuàng)建/銷毀對象
22.3new/delete與malloc/free的區(qū)別
22.4為new指定初始化參數(shù)
22.5默認(rèn)構(gòu)造函數(shù)的必要性
22.6注意事項
第23章繼承
23.1引例
23.2繼承的概念
23.3訪問修飾符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語法的特點
25.5應(yīng)用1: 實例計數(shù)
25.6應(yīng)用2: 單例模式
第26章朋友成員
26.1引例
26.2類的朋友
26.3friend的語法
26.4實例
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實例
第30章標(biāo)準(zhǔn)模板庫
30.1一般使用方法
30.2向量vector
30.3list
30.4string
30.5map
30.6stack
30.7queue
第31章異常
31.1一個例子
31.2try的用法
31.3catch的用法
31.4throw的用法
31.5常見問題
附錄A用VC2008創(chuàng)建項目
附錄B有符號整數(shù)與無符號整數(shù)
附錄C枚舉類型
附錄DVC2008調(diào)試方法
附錄EVS2008常見問題匯總
附錄F字面常量
附錄GASCII碼表
附錄H位字段
附錄Itypedef的用法
附錄J編碼規(guī)范
附錄KC++與C語言的區(qū)別
附錄L二進(jìn)制、十進(jìn)制與十六進(jìn)制


前言/序言

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


點此購買


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號