注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計C/C++及其相關(guān)零基礎(chǔ)學(xué)C語言(第2版)

零基礎(chǔ)學(xué)C語言(第2版)

零基礎(chǔ)學(xué)C語言(第2版)

定 價:¥59.00

作 者: 康莉, 李寬, 陳國建 等編著
出版社: 機械工業(yè)出版社
叢編項: 零基礎(chǔ)學(xué)編程
標(biāo) 簽: VC++

ISBN: 9787111372929 出版時間: 2012-04-01 包裝: 平裝
開本: ` 頁數(shù): 424 字?jǐn)?shù):  

內(nèi)容簡介

  《零基礎(chǔ)學(xué)C語言(第2版)》站在零基礎(chǔ)學(xué)習(xí)的角度,使初學(xué)者能盡快掌握C語言程序設(shè)計的精髓,并且少走彎路。在知識點講解時,筆者采用由淺入深的逐級遞進(jìn)學(xué)習(xí)方式。本書一共分為4篇,循序漸進(jìn)地講述了C語言的語法規(guī)則和編程思想,從基本概念到具體實踐、從入門知識到高階主題、從語法語義到數(shù)據(jù)結(jié)構(gòu)和算法都進(jìn)行了詳細(xì)的闡述。主要內(nèi)容包括數(shù)據(jù)的存儲和獲取、屏幕的輸入與輸出、運算符、表達(dá)式、分支語句、循環(huán)語句、函數(shù)、數(shù)組、指針、字符串處理、結(jié)構(gòu)體、共用體、枚舉、位運算、文件處理、作用域、預(yù)處理、數(shù)據(jù)結(jié)構(gòu)等知識點。最后一章通過一些常見的C語言面試題的解析,為讀者踏入職場提供參考資料?!读慊A(chǔ)學(xué)C語言(第2版)》非常適合無C語言基礎(chǔ)或基礎(chǔ)薄弱的程序員閱讀,并可作為開發(fā)人員的參考手冊。

作者簡介

  本書主要由康莉、李寬、陳國建編寫,其他參與編寫和資料整理的人員有:馮華君、劉博、劉燕、葉青、張軍、張立娟、張藝、彭濤、徐磊、戎偉、朱毅、李佳、李玉涵、楊利潤、楊春嬌、武鵬、潘中強、王丹、王寧、王西莉、石淑珍、程彩紅、邵毅、鄭丹丹、鄭海平、顧旭光。作 者2012年1月

圖書目錄

前言
第一篇  C語言基礎(chǔ)
第1章  踏上征程前的思想動員 1
1.1  為什么選擇C語言 1
1.2  如何學(xué)好C語言 2
1.3  語言概述 3
1.3.1  什么是語言 3
1.3.2  什么是機器語言 3
1.3.3  什么是匯編語言 4
1.3.4  面向過程的語言 4
1.3.5  什么是C語言 4
1.4  深刻認(rèn)識程序如何開發(fā)出來—程序開發(fā)周期 5
1.4.1  編輯C源代碼 6
1.4.2  編譯C源代碼 6
1.4.3  連接目標(biāo)文件 7
1.4.4  編譯連接過程示例 7
1.4.5  運行程序 9
1.5  VC++、C++、C和TC—認(rèn)識開發(fā)環(huán)境和語言的區(qū)別 9
1.6  小結(jié) 11
1.7  上機實踐 11
第2章  跟我寫Hello World 12
2.1  自己動手創(chuàng)建程序 12
2.2  認(rèn)識LCC-Win32開發(fā)環(huán)境 12
2.2.1  為什么選擇LCC-Win32 13
2.2.2  啟動LCC-Win32 13
2.2.3  新建Hello World工程 13
2.2.4  定義新工程 13
2.2.5  添加源代碼到工程 14
2.2.6  編譯器設(shè)置 15
2.2.7  連接器設(shè)置 15
2.2.8  調(diào)試器設(shè)置 15
2.2.9  開始編輯代碼 16
2.3  編譯運行—欣賞你的杰作 17
2.4  查看代碼如何一步一步被執(zhí)行—調(diào)試排錯(debug) 18
2.4.1  debug一詞的由來 18
2.4.2  設(shè)置斷點 19
2.4.3  調(diào)試運行 19
2.5  小結(jié) 20
2.6  上機實踐 20
第3章  分解HelloWorld—最簡單C程序的組成 22
3.1  C程序概貌 22
3.2  為何有必要在代碼里留下程序員的解釋—注釋 23
3.3  從哪里開始,到哪里結(jié)束—main函數(shù) 24
3.4  如何在屏幕上顯示文字—函數(shù)調(diào)用 25
3.5  編譯器如何認(rèn)識printf函數(shù)—#include預(yù)處理器指示符 26
3.5.1  函數(shù)聲明及其作用 26
3.5.2  試驗尋找#include的作用 27
3.5.3  #include的作用 28
3.6  計算1+1—有些小作為的程序 29
3.7  數(shù)據(jù)從哪里來,又到哪里去—變量 30
3.7.1  變量在內(nèi)存中的表現(xiàn)形式 30
3.7.2  編譯器使用變量符號表 30
3.7.3  變量及其使用 31
3.8  自己設(shè)計C函數(shù) 32
3.8.1  在main函數(shù)中計算3個整數(shù)的平均數(shù) 33
3.8.2  在main函數(shù)中分3次計算3個整數(shù)的平均數(shù) 33
3.8.3  自編函數(shù)實現(xiàn)計算3個整數(shù)的平均數(shù) 34
3.8.4  如何自編寫函數(shù) 35
3.8.5  試驗觀察總結(jié)函數(shù)聲明和函數(shù)定義的意義 36
3.9  語句構(gòu)成程序 37
3.10  向好程序員看齊—代碼風(fēng)格 38
3.11  小結(jié) 38
3.12  上機實踐 38
第4章  如何存儲和獲取數(shù)據(jù)—變量及數(shù)據(jù)類型 40
4.1  二進(jìn)制、八進(jìn)制、十六進(jìn)制 40
4.2  計算機中如何表示數(shù)據(jù)—字節(jié)和位 41
4.3  內(nèi)存是存儲數(shù)據(jù)的“房間”—認(rèn)識計算機內(nèi)存 43
4.4  數(shù)據(jù)類型 43
4.4.1  整數(shù)類型 44
4.4.2  整數(shù)的正負(fù)—有符號和無符號 46
4.4.3  實數(shù)類型 47
4.4.4  字符類型 48
4.4.5  數(shù)據(jù)類型總結(jié) 48
4.5  常量 49
4.5.1  直接常量(字面常量)和符號常量 49
4.5.2  符號常量的優(yōu)點 51
4.5.3  字面常量的書寫格式 52
4.5.4  轉(zhuǎn)義字符 53
4.5.5  字符串 55
4.6  變量 55
4.6.1  變量的聲明 56
4.6.2  變量聲明的意義 56
4.6.3  標(biāo)識符和關(guān)鍵字 57
4.6.4  變量在內(nèi)存中占據(jù)的空間和變量的值 60
4.6.5  變量賦初值 62
4.7  幾個與變量相關(guān)的經(jīng)典算法 63
4.7.1  累加和累乘 63
4.7.2  交換兩個變量的值 65
4.8  小結(jié) 66
4.9  上機實踐 66
第5章  用屏幕和鍵盤交互—簡單的輸出和輸入 68
5.1  輸入—處理—輸出:這就是程序 68
5.2  向屏幕輸出—printf函數(shù)詳解 68
5.2.1  printf函數(shù)的一般形式 69
5.2.2  格式字符串的一般形式 71
5.2.3  %d—十進(jìn)制形式輸出帶符號整數(shù) 71
5.2.4  %最小寬度d格式符 72
5.2.5  %ld格式符—以長整型方式輸出 73
5.2.6  %o格式符—以八進(jìn)制形式輸出整數(shù) 73
5.2.7  %x格式符—以十六進(jìn)制的形式輸出整數(shù) 74
5.2.8  %u格式符—以十進(jìn)制形式輸出unsigned型數(shù)據(jù) 74
5.2.9  %c格式符 75
5.2.10  %s格式符—輸出字符串 76
5.2.11  %f格式符—輸出實型數(shù)據(jù) 78
5.2.12  %e格式符—以指數(shù)形式輸出實數(shù) 79
5.2.13  %g格式符—自動選擇%f或者%e形式輸出 80
5.2.14  printf函數(shù)小結(jié) 80
5.3  字符輸出putchar和字符串輸出puts 81
5.3.1  putchar函數(shù)(字符輸出函數(shù)) 81
5.3.2  puts函數(shù)(字符串輸出函數(shù)) 83
5.4  接收鍵盤輸入—scanf函數(shù)詳解 84
5.4.1  一般形式 84
5.4.2  scanf函數(shù)的工作原理 85
5.4.3  多數(shù)據(jù)輸入分隔規(guī)則 86
5.4.4  格式字符 88
5.4.5  scanf使用方法說明 89
5.4.6  使用scanf函數(shù)的注意事項 91
5.5  字符輸入函數(shù)getchar 93
5.6  輸入輸出程序舉例 94
5.7  小結(jié) 97
5.8  上機實踐 97
第6章  程序的基本構(gòu)成—運算符和表達(dá)式 98
6.1  認(rèn)識C中的運算符和表達(dá)式 98
6.1.1  認(rèn)識運算符和表達(dá)式 98
6.1.2  操作數(shù)、運算符和表達(dá)式 99
6.1.3  C運算符簡介 99
6.2  算術(shù)運算符和算術(shù)表達(dá)式 100
6.2.1  基本的算術(shù)運算符 100
6.2.2  ++自增、--自減運算符 102
6.2.3  算術(shù)表達(dá)式和運算符的優(yōu)先級及結(jié)合性 104
6.3  逗號運算符和逗號表達(dá)式 105
6.3.1  逗號表達(dá)式的一般形式 105
6.3.2  逗號表達(dá)式的優(yōu)先級和結(jié)合性 106
6.4  關(guān)系運算符和關(guān)系表達(dá)式 107
6.4.1  關(guān)系運算符的種類 107
6.4.2  關(guān)系表達(dá)式的一般形式 107
6.5  邏輯運算符和邏輯表達(dá)式 109
6.5.1  邏輯運算符 109
6.5.2  邏輯真值表 109
6.6  賦值運算符和賦值表達(dá)式 110
6.6.1  賦值表達(dá)式 110
6.6.2  復(fù)合賦值運算符 111
6.6.3  類型轉(zhuǎn)換 111
6.6.4  左值與程序?qū)嶓w 112
6.7  強制類型轉(zhuǎn)換和自動類型轉(zhuǎn)換 112
6.7.1  強制類型轉(zhuǎn)換 112
6.7.2  自動類型轉(zhuǎn)換 113
6.7.3  函數(shù)調(diào)用時的轉(zhuǎn)換 115
6.8  運算符的優(yōu)先級 115
6.8.1  優(yōu)先級、結(jié)合性匯總 115
6.8.2  短路表達(dá)式 116
6.8.3  sizeof運算符與sizeof表達(dá)式 116
6.9  小結(jié) 116
6.10  上機實踐 117
第7章  程序的最小獨立單元—語句 118
7.1  5種語句類型 118
7.1.1  表達(dá)式語句 118
7.1.2  函數(shù)調(diào)用語句 119
7.1.3  空語句 119
7.1.4  復(fù)合語句(塊語句) 119
7.1.5  流程控制語句 120
7.2  結(jié)構(gòu)化程序設(shè)計 120
7.2.1  什么是算法 120
7.2.2  算法的表示 120
7.2.3  算法的偽代碼表示 121
7.2.4  算法的流程圖表示 121
7.2.5  3種控制結(jié)構(gòu) 121
7.2.6  算法示例 122
7.3  小結(jié) 122
7.4  上機實踐 122
第8章  條件判斷—分支結(jié)構(gòu) 123
8.1  簡單的條件判斷—if語句 123
8.1.1  判斷表達(dá)式 123
8.1.2  花括號和if結(jié)構(gòu)體 124
8.2  兩條岔路的選擇—if else結(jié)構(gòu) 125
8.2.1  關(guān)鍵在else 125
8.2.2  if else結(jié)構(gòu)體 126
8.3  多分支語句和分支語句嵌套 127
8.3.1  多分支 127
8.3.2  多分支if結(jié)構(gòu) 128
8.3.3  分支語句嵌套 130
8.4  開關(guān)語句—switch結(jié)構(gòu) 131
8.4.1  一般形式 131
8.4.2  為什么叫開關(guān)語句 133
8.4.3  default語句 135
8.4.4  if結(jié)構(gòu)和switch結(jié)構(gòu)之比較 135
8.5  小結(jié) 135
8.6  上機實踐 135
第9章  一遍又一遍—循環(huán)結(jié)構(gòu) 137
9.1  構(gòu)造循環(huán) 137
9.1.1  循環(huán)的條件 137
9.1.2  當(dāng)型循環(huán)和直到型循環(huán) 138
9.2  簡潔循環(huán)語句—while和do while結(jié)構(gòu) 138
9.2.1  語法規(guī)則 139
9.2.2  代碼塊 140
9.3  最常用的循環(huán)語句—for結(jié)構(gòu) 140
9.3.1  基本形式 140
9.3.2  表達(dá)式省略 142
9.3.3  循環(huán)終止和步長 143
9.4  循環(huán)嵌套 143
9.4.1  嵌套示例 144
9.4.2  嵌套的效率 144
9.5  與循環(huán)密切相關(guān)的流程轉(zhuǎn)向控制語句 145
9.5.1  跳出循環(huán)—break 145
9.5.2  重來一次—continue 146
9.5.3  隨心所欲—goto 147
9.6  小結(jié) 148
9.7  上機實踐 148
第二篇  一窺C語言門庭
第10章  寫程序就是寫函數(shù)—函數(shù)入門 149
10.1  什么是函數(shù)—根據(jù)輸入進(jìn)行處理返回輸出 149
10.1.1  分割 149
10.1.2  庫函數(shù)和自定義函數(shù) 150
10.2  自定義函數(shù) 150
10.2.1  定義的語法 150
10.2.2  函數(shù)定義范例 151
10.2.3  不要重復(fù)定義 152
10.3  函數(shù)調(diào)用與返回 152
10.3.1  形參和實參 152
10.3.2  傳址調(diào)用 154
10.3.3  函數(shù)返回 155
10.4  告訴編譯器有這么一個函數(shù)—函數(shù)原型聲明 156
10.4.1  函數(shù)聲明的語法 156
10.4.2  聲明不同于定義 158
10.4.3  標(biāo)準(zhǔn)庫函數(shù)的聲明 158
10.5  面向過程的程序結(jié)構(gòu) 158
10.5.1  模塊化 159
10.5.2  函數(shù)的調(diào)用過程—模塊的配合 159
10.5.3  一個入口一個出口 159
10.5.4  自頂向下,逐步求精 159
10.5.5  封裝和可重用 160
10.5.6  高內(nèi)聚,低耦合 160
10.6  小結(jié) 160
10.7  上機實踐 161
第11章  同一類型多個元素的集合—簡單數(shù)組 162
11.1  什么是數(shù)組 162
11.1.1  數(shù)組是一大片連續(xù)內(nèi)存空間 162
11.1.2  數(shù)組元素的訪問 163
11.2  一維數(shù)組 163
11.2.1  一維數(shù)組的聲明 163
11.2.2  一維數(shù)組元素的訪問 164
11.2.3  數(shù)組的初始化 164
11.2.4  不合法的數(shù)組操作 165
11.3  二維數(shù)組 166
11.3.1  二維數(shù)組的聲明 166
11.3.2  二維數(shù)組的初始化 167
11.3.3  二維數(shù)組應(yīng)用舉例 167
11.4  更高維的數(shù)組 168
11.4.1  高維數(shù)組的聲明和元素訪問 169
11.4.2  初始化 169
11.4.3  多維數(shù)組在內(nèi)存中是如何排列元素的 170
11.5  小結(jié) 170
11.6  上機實踐 171
第12章  C語言難點—指針初探 172
12.1  計算機中的內(nèi)存 172
12.1.1  內(nèi)存地址 172
12.1.2  內(nèi)存中保存的內(nèi)容 173
12.1.3  地址就是指針 173
12.2  指針的定義 173
12.2.1  指針變量的聲明 174
12.2.2  指針變量的初始化 174
12.2.3  指針變量的值 174
12.2.4  取地址操作符& 175
12.2.5  指針變量占據(jù)一定的內(nèi)存空間 175
12.2.6  指向指針的指針 176
12.3  使用指針 176
12.3.1  運算符* 176
12.3.2  指針的類型和指針?biāo)赶虻念愋?177
12.3.3  同類型指針的賦值 178
12.3.4  指針的類型和指針?biāo)赶虻念愋筒煌?178
12.4  指針的運算 180
12.4.1  算術(shù)運算之“指針+整數(shù)”或“指針-整數(shù)” 180
12.4.2  指針-指針 181
12.4.3  指針的大小比較 182
12.5  指針表達(dá)式與左值 183
12.5.1  指針與整型 183
12.5.2  指針與左值 183
12.5.3  指針與const 183
12.6  動態(tài)內(nèi)存分配 185
12.6.1  動態(tài)分配的好處 185
12.6.2  malloc與free函數(shù) 185
12.6.3  calloc與free函數(shù) 187
12.6.4  free函數(shù)與指針 187
12.6.5  內(nèi)存泄漏 188
12.6.6  釋放已經(jīng)釋放了的內(nèi)存會出問題 188
12.7  小結(jié) 189
12.8  上機實踐 189
第13章  字符串及字符串操作 190
13.1  C風(fēng)格字符串 190
13.1.1  C風(fēng)格字符串的聲明 190
13.1.2  C風(fēng)格字符串在內(nèi)存中的表示 190
13.2  字符數(shù)組的輸入輸出 191
13.2.1  字符數(shù)組可以進(jìn)行整體輸入輸出 191
13.2.2  使用gets函數(shù)讀入整行輸入 192
13.2.3  訪問字符數(shù)組中某個元素 193
13.2.4  更便捷的輸出—使用puts函數(shù) 193
13.3  字符串處理函數(shù) 194
13.3.1  理解:數(shù)組名是常指針 194
13.3.2  strlen函數(shù)與size_t 196
13.3.3  字符串復(fù)制函數(shù)strcpy 197
13.3.4  字符串比較函數(shù)strcmp 198
13.3.5  字符串連接函數(shù)strcat 199
13.3.6  全轉(zhuǎn)換為大寫形式 200
13.3.7  鏈?zhǔn)讲僮?201
13.4  小結(jié) 201
13.5  上機實踐 201
第14章  結(jié)構(gòu)體、共用體、枚舉和typedef 203
14.1  結(jié)構(gòu)體 203
14.1.1  結(jié)構(gòu)體的定義 203
14.1.2  聲明結(jié)構(gòu)體變量 204
14.1.3  初始化結(jié)構(gòu)變量 204
14.1.4  訪問結(jié)構(gòu)體成員 205
14.1.5  結(jié)構(gòu)體定義的位置 205
14.1.6  結(jié)構(gòu)體變量賦值 206
14.2  特殊結(jié)構(gòu)體 207
14.2.1  結(jié)構(gòu)體嵌套 207
14.2.2  匿名結(jié)構(gòu)體 210
14.3  共用體 210
14.3.1  什么是共用體 210
14.3.2  共用體的定義 210
14.3.3  聲明共用體變量 211
14.3.4  共用體變量的初始化 211
14.3.5  共用體成員訪問 211
14.3.6  共用體賦值 213
14.4  結(jié)構(gòu)體和共用體的內(nèi)存差異 213
14.4.1  結(jié)構(gòu)體變量和共用體變量內(nèi)存形式的不同 213
14.4.2  結(jié)構(gòu)體變量的內(nèi)存大小 213
14.4.3  字節(jié)對齊 214
14.4.4  最寬基本類型 215
14.4.5  共用體的大小 216
14.5  枚舉類型 216
14.5.1  枚舉類型的定義 216
14.5.2  聲明枚舉變量 217
14.5.3  枚舉常量是什么 217
14.6  給類型取個別名—typedef 218
14.6.1  typedef基本用法 218
14.6.2  #define用法 218
14.7  小結(jié) 219
14.8  上機實踐 219
第15章  如何節(jié)省內(nèi)存—位運算 220
15.1  什么是位運算 220
15.1.1  開燈關(guān)燈 220
15.1.2  改變狀態(tài) 220
15.2  位邏輯運算符 221
15.2.1  位取反操作 221
15.2.2  位與運算 221
15.2.3  位或運算 221
15.2.4  位異或 221
15.2.5  實例分析 222
15.3  移位運算 223
15.3.1  基本形式 223
15.3.2  移位舉例 223
15.4  小結(jié) 224
15.5  上機實踐 224
第三篇  C語言進(jìn)階
第16章  存儲不僅僅局限于內(nèi)存—文件 227
16.1  什么是文件 227
16.1.1  文件 227
16.1.2  流 228
16.1.3  重定向 228
16.1.4  文件的處理形式—緩沖區(qū)和非緩沖區(qū) 228
16.1.5  文件的存儲形式—文本形式和二進(jìn)制形式 229
16.2  C語言如何使用文件 229
16.2.1  文件型指針 229
16.2.2  文件操作的步驟 230
16.3  文件的打開與關(guān)閉 230
16.3.1  打開文件—fopen 230
16.3.2  打開是否成功 231
16.3.3  關(guān)閉文件—fclose 232
16.4  文件的讀寫 232
16.4.1  讀寫的相對參照 232
16.4.2  如何判斷文件已經(jīng)結(jié)束 232
16.4.3  字符讀寫函數(shù)—fgetc和fputc 233
16.4.4  字符串讀寫函數(shù)—fgets和fputs 234
16.4.5  塊讀寫函數(shù)—fread和fwrite 236
16.4.6  格式化文件輸入輸出—fprintf與fscanf 239
16.5  文件的定位 241
16.5.1  移到開頭—rewind 241
16.5.2  得到當(dāng)前位置—ftell 242
16.5.3  移動指針—fseek 242
16.6  小結(jié) 243
16.7  上機實踐 243
第17章  靈活卻難以理解—指針進(jìn)階 245
17.1  指針與數(shù)組 245
17.1.1  數(shù)組名指針 245
17.1.2  使用數(shù)組名常指針表示數(shù)組元素 246
17.1.3  指向數(shù)組元素的指針變量 246
17.1.4  指向數(shù)組的指針變量 247
17.1.5  指針數(shù)組 248
17.2  指針、結(jié)構(gòu)體和結(jié)構(gòu)體數(shù)組 249
17.2.1  兩種訪問形式 249
17.2.2  聲明創(chuàng)建一個結(jié)構(gòu)數(shù)組 249
17.2.3  結(jié)構(gòu)數(shù)組的初始化 250
17.2.4  結(jié)構(gòu)數(shù)組的使用 251
17.2.5  指向結(jié)構(gòu)數(shù)組的指針 251
17.3  函數(shù)指針 252
17.3.1  函數(shù)名指針 252
17.3.2  指向函數(shù)的指針 253
17.3.3  函數(shù)指針類型 254
17.3.4  函數(shù)指針做函數(shù)參數(shù) 256
17.3.5  函數(shù)指針數(shù)組 256
17.3.6  指向函數(shù)指針的指針 258
17.4  小結(jié) 258
17.5  上機實踐 258
第18章  更深入的理解—函數(shù)進(jìn)階 260
18.1  參數(shù)傳遞的副本機制 260
18.1.1  傳值調(diào)用的副本機制 260
18.1.2  傳址調(diào)用的副本機制 261
18.2  函數(shù)返回值的副本機制 264
18.2.1  return局部變量為什么合法 264
18.2.2  返回指針申請動態(tài)內(nèi)存 265
18.2.3  不要返回指向棧內(nèi)存的指針 266
18.2.4  返回指向只讀存儲區(qū)的指針 266
18.3  函數(shù)與結(jié)構(gòu)體 267
18.3.1  結(jié)構(gòu)體變量的傳值和傳址調(diào)用 267
18.3.2  結(jié)構(gòu)體變量的成員作為函數(shù)參數(shù) 268
18.3.3  返回結(jié)構(gòu)體的函數(shù) 269
18.3.4  返回結(jié)構(gòu)體指針的函數(shù) 270
18.4  函數(shù)與數(shù)組 270
18.4.1  數(shù)組元素作為函數(shù)參數(shù) 270
18.4.2  數(shù)組名作為函數(shù)參數(shù) 271
18.4.3  多維數(shù)組名作為函數(shù)參數(shù) 273
18.4.4  數(shù)組名作為函數(shù)參數(shù)時的退化 274
18.5  遞歸 274
18.5.1  遞歸流程 274
18.5.2  遞歸兩要素 276
18.5.3  效率與可讀性 276
18.6  帶參數(shù)的主函數(shù) 276
18.7  小結(jié) 277
18.8  上機實踐 277
第19章  生存期、作用域與可見域 279
19.1  內(nèi)存分配 279
19.1.1  內(nèi)存分區(qū) 279
19.1.2  變量的存儲類別 280
19.1.3  生存期 280
19.1.4  作用域與可見域 280
19.2  auto變量 281
19.2.1  定義格式 281
19.2.2  作用域和生存期 282
19.2.3  屏蔽 282
19.2.4  重復(fù)定義 283
19.2.5  初始化 284
19.3  register變量 284
19.3.1  定義格式 284
19.3.2  使用舉例 285
19.4  extern變量 286
19.4.1  全局變量定義 286
19.4.2  全局變量聲明 286
19.4.3  可見域 287
19.4.4  屏蔽 289
19.4.5  利與弊 290
19.5  static變量 291
19.5.1  定義格式 291
19.5.2  靜態(tài)局部變量 291
19.5.3  靜態(tài)全局變量 292
19.5.4  extern變量和static變量的初始化 293
19.6  函數(shù)的作用域與可見域 294
19.6.1  內(nèi)部函數(shù) 294
19.6.2  外部函數(shù) 295
19.7  結(jié)構(gòu)體定義的作用域與可見域 295
19.7.1  定義位置與可見域 295
19.7.2  允許重復(fù)定義 296
19.8  小結(jié) 297
19.9  上機實踐 297
第20章  編譯及預(yù)處理 299
20.1  編譯流程 299
20.1.1  編輯 299
20.1.2  預(yù)處理 300
20.1.3  編譯 300
20.1.4  連接 300
20.2  程序錯誤 301
20.2.1  錯誤分類 301
20.2.2  編譯錯誤 301
20.2.3  連接錯誤 301
20.2.4  邏輯錯誤 302
20.2.5  排錯 302
20.3  預(yù)處理命令之宏定義 302
20.3.1  宏定義 302
20.3.2  不帶參數(shù)的宏定義 303
20.3.3  帶參數(shù)的宏定義 304
20.3.4  #define定義常量與const常量 307
20.3.5  文件包含 307
20.3.6  條件編譯 308
20.4  小結(jié) 310
20.5  上機實踐 310
第21章  數(shù)據(jù)結(jié)構(gòu) 311
21.1  鏈表 311
21.1.1  鏈表的結(jié)構(gòu) 311
21.1.2  創(chuàng)建鏈表并遍歷輸出 312
21.1.3  鏈表的插入 314
21.1.4  鏈表結(jié)點的刪除 317
21.1.5  鏈表的逆置 319
21.1.6  鏈表的銷毀 321
21.1.7  綜合實例 321
21.1.8  循環(huán)鏈表 326
21.1.9  雙鏈表 327
21.2  棧和隊列 330
21.2.1  棧的定義 330
21.2.2  棧的分類 330
21.2.3  棧的操作 331
21.2.4  函數(shù)與棧 333
21.2.5  隊列 334
21.3  小結(jié) 337
21.4  上機實踐 337
第四篇  C語言程序設(shè)計實例與面試題解析
第22章  C語言程序課程設(shè)計:游戲 339
22.1  黑白棋 339
22.1.1  程序功能要求 339
22.1.2  輸入輸出樣例 339
22.1.3  程序分析 340
22.1.4  程序初始化 341
22.1.5  初始化圖形設(shè)備 341
22.1.6  繪制棋盤 341
22.1.7  交替繪制黑白棋 342
22.1.8  游戲(同時判斷是否有一方勝利) 342
22.1.9  小結(jié) 357
22.2  五子棋 357
22.2.1  程序功能要求 357
22.2.2  輸入輸出樣例 358
22.2.3  程序分析 358
22.2.4  主函數(shù)程序設(shè)計 360
22.2.5  系統(tǒng)初始化 361
22.2.6  移動棋子模塊 361
22.2.7  程序勝負(fù)判定 365
22.2.8  小結(jié) 369
22.3  掃雷游戲 369
22.3.1  程序功能要求 369
22.3.2  輸入輸出樣例 370
22.3.3  程序分析 370
22.3.4  程序設(shè)計 372
22.3.5  初始化圖形設(shè)備 374
22.3.6  事件處理模塊 377
22.3.7  游戲處理部分 382
22.3.8  小結(jié) 385
22.4  速算24 385
22.4.1  程序功能要求 385
22.4.2  輸入輸出樣例 385
22.4.3  程序分析 386
22.4.4  程序設(shè)計 387
22.4.5  撲克牌處理部分 389
22.4.6  程序運算部分 392
22.4.7  小結(jié) 393
第23章  面試題解析 394
23.1  基礎(chǔ)知識 394
23.1.1  指針自增自減有什么不同 394
23.1.2  什么是遞歸 394
23.1.3  宏定義與操作符的區(qū)別 395
23.1.4  引用與值傳遞的區(qū)別 395
23.1.5  指針和引用有什么區(qū)別 395
23.1.6  什么是棧 395
23.1.7  main函數(shù)執(zhí)行前還會執(zhí)行什么代碼 395
23.1.8  static有什么用途 395
23.1.9  定義int **a[3][4], 則變量占用的內(nèi)存空間為多少 396
23.1.10  什么是預(yù)編譯 396
23.1.11  int (*s[10])(int)表示什么意義 396
23.1.12  結(jié)構(gòu)與聯(lián)合有何區(qū)別 396
23.2  算法和思維邏輯知識 396
23.2.1  100美元哪里去了 397
23.2.2  將16升水平均分給四個人 397
23.2.3  算出小王買了幾瓶啤酒、幾瓶飲料 397
23.2.4  找出不同的蘋果 398
23.2.5  找出不同的球 398
23.2.6  猜自己的帽子顏色 399
23.2.7  三筐水果各是什么 400
23.2.8  最后剩下的是誰 401
23.2.9  聰明的商人 402
23.2.10  紅球和白球 402
23.2.11  烏龜賽跑 402
23.2.12  投硬幣 402
附錄  ASCII編碼表 403

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號