本書著眼于應(yīng)用型人才的培養(yǎng),以結(jié)構(gòu)化程序設(shè)計(jì)思想,通過深入淺出、循序漸進(jìn)的講解方式,將C語言的相關(guān)語法和規(guī)則融合在實(shí)際應(yīng)用中,重視從“現(xiàn)實(shí)問題的提出”到“算法的設(shè)計(jì)”,再到“編程實(shí)現(xiàn)”這一全過程的分析和講解,使讀者領(lǐng)會(huì)C語言程序設(shè)計(jì)的精髓,快速提高學(xué)習(xí)效率和效果。
全書分為3篇12章,基礎(chǔ)篇包括C語言概述、基本數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、C語言程序控制結(jié)構(gòu);提高篇包括數(shù)組及應(yīng)用、函數(shù)、指針、結(jié)構(gòu)體與共用體、文件;實(shí)踐篇包括圖形應(yīng)用和實(shí)踐項(xiàng)目以及C語言實(shí)驗(yàn)內(nèi)容。本書除了講解C語言的語法外,在每一章最后安排了貫穿教學(xué)全過程的教學(xué)案例,使讀者可以通過模仿,提高綜合編程能力,達(dá)到學(xué)以致用的目的。
本書內(nèi)容翔實(shí),實(shí)例豐富,可以作為高等院校計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)C語言程序設(shè)計(jì)課程的教材和學(xué)習(xí)參考書。本書所配電子教案及書中程序例題源代碼、習(xí)題解答等均可從清華大學(xué)出版社網(wǎng)站下載。
直觀易懂。采用直觀的方式描述概念,以結(jié)構(gòu)清晰的圖形文字表述抽象算法。
綜合全面。每章內(nèi)容講解完后,都有一個(gè)貫穿全書的實(shí)例,把學(xué)到的內(nèi)容用到實(shí)際開發(fā)中,達(dá)到理論與實(shí)踐的緊密結(jié)合。全書有語法、有案例、還有實(shí)驗(yàn)指導(dǎo),內(nèi)容完整。
實(shí)用性強(qiáng)。本書講解語法的同時(shí),注重C語言在圖形方面的應(yīng)用,把C語言的學(xué)習(xí)進(jìn)一步引向?qū)嵱谩?br />
內(nèi)容新穎。全書由淺入深,層層遞進(jìn),對初學(xué)者有很好引領(lǐng)作用,書中有些例題趣味性強(qiáng),能提高讀者的學(xué)習(xí)興趣。
基礎(chǔ)篇
第1章C語言概述3
1.1程序設(shè)計(jì)基礎(chǔ)3
1.1.1計(jì)算機(jī)及程序執(zhí)行3
1.1.2程序6
1.1.3程序設(shè)計(jì)語言6
1.2C語言簡介8
1.2.1C語言發(fā)展8
1.2.2C語言的特點(diǎn)9
1.3初識(shí)C語言程序10
1.3.1C語言基本結(jié)構(gòu)10
1.3.2C語言的開發(fā)過程11
1.3.3C語言程序的書寫規(guī)范13
1.4程序設(shè)計(jì)與算法13
1.4.1算法概念13
1.4.2算法描述14
1.4.3程序設(shè)計(jì)15
1.5C語言程序的開發(fā)過程17
1.5.1基本術(shù)語17
1.5.2開發(fā)C語言程序的基本過程17
本章小結(jié)18
習(xí)題118
第2章C語言基本數(shù)據(jù)類型20
2.1字符集與詞匯20
2.1.1C語言的字符集20
2.1.2C語言的詞匯20
2.2數(shù)據(jù)類型22
2.3常量與變量23
2.3.1常量23
2.3.2變量24
2.4數(shù)據(jù)類型26
2.4.1整型數(shù)據(jù)26
2.4.2實(shí)型數(shù)據(jù)30
2.4.3字符型數(shù)據(jù)32
2.4.4各種數(shù)據(jù)類型間的轉(zhuǎn)換35
本章小結(jié)37
習(xí)題237
◆C語言程序設(shè)計(jì)基礎(chǔ)教程——語法、案例與實(shí)踐目錄第3章運(yùn)算符和表達(dá)式40
3.1數(shù)據(jù)的輸入與輸出40
3.1.1格式輸出函數(shù)41
3.1.2格式輸入函數(shù)43
3.1.3字符輸出函數(shù)46
3.1.4字符輸入函數(shù)47
3.2運(yùn)算符和表達(dá)式的概念47
3.3賦值運(yùn)算符和賦值表達(dá)式49
3.4算術(shù)運(yùn)算符和算術(shù)表達(dá)式50
3.4.1基本算術(shù)運(yùn)算符50
3.4.2自增、自減運(yùn)算符51
3.5關(guān)系運(yùn)算符和關(guān)系表達(dá)式53
3.6邏輯運(yùn)算符和邏輯表達(dá)式54
3.7條件運(yùn)算符和條件表達(dá)式56
3.8逗號運(yùn)算符和逗號表達(dá)式57
3.9求字節(jié)運(yùn)算符58
3.10位運(yùn)算符58
3.11貫穿教學(xué)全過程的案例——學(xué)生成績管理62
本章小結(jié)63
習(xí)題364
第4章C語言程序控制結(jié)構(gòu)70
4.1結(jié)構(gòu)化程序設(shè)計(jì)方法70
4.1.1自頂向下分析問題的方法71
4.1.2模塊化設(shè)計(jì)71
4.1.3結(jié)構(gòu)化編碼72
4.2C語句簡介72
4.2.1表達(dá)式語句72
4.2.2賦值語句73
4.2.3函數(shù)調(diào)用語句73
4.2.4空語句73
4.2.5復(fù)合語句74
4.2.6控制語句74
4.3順序結(jié)構(gòu)程序設(shè)計(jì)74
4.4選擇結(jié)構(gòu)程序設(shè)計(jì)75
4.4.1單分支if語句75
4.4.2雙分支if…else語句77
4.4.3多分支if…else if語句78
4.4.4if語句的嵌套81
4.4.5switch開關(guān)語句84
4.5循環(huán)結(jié)構(gòu)程序設(shè)計(jì)87
4.5.1while語句88
4.5.2do…while語句89
4.5.3for語句91
4.5.4循環(huán)的嵌套95
4.5.5循環(huán)與選擇的相互嵌套97
4.6轉(zhuǎn)向控制語句98
4.6.1break語句98
4.6.2continue語句100
4.6.3goto語句101
4.7幾種常用的典型算法102
4.7.1輾轉(zhuǎn)相除法103
4.7.2枚舉法104
4.7.3迭代法107
4.7.4遞推法108
4.8貫穿教學(xué)全過程的案例——學(xué)生成績管理110
本章小結(jié)115
習(xí)題4116
提高篇
第5章數(shù)組及應(yīng)用129
5.1一維數(shù)組129
5.1.1一維數(shù)組的定義129
5.1.2一維數(shù)組的初始化131
5.1.3一維數(shù)組元素的訪問132
5.1.4一維數(shù)組的應(yīng)用134
5.2二維數(shù)組139
5.2.1二維數(shù)組的定義139
5.2.2二維數(shù)組的初始化140
5.2.3二維數(shù)組元素的訪問141
5.2.4二維數(shù)組的應(yīng)用145
5.3字符數(shù)組與字符串148
5.3.1字符數(shù)組的定義148
5.3.2字符數(shù)組的初始化149
5.3.3字符數(shù)組的引用150
5.3.4字符串151
5.3.5字符串處理函數(shù)154
5.3.6字符數(shù)組的應(yīng)用158
5.4貫穿教學(xué)全過程的案例——學(xué)生成績管理160
本章小結(jié)174
習(xí)題5175
第6章函數(shù)181
6.1函數(shù)概述181
6.1.1函數(shù)基本知識(shí)181
6.1.2C程序函數(shù)分類183
6.2函數(shù)的定義與調(diào)用184
6.2.1函數(shù)定義184
6.2.2函數(shù)調(diào)用186
6.2.3函數(shù)參數(shù)187
6.2.4函數(shù)的返回值188
6.3函數(shù)的嵌套調(diào)用與遞歸調(diào)用189
6.3.1函數(shù)的嵌套調(diào)用189
6.3.2函數(shù)的遞歸調(diào)用191
6.4函數(shù)與數(shù)組195
6.4.1數(shù)組元素作函數(shù)實(shí)參195
6.4.2一維數(shù)組名作函數(shù)參數(shù)196
6.4.3多維數(shù)組名作函數(shù)參數(shù)198
6.5函數(shù)中變量作用域與生存期199
6.5.1變量的作用域199
6.5.2變量的存儲(chǔ)類別202
6.6編譯預(yù)處理208
6.6.1宏定義208
6.6.2文件包含212
6.6.3條件編譯213
6.7典型程序舉例214
6.8貫穿教學(xué)全過程的案例——學(xué)生成績管理218
本章小結(jié)220
習(xí)題6221
第7章指針225
7.1指針基礎(chǔ)225
7.1.1指針與內(nèi)存地址225
7.1.2指針變量與指針指向的對象226
7.1.3指針的初始化與NULL指針227
7.1.4指針運(yùn)算228
7.2指針與數(shù)組231
7.2.1指針與一維數(shù)組232
7.2.2指針與二維數(shù)組233
7.2.3指針與字符串237
7.3指針與函數(shù)238
7.3.1指針作為函數(shù)參數(shù)238
7.3.2指針作為函數(shù)返回類型241
7.3.3函數(shù)指針241
7.4指針的指針244
7.5貫穿教學(xué)全過程案例——學(xué)生成績管理245
本章小結(jié)254
習(xí)題7254
第8章結(jié)構(gòu)體與共用體260
8.1結(jié)構(gòu)體260
8.1.1結(jié)構(gòu)體聲明及特點(diǎn)260
8.1.2結(jié)構(gòu)體類型的變量、數(shù)組及指針262
8.1.3結(jié)構(gòu)體作為函數(shù)參數(shù)268
8.1.4結(jié)構(gòu)體的自引用與不完整聲明270
8.2共用體273
8.2.1共用體的特點(diǎn)273
8.2.2共用體變量的初始化274
8.3枚舉275
8.4使用類型別名定義276
8.5鏈表277
8.5.1動(dòng)態(tài)內(nèi)存管理函數(shù)277
8.5.2鏈表279
8.6貫穿教學(xué)全過程案例——學(xué)生成績管理282
本章小結(jié)296
習(xí)題8296
第9章文件302
9.1問題引出302
9.2文件的基本概念304
9.2.1文件的概念304
9.2.2文本文件和二進(jìn)制文件304
9.2.3文件的兩種處理系統(tǒng)305
9.2.4設(shè)備文件306
9.2.5流式文件306
9.3文件指針306
9.4文件的打開與關(guān)閉307
9.4.1文件的打開(fopen函數(shù))307
9.4.2文件的關(guān)閉(fclose函數(shù))310
9.5文件的讀寫310
9.5.1文件的字符讀寫函數(shù)(fgetc和fputc)311
9.5.2文件的字符串讀寫函數(shù)(fgets和fputs)314
9.5.3文件的格式化讀寫函數(shù)(fscanf()和fprintf())316
9.5.4數(shù)據(jù)塊讀寫函數(shù)(fread和fwrite)318
9.6文件的隨機(jī)讀寫321
9.6.1fseek函數(shù)321
9.6.2ftell函數(shù)323
9.7文件的檢測325
9.7.1ferror函數(shù)325
9.7.2clearerr函數(shù)325
9.7.3feof函數(shù)326
9.8文件操作常見錯(cuò)誤分析327
9.9主函數(shù)中的參數(shù)328
9.10貫穿教學(xué)全過程的案例——學(xué)生成績管理329
本章小結(jié)333
習(xí)題9334
實(shí)踐篇
第10章C語言在圖形編程中的應(yīng)用343
10.1圖形顯示的基本概念343
10.1.1圖形顯示的坐標(biāo)344
10.1.2像素344
10.2常用圖形函數(shù)345
10.2.1圖形系統(tǒng)的初始化345
10.2.2屏幕顏色設(shè)置和清屏函數(shù)345
10.2.3基本圖形函數(shù)347
10.2.4填充顏色函數(shù)348
10.2.5線型設(shè)置函數(shù)349
10.3圖形方式下的文本輸出函數(shù)351
10.3.1文本輸出函數(shù)351
10.3.2文本輸出字符串函數(shù)351
10.4綜合應(yīng)用實(shí)例352
10.4.1源代碼解析352
10.4.2運(yùn)行結(jié)果355
10.4.3小結(jié)355
第11章綜合開發(fā)實(shí)例——學(xué)生教務(wù)管理系統(tǒng)356
11.1系統(tǒng)需求分析356
11.2系統(tǒng)總體設(shè)計(jì)356
11.3系統(tǒng)詳細(xì)設(shè)計(jì)及編碼357
11.3.1系統(tǒng)詳細(xì)設(shè)計(jì)的任務(wù)357
11.3.2系統(tǒng)詳細(xì)設(shè)計(jì)358
11.3.3系統(tǒng)編碼361
11.4系統(tǒng)調(diào)試與測試373
11.4.1系統(tǒng)調(diào)試373
11.4.2系統(tǒng)測試373
11.5系統(tǒng)文檔與維護(hù)375
11.5.1整理文檔375
11.5.2系統(tǒng)維護(hù)375
11.6總結(jié)與展望375
11.6.1系統(tǒng)總結(jié)375
11.6.2系統(tǒng)展望376
第12章C語言實(shí)驗(yàn)內(nèi)容377
12.1C程序的VC開發(fā)環(huán)境377
12.2C程序調(diào)試和常見錯(cuò)誤380
12.2.1程序調(diào)試380
12.2.2C程序錯(cuò)誤類型382
12.2.3C程序錯(cuò)誤示例分析384
12.3實(shí)驗(yàn)內(nèi)容393
實(shí)驗(yàn)1基本數(shù)據(jù)類型、運(yùn)算符和表達(dá)式393
實(shí)驗(yàn)2選擇結(jié)構(gòu)程序設(shè)計(jì)394
實(shí)驗(yàn)3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)396
實(shí)驗(yàn)4數(shù)組程序設(shè)計(jì)397
實(shí)驗(yàn)5函數(shù)及模塊化程序設(shè)計(jì)398
實(shí)驗(yàn)6指針程序設(shè)計(jì)401
實(shí)驗(yàn)7結(jié)構(gòu)與單鏈表程序設(shè)計(jì)402
實(shí)驗(yàn)8文件程序設(shè)計(jì)404
附錄AC語言關(guān)鍵字407
附錄B標(biāo)準(zhǔn)字符ASCII碼表409
附錄C運(yùn)算符優(yōu)先級和結(jié)合性表411
附錄DC語言常用庫函數(shù)413
參考文獻(xiàn)417