第1章C語言基本概念1
1.1計算機(jī)語言和程序2
1.1.1計算機(jī)語言2
1.1.2計算機(jī)程序2
1.1.3C語言2
1.1.4程序設(shè)計3
1.2算法和算法表示4
1.2.1算法的概念4
1.2.2算法的特征6
1.2.3算法的表示7
1.2.4算法的優(yōu)化14
1.2.5結(jié)構(gòu)化程序設(shè)計方法16
1.3C語言編程20
1.3.1編寫一個經(jīng)典的C程序20
1.3.2編譯和鏈接22
1.4變量、表達(dá)式和賦值22
1.4.1類型23
1.4.2聲明23
1.4.3賦值24
1.4.4變量的初始化24
1.4.5顯示變量的值25
1.5從鍵盤讀取輸入25
1.6常量定義26
1.6.1宏常量26
1.6.2const常量27
1.7標(biāo)識符28
1.8C程序的結(jié)構(gòu)特點(diǎn)291.9C語言編程風(fēng)格31
問與答32
習(xí)題133
目錄
第2章數(shù)據(jù)類型與表達(dá)式36
2.1變量聲明與表達(dá)式36
2.2基本數(shù)據(jù)類型37
2.3整型37
2.4浮點(diǎn)型40
2.5算術(shù)運(yùn)算符與表達(dá)式41
2.5.1算術(shù)運(yùn)算符41
2.5.2算術(shù)表達(dá)式44
2.6賦值運(yùn)算符與表達(dá)式45
2.6.1賦值運(yùn)算符46
2.6.2賦值表達(dá)式46
2.6.3復(fù)合賦值運(yùn)算符及表達(dá)式46
2.7自增/自減運(yùn)算符48
2.8字符型49
2.8.1字符操作49
2.8.2有符號字符與無符號字符49
2.8.3轉(zhuǎn)義序列50
2.9字符處理函數(shù)51
2.10類型轉(zhuǎn)換54
2.10.1算術(shù)運(yùn)算過程中的轉(zhuǎn)換54
2.10.2賦值過程中的轉(zhuǎn)換56
2.10.3強(qiáng)制類型轉(zhuǎn)換57
2.11類型定義57
2.12sizeof運(yùn)算符59
問與答59
習(xí)題262
實(shí)驗(yàn)題65
第3章格式化輸入與輸出66
3.1輸出函數(shù)66
3.1.1轉(zhuǎn)換說明67
3.1.2轉(zhuǎn)義序列71
3.2輸入函數(shù)72
3.2.1轉(zhuǎn)換說明72
3.2.2scanf()函數(shù)的工作原理74
3.2.3格式控制串中的普通字符75
3.2.4scanf()和printf()函數(shù)常見錯誤79
問與答80
習(xí)題381
實(shí)驗(yàn)題83
第4章選擇結(jié)構(gòu)84
4.1關(guān)系、等式和邏輯運(yùn)算符84
4.2邏輯運(yùn)算符和表達(dá)式86
4.3復(fù)合語句88
4.4空語句88
4.5if語句88
4.6ifelse語句91
4.7if語句的嵌套92
4.8級聯(lián)式語句97
4.9switch語句98
4.10條件表達(dá)式101
4.11C語言中的布爾值102
4.12程序舉例與測試103
4.13本章擴(kuò)展內(nèi)容: 位運(yùn)算107
4.13.1位運(yùn)算符107
4.13.2位邏輯運(yùn)算108
4.13.3移位運(yùn)算109
4.13.4復(fù)合位運(yùn)算賦值運(yùn)算符109
4.13.5位運(yùn)算的應(yīng)用110
問與答111
習(xí)題4112
實(shí)驗(yàn)題117
第5章循環(huán)結(jié)構(gòu)119
5.1循環(huán)結(jié)構(gòu)與循環(huán)語句119
5.2計數(shù)控制的循環(huán)126
5.3嵌套循環(huán)128
5.4條件控制的循環(huán)130
5.5流程的控制轉(zhuǎn)移136
5.5.1break語句136
5.5.2continue語句138
5.5.3goto語句139
5.6應(yīng)用舉例141
問與答145
習(xí)題5147
實(shí)驗(yàn)題151
第6章函數(shù)153
6.1模塊化程序設(shè)計153
6.2函數(shù)的定義154
6.2.1函數(shù)的分類154
6.2.2函數(shù)的定義155
6.2.3函數(shù)調(diào)用156
6.3函數(shù)原型聲明159
6.4實(shí)參162
6.5函數(shù)封裝與防御性編程164
6.6函數(shù)設(shè)計的基本原則170
6.7函數(shù)的嵌套調(diào)用171
6.8函數(shù)的遞歸調(diào)用和遞歸函數(shù)172
6.9變量的作用域和存儲類型175
6.9.1變量的作用域175
6.9.2變量的存儲類型177
6.10模塊化程序設(shè)計實(shí)例182
問與答187
習(xí)題6189
實(shí)驗(yàn)題194
第7章數(shù)組195
7.1一維數(shù)組195
7.2二維數(shù)組199
7.3一維數(shù)組作為函數(shù)參數(shù)201
7.3.1數(shù)組作為實(shí)參201
7.3.2變長數(shù)組作為形參202
7.4排序與查找207
7.5二維數(shù)組作為函數(shù)參數(shù)217
7.6C程序開發(fā)方法220
問與答223
習(xí)題7225
實(shí)驗(yàn)題229
第8章指針230
8.1指針和指針變量230
8.2指針變量的定義和初始化231
8.3間接尋址運(yùn)算符234
8.4指針變量作為函數(shù)參數(shù)237
8.5指針變量作為函數(shù)參數(shù)應(yīng)用舉例240
8.6函數(shù)指針及其應(yīng)用247
問與答250
習(xí)題8252
實(shí)驗(yàn)題255
第9章字符串256
9.1字符串常量256
9.2字符串的存儲256
9.3字符指針258
9.4字符串的讀/寫259
9.4.1按%c格式控制符讀/寫259
9.4.2按%s格式控制符讀/寫260
9.4.3使用字符串處理函數(shù)進(jìn)行讀/寫260
9.4.4逐個字符讀取字符串261
9.5字符串處理函數(shù)263
9.6字符串作為函數(shù)參數(shù)266
9.7從函數(shù)返回字符串指針267
問與答269
習(xí)題9270
實(shí)驗(yàn)題273
第10章指針與數(shù)組275
10.1指針的運(yùn)算275
10.2指針和一維數(shù)組的關(guān)系276
10.3指針和二維數(shù)組的關(guān)系281
10.4指針數(shù)組及其應(yīng)用286
10.5動態(tài)數(shù)組291
10.5.1C程序的內(nèi)存映像291
10.5.2動態(tài)內(nèi)存分配函數(shù)292
10.5.3一維動態(tài)數(shù)組的內(nèi)存分配294
10.5.4二維動態(tài)數(shù)組的內(nèi)存分配295
問與答297
習(xí)題10298
實(shí)驗(yàn)題300第11章自定義數(shù)據(jù)類型302
11.1用戶自定義數(shù)據(jù)類型和信息隱藏302
11.2結(jié)構(gòu)體的定義303
11.3結(jié)構(gòu)體變量的初始化305
11.4結(jié)構(gòu)體的嵌套306
11.5結(jié)構(gòu)體變量的引用306
11.6結(jié)構(gòu)體變量在內(nèi)存中的存儲形式308
11.7結(jié)構(gòu)體數(shù)組的定義和初始化310
11.8結(jié)構(gòu)體指針的定義和初始化313
11.9結(jié)構(gòu)體作為函數(shù)參數(shù)315
11.10共用體320
11.11枚舉類型323
11.12單向鏈表327
11.12.1問題的提出327
11.12.2鏈表327
11.12.3單向鏈表的創(chuàng)建328
11.12.4單向鏈表的搜索331
11.12.5從單向鏈表中刪除節(jié)點(diǎn)332
問與答336
習(xí)題11337
實(shí)驗(yàn)題340
第12章文件342
12.1文件分類342
12.2文件的打開與關(guān)閉343
12.3順序讀/寫文件345
12.3.1讀/寫字符346
12.3.2讀/寫字符串349
12.3.3格式化讀/寫文件351
12.3.4讀/寫數(shù)據(jù)塊355
12.4隨機(jī)讀/寫文件359
12.5標(biāo)準(zhǔn)輸入/輸出重定向361
問與答362
習(xí)題12364
實(shí)驗(yàn)題366
第13章構(gòu)建大規(guī)模程序368
13.1頭文件368
13.1.1#include指令的使用368
13.1.2定義共享類型和宏369
13.1.3共享函數(shù)原型370
13.1.4共享變量聲明370
13.1.5嵌套包含371
13.1.6保護(hù)頭文件371
13.1.7頭文件中的#error指令372
13.2源文件372
13.3多文件程序的設(shè)計373
13.4構(gòu)建多文件程序377
13.4.1makefile文件378
13.4.2鏈接錯誤379
13.4.3重構(gòu)程序379
13.4.4在程序外定義宏381
問與答382
習(xí)題13383
實(shí)驗(yàn)題383
附錄384
附錄ADevC  和Visual C  下基本數(shù)據(jù)類型的取值范圍384
附錄B關(guān)鍵字384
附錄C運(yùn)算符的優(yōu)先級與結(jié)合性384
附錄DASCII字符表384
附錄EANSI C標(biāo)準(zhǔn)庫函數(shù)384
附錄FDevC  集成開發(fā)環(huán)境385
參考文獻(xiàn)386