前言xxvii
1 準(zhǔn)備好了 ? 1
? ?C的來源疹鳄? ? 1
? ?為什么要使用C灼舍? ? 2
? ? ? 設(shè)計(jì)特性 ? 2
? ? ? 效率 ? 3
? ? ? 便攜性 ? 3
? ? ? 強(qiáng)大和靈活性 ? 3
? ? ? 面向程序員 ? 3
? ? ? 缺點(diǎn) ? 4
? ?C往哪里去伺通? ? 4
? ?計(jì)算機(jī)做了什么 ? 5
? ?高級(jí)語言和編譯器 ? 6
? ?語言標(biāo)準(zhǔn) ? 7
? ? ? 第一個(gè)ANSI/ISO標(biāo)準(zhǔn) ? 8
? ? ? C99標(biāo)準(zhǔn) ? 8
? ? ? C11標(biāo)準(zhǔn) ? 9
? ?使用C:7個(gè)步驟 ? 9
? ? ? 第一步:定義程序的目的 ? 10
? ? ? 第二步:設(shè)計(jì)程序 ? 10
? ? ? 第三步:寫代碼 ? 11
? ? ? 第四步:編譯 ? 11
? ? ? 第五步:運(yùn)行程序 ? 12
? ? ? 第六步:測(cè)試和debug程序 ? 12
? ? ? 第七步:維護(hù)和修改程序 ? 13
? ? ? 注釋 ? 13
? ?程序構(gòu)成 ? 13
? ? ? 目標(biāo)代碼文件雏赦,可執(zhí)行文件和庫 ? 14
? ? ? Unix系統(tǒng) ? 16
? ? ? GNU編譯器集合和LLVM項(xiàng)目 ? 18
? ? ? Linux系統(tǒng) ? 18
? ? ? PC上的命令行編譯器 ? 19
? ? ? 集成開發(fā)環(huán)境(Windows) ? 19
? ? ? Windows/Linux選項(xiàng) ? 21
? ? ? C在Macintosh上 ? 21
? ?這本書是怎樣組織的 ? 22
? ?使用這本書的約定 ? 22
? ? ? 字體 ? 22
? ? ? 程序輸出 ? 23
? ? ? 特殊元素 ? 24
? ?總結(jié) ? 25
? ?回顧問題 ? 25
? ?編程練習(xí) ? 25
2 介紹C ? 27
? ?C的一個(gè)簡(jiǎn)單例子 ? 27
? ?例子解釋 ? 28
? ? ? 途徑1快速概要 ? 30
? ? ? 途徑2程序細(xì)節(jié) ? 31
? ?一個(gè)簡(jiǎn)單程序的結(jié)構(gòu) ? 40
? ?使你的程序更有可讀性的貼士 ? 41
? ?使用C的其他步驟 ? 42
? ? ? 文件 ? 43
? ? ? 乘法 ? 43
? ?打印多種值 ? 43
? ?當(dāng)你在這里——多重函數(shù) ? 44
? ?介紹調(diào)試 ? 46
? ? ? 語法錯(cuò)誤 ? 46
? ? ? 語義錯(cuò)誤 ? 47
? ? ? 程序狀態(tài) ? 49
? ?關(guān)鍵字和保留標(biāo)識(shí)符 ? 49
? ?關(guān)鍵概念 ? 50
? ?總結(jié) ? 51
? ?回顧問題 ? 51
? ?程序練習(xí) ? 53
3 數(shù)據(jù)與C ? 55
? ?一個(gè)簡(jiǎn)單的例子 ? 55
? ? ? 在這個(gè)程序里什么是新出現(xiàn)的抬闯? ? 57
? ?數(shù)據(jù)變量和常量 ? 59
? ?數(shù)據(jù):數(shù)據(jù)類型關(guān)鍵字 ? 59
? ? ? 整型vs浮點(diǎn)型 ? 60
? ? ? 整數(shù) ? 61
? ? ? 浮點(diǎn)數(shù) ? 61
? ?基本的C數(shù)據(jù)類型 ? 62
? ? ? int型 ? 62
? ? ? 其他整數(shù)類型 ? 66
? ? ? 使用字符——char型 ? 71
? ? ? _bool型 ? 77
? ? ? 便攜式的類型——stdint.h和inttypes.h ? 77
? ? ? float浑塞,double和long double型 ? 79
? ? ? 復(fù)雜的和虛構(gòu)的類型 ? 87
? ?類型的大小 ? 87
? ?使用數(shù)據(jù)類型 ? 88
? ?爭(zhēng)議和陷阱 ? 89
? ?另一個(gè)例子:轉(zhuǎn)義字符 ? 91
? ? ? 當(dāng)程序運(yùn)行時(shí)什么會(huì)發(fā)生 ? 91
? ? ? 直接輸出 ? 92
? ?關(guān)鍵概念 ? 93
? ?總結(jié) ? 93
? ?回顧問題 ? 94
? ?程序練習(xí) ? 97