本書是國家級精品課程“大學(xué)計算機(jī)”系列中“C語言程序設(shè)計”課程的主教材,也是該課程中國大學(xué)MOOC配套教材。本書以快速掌握程序設(shè)計思想為主線,采用“核心語法為先導(dǎo)、實踐應(yīng)用為目的、知識擴(kuò)展為提升、疑難辨析以解惑”的內(nèi)容組織方式,突出知識點與技術(shù)點的關(guān)聯(lián)性。全書內(nèi)容主要包括基本數(shù)據(jù)類型、簡單程序設(shè)計、循環(huán)結(jié)構(gòu)程序設(shè)計、數(shù)組、指針、模塊化程序設(shè)計、復(fù)雜數(shù)據(jù)類型、動態(tài)存儲空間管理、文件的處理。本書體系完整、結(jié)構(gòu)嚴(yán)謹(jǐn)、注重應(yīng)用、強(qiáng)調(diào)實踐,在編寫時兼顧了全國計算機(jī)等級考試的要求。為方便教學(xué),本書還配有電子課件,任課教師可登錄華信教育資源網(wǎng)(www.hxedu.com.cn)免費注冊并下載。本書既可作為高等學(xué)!癈語言程序設(shè)計”課程的教材,也可作為全國計算機(jī)等級考試二級C語言程序設(shè)計的培訓(xùn)或自學(xué)教材。
董衛(wèi)軍,計算機(jī)理論與軟件博士,信息與通信工程博士后,西北大學(xué)副教授,全國高等院校計算機(jī)基礎(chǔ)教育研究會理事,陜西省計算機(jī)教育學(xué)會常務(wù)理事兼副秘書長。長期從事大學(xué)計算機(jī)課程的教學(xué)和研究工作,教學(xué)經(jīng)驗豐富。出版教材多部。
第1章 基本數(shù)據(jù)類型 1
1.1 程序與工程化程序設(shè)計 1
1.1.1 程序 1
1.1.2 工程化程序設(shè)計 1
1.2 程序設(shè)計語言 7
1.2.1 程序設(shè)計語言的概念 7
1.2.2 C語言簡介 7
1.3 數(shù)據(jù)類型與常量 11
1.3.1 數(shù)據(jù)類型 11
1.3.2 常量 12
1.4 變量 16
1.4.1 標(biāo)識符 16
1.4.2 變量的定義 16
1.5 基本運算 17
1.5.1 運算符與表達(dá)式 17
1.5.2 賦值運算 18
1.5.3 算術(shù)運算 20
1.5.4 關(guān)系運算 24
1.5.5 邏輯運算 25
1.5.6 條件運算 26
1.6 知識擴(kuò)展 28
1.6.1 數(shù)據(jù)的輸入與輸出 28
1.6.2 逗號運算 31
1.6.3 數(shù)據(jù)類型長度運算 32
1.6.4 算術(shù)自反賦值運算 33
1.6.5 位運算 33
1.7 疑難辨析 37
習(xí)題1 40
第2章 簡單程序設(shè)計 47
2.1 順序結(jié)構(gòu)程序設(shè)計 47
2.1.1 語句 47
2.1.2 順序結(jié)構(gòu)程序設(shè)計舉例 48
2.2 選擇結(jié)構(gòu)程序設(shè)計 49
2.2.1 if語句 49
2.2.2 switch語句 51
2.2.3 選擇結(jié)構(gòu)的嵌套 52
2.2.4 選擇結(jié)構(gòu)程序設(shè)計舉例 54
2.3 應(yīng)用舉例 55
2.4 疑難辨析 60
習(xí)題2 61
第3章 循環(huán)結(jié)構(gòu)程序設(shè)計 66
3.1 循環(huán)結(jié)構(gòu)語句 66
3.1.1 while語句 66
3.1.2 for語句 68
3.1.3 循環(huán)結(jié)構(gòu)程序設(shè)計 71
3.2 多重循環(huán) 73
3.2.1 多重循環(huán)的引入 73
3.2.2 多重循環(huán)結(jié)構(gòu)程序設(shè)計 73
3.3 知識擴(kuò)展 77
3.3.1 do…while語句 77
3.3.2 break和continue語句 78
3.4 應(yīng)用舉例 79
3.5 疑難辨析 80
習(xí)題3 81
第4章 數(shù)組 87
4.1 一維數(shù)組的使用 87
4.1.1 一維數(shù)組概述 88
4.1.2 一維數(shù)組應(yīng)用舉例 90
4.2 二維數(shù)組的使用 96
4.2.1 二維數(shù)組概述 96
4.2.2 二維數(shù)組應(yīng)用舉例 98
4.3 知識擴(kuò)展 100
4.3.1 字符串與字符數(shù)組 100
4.3.2 三維數(shù)組的使用 104
4.4 應(yīng)用舉例 107
4.5 疑難辨析 109
習(xí)題4 111
第5章 指針 118
5.1 指針與指針的運算 118
5.1.1 指針變量與指針常量 118
5.1.2 指針的運算 120
5.2 指針與數(shù)組 124
5.2.1 指針與一維數(shù)組 124
5.2.2 指針與二維數(shù)組 126
5.3 知識擴(kuò)展 130
5.3.1 指針數(shù)組 130
5.3.2 指向指針的指針 132
5.4 應(yīng)用舉例 133
5.5 疑難辨析 135
習(xí)題5 140
第6章 模塊化程序設(shè)計 146
6.1 模塊化程序設(shè)計概述 146
6.1.1 模塊化程序設(shè)計的基本
思想 146
6.1.2 函數(shù)簡介 147
6.2 函數(shù)的使用 148
6.2.1 自定義函數(shù)的定義 148
6.2.2 自定義函數(shù)的說明 151
6.2.3 函數(shù)調(diào)用 151
6.2.4 函數(shù)使用舉例 152
6.3 知識擴(kuò)展 156
6.3.1 變量的存儲類別、生存期與
作用域 156
6.3.2 函數(shù)的遞歸調(diào)用 163
6.3.3 理解函數(shù)指針 164
6.3.4 編譯預(yù)處理 165
6.4 應(yīng)用舉例 171
6.5 疑難辨析 178
習(xí)題6 180
第7章 復(fù)雜數(shù)據(jù)類型 195
7.1 結(jié)構(gòu)體 195
7.1.1 結(jié)構(gòu)體類型與變量的定義 195
7.1.2 結(jié)構(gòu)體變量的使用 197
7.1.3 結(jié)構(gòu)體數(shù)組 200
7.1.4 結(jié)構(gòu)體類型的指針 201
7.2 共用體 203
7.2.1 共用體類型及共用體變量的
定義 204
7.2.2 共用體變量的引用 205
7.3 知識擴(kuò)展 207
7.3.1 枚舉類型 207
7.3.2 用typedef定義類型 209
7.4 應(yīng)用舉例 210
7.5 疑難辨析 212
習(xí)題7 213
第8章 動態(tài)存儲空間管理 219
8.1 存儲空間的分配與管理 219
8.1.1 存儲空間的組成 219
8.1.2 靜態(tài)和動態(tài)存儲方式 220
8.1.3 靜態(tài)和動態(tài)存儲分配 220
8.2 動態(tài)存儲空間的申請與釋放 221
8.2.1 動態(tài)存儲空間的申請 222
8.2.2 動態(tài)存儲空間的釋放 223
8.3 鏈表的使用 224
8.3.1 鏈表的概念 224
8.3.2 鏈表的基本操作 226
8.4 應(yīng)用舉例 230
8.5 疑難辨析 242
習(xí)題8 244
第9章 文件的處理 248
9.1 文件的基本概念 248
9.1.1 C語言支持的文件格式 248
9.1.2 文件操作的基本思路 250
9.2 文件的基本操作 250
9.2.1 文件指針 250
9.2.2 文件的打開與關(guān)閉 251
9.2.3 字節(jié)級文件的讀/寫 253
9.2.4 字符串文件的讀/寫 255
9.2.5 文件結(jié)束判斷函數(shù) 256
9.3 知識擴(kuò)展 260
9.3.1 文件的格式化讀/寫 260
9.3.2 文件的塊串級讀/寫 262
9.3.3 文件位置指針的移動 264
9.4 應(yīng)用舉例 266
9.5 疑難辨析 269
習(xí)題9 271
附錄A Visual C++集成環(huán)境使用指南 275
附錄B 常用運算符及其優(yōu)先級和結(jié)合性 279
附錄C 標(biāo)準(zhǔn)C語言頭文件 280
附錄D C語言系統(tǒng)關(guān)鍵字 281
附錄E ASCII編碼表 282
參考文獻(xiàn) 283