理論精,案例多且具有代表性,適合層次化教學(xué),且將一定量的二級試題融入教材中。
C語言是一種結(jié)構(gòu)化的計算機程序設(shè)計語言,具有使用靈活、表達能力強,兼具高級語言和低級語言雙重功能等特點,是各大院校計算機程序設(shè)計入門課程的語言之一。本書以應(yīng)用性為中心,以培養(yǎng)程序設(shè)計思想和程序設(shè)計能力為本位,堅持基礎(chǔ)理論與應(yīng)用實踐并重的指導(dǎo)思想。
全書理論內(nèi)容分析透徹嚴(yán)謹(jǐn)、詳略得當(dāng),案例豐富生動,內(nèi)容簡潔、銜接自然、層層深入,共分為11章,全面講解C語言的數(shù)據(jù)類型和表達式、三種基本結(jié)構(gòu)的程序設(shè)計、模塊化程序設(shè)計、數(shù)組、指針、結(jié)構(gòu)體和文件等內(nèi)容,每章后均附有重點內(nèi)容小結(jié)和多種類型的習(xí)題,同時第11章為每章設(shè)置了相應(yīng)的實驗指導(dǎo),與教學(xué)內(nèi)容緊密銜接,相輔相成。本書配有電子課件、例題和實驗的程序源碼、習(xí)題答案等豐富的教學(xué)資源。
本書適合作為高等院校C語言程序設(shè)計等相關(guān)課程的教材,也可供C語言程序設(shè)計愛好者或參加各種C語言考試的讀者學(xué)習(xí)使用。
第1章初識C語言11.1什么是C語言1
1.1.1計算機語言1
1.1.2C語言的由來2
1.2為什么學(xué)習(xí)C語言2
1.2.1C語言的特點3
1.2.2C語言的應(yīng)用4
1.3認(rèn)識C語言程序5
1.3.1計算機程序5
1.3.2C語言程序的基本結(jié)構(gòu)5
1.4運行C程序的步驟和方法8
1.4.1C程序的一般運行步驟8
1.4.2使用集成開發(fā)環(huán)境Visual C++6.0 實現(xiàn)C程序10
1.4.3C程序的調(diào)試方法15
1.5重點內(nèi)容小結(jié)18
習(xí)題18
第2章C程序設(shè)計基礎(chǔ)20
2.1C數(shù)據(jù)類型概述20
2.1.1C數(shù)據(jù)類型20
2.1.2為什么設(shè)置數(shù)據(jù)類型 21
2.2數(shù)據(jù)表現(xiàn)形式21
2.2.1常量21
2.2.2變量23
2.2.3C標(biāo)識符23
2.3基本數(shù)據(jù)類型24
2.3.1整型數(shù)據(jù)24
2.3.2實型數(shù)據(jù)27
2.3.3字符型數(shù)據(jù)28
2.4C語言的運算符與表達式312.4.1概述31
2.4.2算術(shù)運算符及其表達式32
2.4.3賦值運算符及其表達式35
2.4.4強制類型轉(zhuǎn)換運算符38
2.4.5自增自減運算符及其表達式38
2.4.6逗號運算符及其表達式42
2.4.7位運算符及其表達式44
2.5算法概念及其描述46
2.5.1算法及其特性47
2.5.2算法的常用描述方法47
2.5.3結(jié)構(gòu)化程序設(shè)計48
2.6重點內(nèi)容小結(jié)50
習(xí)題52
第3章順序結(jié)構(gòu)程序設(shè)計55
3.1C語句概述55
3.1.1說明語句55
3.1.2執(zhí)行語句56
3.2字符數(shù)據(jù)的輸入輸出函數(shù)59
3.2.1字符輸出函數(shù)putchar59
3.2.2字符輸入函數(shù)getchar60
3.3數(shù)據(jù)的格式化輸入輸出函數(shù)63
3.3.1數(shù)據(jù)的格式化輸出函數(shù)printf63
3.3.2數(shù)據(jù)的格式化輸入函數(shù)scanf69
3.4順序結(jié)構(gòu)應(yīng)用舉例78
3.5重點內(nèi)容小結(jié)80
習(xí)題81
第4章選擇結(jié)構(gòu)程序設(shè)計86
4.1選擇結(jié)構(gòu)與條件判斷86
4.1.1邏輯值的約定87
4.1.2關(guān)系運算符及其表達式87
4.1.3邏輯運算符及其表達式89
4.2if語句的基本格式90
4.2.1if語句的單分支結(jié)構(gòu)90
4.2.2if語句的雙分支結(jié)構(gòu)91
4.2.3if語句的多分支結(jié)構(gòu)93
4.2.4if語句的使用說明95
4.2.5if語句間的關(guān)系97
4.3條件運算符和條件表達式104
4.3.1條件運算符104
4.3.2條件表達式104
4.4switch語句105
4.5選擇結(jié)構(gòu)應(yīng)用舉例110
4.6重點內(nèi)容小結(jié)114
習(xí)題115
第5章循環(huán)結(jié)構(gòu)程序設(shè)計120
5.1為什么需要循環(huán)控制120
5.2while語句121
5.3dowhile語句122
5.4for語句126
5.5break和continue語句129
5.5.1break語句129
5.5.2continue語句133
5.6循環(huán)的嵌套134
5.7循環(huán)結(jié)構(gòu)應(yīng)用舉例137
5.8重點內(nèi)容小結(jié)142
習(xí)題143
第6章模塊化程序設(shè)計148
6.1為什么引入函數(shù) 148
6.2函數(shù)的定義及調(diào)用150
6.2.1函數(shù)的定義150
6.2.2函數(shù)的調(diào)用形式152
6.2.3函數(shù)的聲明155
6.3函數(shù)調(diào)用過程中的參數(shù)傳遞156
6.4函數(shù)的嵌套調(diào)用和遞歸調(diào)用159
6.4.1函數(shù)的嵌套調(diào)用159
6.4.2函數(shù)的遞歸調(diào)用161
6.5變量的作用域和存儲類別164
6.5.1變量的作用域164
6.5.2變量的存儲類別167
6.6內(nèi)部函數(shù)和外部函數(shù)172
6.6.1內(nèi)部函數(shù)172
6.6.2外部函數(shù)173
6.7重點內(nèi)容小結(jié)173
習(xí)題177
第7章使用數(shù)組處理批量數(shù)據(jù)182
7.1為什么引入數(shù)組182
7.2數(shù)值型數(shù)組183
7.2.1一維數(shù)值數(shù)組的定義和初始化183
7.2.2二維數(shù)值數(shù)組的定義和初始化193
7.3字符數(shù)組204
7.3.1一維字符數(shù)組的定義和初始化204
7.3.2一維字符數(shù)組的輸入和輸出205
7.3.3二維字符數(shù)組的定義和初始化207
7.4字符串處理函數(shù)208
7.5向函數(shù)傳遞一維數(shù)組212
7.5.1用數(shù)組元素作函數(shù)實參212
7.5.2用數(shù)組名作函數(shù)實參215
7.6向函數(shù)傳遞二維數(shù)組219
7.7重點內(nèi)容小結(jié)221
習(xí)題222
第8章指針226
8.1指針的含義226
8.2指針與變量227
8.2.1指針變量的定義227
8.2.2指針變量的引用228
8.3指針與數(shù)組231
8.3.1指針與一維數(shù)組231
8.3.2指針與二維數(shù)組236
8.3.3指針與字符串240
8.3.4指針數(shù)組和指向指針的指針242
8.4指針與函數(shù)246
8.4.1簡單指針變量作為函數(shù)參數(shù)246
8.4.2指向數(shù)組的指針變量作為函數(shù)參數(shù)248
8.4.3指針數(shù)組作為函數(shù)參數(shù)249
8.4.4返回值為指針的函數(shù)與函數(shù)指針變量251
8.5重點內(nèi)容小結(jié)255
習(xí)題257
第9章用戶自定義數(shù)據(jù)類型261
9.1為什么引入結(jié)構(gòu)體261
9.2結(jié)構(gòu)體類型263
9.2.1結(jié)構(gòu)體類型的定義263
9.2.2用typedef命名數(shù)據(jù)類型264
9.3結(jié)構(gòu)體類型變量的定義及初始化265
9.3.1結(jié)構(gòu)體變量的定義和初始化265
9.3.2結(jié)構(gòu)體數(shù)組的定義和初始化272
9.3.3結(jié)構(gòu)體指針的定義及初始化277
9.4向函數(shù)傳遞結(jié)構(gòu)體279
9.4.1結(jié)構(gòu)體變量作函數(shù)參數(shù)279
9.4.2結(jié)構(gòu)體指針作函數(shù)參數(shù)281
9.4.3結(jié)構(gòu)體數(shù)組作函數(shù)參數(shù)282
* 9.5共用體287
* 9.6枚舉數(shù)據(jù)類型291
* 9.7動態(tài)數(shù)據(jù)結(jié)構(gòu)——單向鏈表293
9.8重點內(nèi)容小結(jié)298
習(xí)題299
第10章文件308
10.1為什么引入文件308
10.2文件的打開與關(guān)閉310
10.2.1文件的打開310
10.2.2文件的關(guān)閉312
10.3文件的讀寫314
10.3.1文件的字符讀寫314
10.3.2文件的字符串讀寫316
10.3.3文件的格式化讀寫318
10.3.4文件的數(shù)據(jù)塊讀寫321
10.4文件的定位和文件的隨機讀取323
10.5重點內(nèi)容小結(jié)329
習(xí)題330
第11章實驗安排335
11.1實驗1熟悉Visual C++6.0集成開發(fā)環(huán)境和運行過程335
11.2實驗2基本數(shù)據(jù)類型和運算符337
11.3實驗3順序結(jié)構(gòu)程序設(shè)計341
11.4實驗4選擇結(jié)構(gòu)程序設(shè)計345
11.5實驗5循環(huán)結(jié)構(gòu)程序設(shè)計350
11.6實驗6函數(shù)程序設(shè)計357
11.7實驗7數(shù)組程序設(shè)計365
11.8實驗8指針程序設(shè)計375
11.9實驗9用戶自定義數(shù)據(jù)類型385
11.10實驗10文件操作399
附錄AC語言關(guān)鍵字406
附錄B標(biāo)準(zhǔn)ASCII碼表407
附錄CC語言運算符408
附錄DC語言常用的函數(shù)庫410
附錄EVisual C++ 6.0常見錯誤中英對照表及分析416
參考文獻422