第1章C語(yǔ)言基本概念1
1.1計(jì)算機(jī)語(yǔ)言和程序2
1.1.1計(jì)算機(jī)語(yǔ)言2
1.1.2計(jì)算機(jī)程序2
1.1.3C語(yǔ)言2
1.1.4程序設(shè)計(jì)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è)計(jì)方法16
1.3C語(yǔ)言編程20
1.3.1編寫(xiě)一個(gè)經(jīng)典的C程序20
1.3.2編譯和鏈接22
1.4變量、表達(dá)式和賦值22
1.4.1類(lèi)型23
1.4.2聲明23
1.4.3賦值24
1.4.4變量的初始化24
1.4.5顯示變量的值25
1.5從鍵盤(pán)讀取輸入25
1.6常量定義26
1.6.1宏常量26
1.6.2const常量27
1.7標(biāo)識(shí)符28
1.8C程序的結(jié)構(gòu)特點(diǎn)291.9C語(yǔ)言編程風(fēng)格31
問(wèn)與答32
習(xí)題133
目錄
第2章數(shù)據(jù)類(lèi)型與表達(dá)式36
2.1變量聲明與表達(dá)式36
2.2基本數(shù)據(jù)類(lèi)型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有符號(hào)字符與無(wú)符號(hào)字符49
2.8.3轉(zhuǎn)義序列50
2.9字符處理函數(shù)51
2.10類(lèi)型轉(zhuǎn)換54
2.10.1算術(shù)運(yùn)算過(guò)程中的轉(zhuǎn)換54
2.10.2賦值過(guò)程中的轉(zhuǎn)換56
2.10.3強(qiáng)制類(lèi)型轉(zhuǎn)換57
2.11類(lèi)型定義57
2.12sizeof運(yùn)算符59
問(wèn)與答59
習(xí)題262
實(shí)驗(yàn)題65
第3章格式化輸入與輸出66
3.1輸出函數(shù)66
3.1.1轉(zhuǎn)換說(shuō)明67
3.1.2轉(zhuǎn)義序列71
3.2輸入函數(shù)72
3.2.1轉(zhuǎn)換說(shuō)明72
3.2.2scanf()函數(shù)的工作原理74
3.2.3格式控制串中的普通字符75
3.2.4scanf()和printf()函數(shù)常見(jiàn)錯(cuò)誤79
問(wèn)與答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ù)合語(yǔ)句88
4.4空語(yǔ)句88
4.5if語(yǔ)句88
4.6ifelse語(yǔ)句91
4.7if語(yǔ)句的嵌套92
4.8級(jí)聯(lián)式語(yǔ)句97
4.9switch語(yǔ)句98
4.10條件表達(dá)式101
4.11C語(yǔ)言中的布爾值102
4.12程序舉例與測(cè)試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
問(wèn)與答111
習(xí)題4112
實(shí)驗(yàn)題117
第5章循環(huán)結(jié)構(gòu)119
5.1循環(huán)結(jié)構(gòu)與循環(huán)語(yǔ)句119
5.2計(jì)數(shù)控制的循環(huán)126
5.3嵌套循環(huán)128
5.4條件控制的循環(huán)130
5.5流程的控制轉(zhuǎn)移136
5.5.1break語(yǔ)句136
5.5.2continue語(yǔ)句138
5.5.3goto語(yǔ)句139
5.6應(yīng)用舉例141
問(wèn)與答145
習(xí)題5147
實(shí)驗(yàn)題151
第6章函數(shù)153
6.1模塊化程序設(shè)計(jì)153
6.2函數(shù)的定義154
6.2.1函數(shù)的分類(lèi)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è)計(jì)的基本原則170
6.7函數(shù)的嵌套調(diào)用171
6.8函數(shù)的遞歸調(diào)用和遞歸函數(shù)172
6.9變量的作用域和存儲(chǔ)類(lèi)型175
6.9.1變量的作用域175
6.9.2變量的存儲(chǔ)類(lèi)型177
6.10模塊化程序設(shè)計(jì)實(shí)例182
問(wèn)與答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變長(zhǎng)數(shù)組作為形參202
7.4排序與查找207
7.5二維數(shù)組作為函數(shù)參數(shù)217
7.6C程序開(kāi)發(fā)方法220
問(wèn)與答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
問(wèn)與答250
習(xí)題8252
實(shí)驗(yàn)題255
第9章字符串256
9.1字符串常量256
9.2字符串的存儲(chǔ)256
9.3字符指針258
9.4字符串的讀/寫(xiě)259
9.4.1按%c格式控制符讀/寫(xiě)259
9.4.2按%s格式控制符讀/寫(xiě)260
9.4.3使用字符串處理函數(shù)進(jìn)行讀/寫(xiě)260
9.4.4逐個(gè)字符讀取字符串261
9.5字符串處理函數(shù)263
9.6字符串作為函數(shù)參數(shù)266
9.7從函數(shù)返回字符串指針267
問(wèn)與答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動(dòng)態(tài)數(shù)組291
10.5.1C程序的內(nèi)存映像291
10.5.2動(dòng)態(tài)內(nèi)存分配函數(shù)292
10.5.3一維動(dòng)態(tài)數(shù)組的內(nèi)存分配294
10.5.4二維動(dòng)態(tài)數(shù)組的內(nèi)存分配295
問(wèn)與答297
習(xí)題10298
實(shí)驗(yàn)題300第11章自定義數(shù)據(jù)類(lèi)型302
11.1用戶(hù)自定義數(shù)據(jù)類(lèi)型和信息隱藏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)存中的存儲(chǔ)形式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枚舉類(lèi)型323
11.12單向鏈表327
11.12.1問(wèn)題的提出327
11.12.2鏈表327
11.12.3單向鏈表的創(chuàng)建328
11.12.4單向鏈表的搜索331
11.12.5從單向鏈表中刪除節(jié)點(diǎn)332
問(wèn)與答336
習(xí)題11337
實(shí)驗(yàn)題340
第12章文件342
12.1文件分類(lèi)342
12.2文件的打開(kāi)與關(guān)閉343
12.3順序讀/寫(xiě)文件345
12.3.1讀/寫(xiě)字符346
12.3.2讀/寫(xiě)字符串349
12.3.3格式化讀/寫(xiě)文件351
12.3.4讀/寫(xiě)數(shù)據(jù)塊355
12.4隨機(jī)讀/寫(xiě)文件359
12.5標(biāo)準(zhǔn)輸入/輸出重定向361
問(wèn)與答362
習(xí)題12364
實(shí)驗(yàn)題366
第13章構(gòu)建大規(guī)模程序368
13.1頭文件368
13.1.1#include指令的使用368
13.1.2定義共享類(lèi)型和宏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è)計(jì)373
13.4構(gòu)建多文件程序377
13.4.1makefile文件378
13.4.2鏈接錯(cuò)誤379
13.4.3重構(gòu)程序379
13.4.4在程序外定義宏381
問(wèn)與答382
習(xí)題13383
實(shí)驗(yàn)題383
附錄384
附錄ADevC 和Visual C 下基本數(shù)據(jù)類(lèi)型的取值范圍384
附錄B關(guān)鍵字384
附錄C運(yùn)算符的優(yōu)先級(jí)與結(jié)合性384
附錄DASCII字符表384
附錄EANSI C標(biāo)準(zhǔn)庫(kù)函數(shù)384
附錄FDevC 集成開(kāi)發(fā)環(huán)境385
參考文獻(xiàn)386