本書內(nèi)容貼合當前普通高等院校"高級語言程序設計”課程的現(xiàn)狀和發(fā)展趨勢。在內(nèi)容的編排上,更多地考慮了初學者的需求,難度適中,突出實用性和應用性。本書分為9章,主要內(nèi)容包括C語言概述、C語言基礎知識、算法與C語言程序設計、函數(shù)、數(shù)組、指針、自定義數(shù)據(jù)類型、文件和C語言系統(tǒng)開發(fā)案例。本書內(nèi)容從易到難、循序漸進,列舉了大量能夠解決實際問題的實例,并通過最后一章的系統(tǒng)開發(fā)案例,將各章節(jié)的知識點串接起來,幫助讀者了解和掌握編寫能解決實際問題的C程序的方法。 本書既可作為初學程序設計語言的高校學生的教材,又可作為C語言自學者的教材或參考書。
周媛,女,副教授,2011年12月畢業(yè)于西安電子科技大學計算機技術(shù)專業(yè),2002年獲得西安電子科技大學工學學士學位;2011年獲得西安電子科技大學工程碩士學位;2002年至今,在西安外事學院工學院計算機系任專職教師。
第1章 C語言概述 1
1.1 程序設計語言 1
1.1.1 程序 1
1.1.2 程序設計 2
1.1.3 程序設計語言分類 2
1.2 C語言簡介 3
1.2.1 C語言的發(fā)展史 4
1.2.2 C語言標準 4
1.2.3 C語言的應用 4
1.3 C程序的基本結(jié)構(gòu) 5
1.3.1 Hello world! 5
1.3.2 C程序基本結(jié)構(gòu)的特點 6
1.4 C程序的開發(fā)工具 8
1.4.1 常用的C程序開發(fā)工具 8
1.4.2 程序的調(diào)試步驟 10
1.4.3 在Code::Blocks環(huán)境下的程序
調(diào)試 10
習題1 17
實驗1 18
第2章 C語言基礎知識 19
2.1 一個簡單的C程序案例 19
2.2 常見的符號分類 20
2.2.1 關(guān)鍵字 20
2.2.2 標識符 20
2.2.3 運算符 21
2.2.4 分隔符 22
2.2.5 數(shù)據(jù) 22
2.3 C語言的數(shù)據(jù)類型 22
2.3.1 引入數(shù)據(jù)類型的原因 22
2.3.2 基本數(shù)據(jù)類型 23
2.3.3 復雜數(shù)據(jù)類型 24
2.4 C語言常用數(shù)據(jù)類型的應用 25
2.4.1 整型數(shù)據(jù) 25
2.4.2 浮點型數(shù)據(jù) 32
2.4.3 字符型數(shù)據(jù) 35
2.4.4 宏常量與const常量 40
2.5 C語言的運算符與表達式 42
2.5.1 表達式 42
2.5.2 運算符 42
2.5.3 運算符的優(yōu)先級 52
2.6 C語言數(shù)據(jù)類型的轉(zhuǎn)換 53
2.6.1 自動轉(zhuǎn)換 53
2.6.2 強制轉(zhuǎn)換 54
習題2 54
實驗2 56
第3章 算法與C語言程序設計 57
3.1 算法與算法描述 57
3.1.1 算法的概念 57
3.1.2 算法的特征 58
3.1.3 算法的描述方法 58
3.1.4 算法設計的一般步驟 60
3.2 順序結(jié)構(gòu) 62
3.3 選擇結(jié)構(gòu) 64
3.3.1 if單分支語句 64
3.3.2 if雙分支語句 67
3.3.3 if多分支語句 70
3.3.4 嵌套的if語句 72
3.3.5 switch語句 74
3.4 循環(huán)結(jié)構(gòu) 79
3.4.1 while語句 79
3.4.2 for語句 84
3.4.3 do while語句 91
3.4.4 程序跳轉(zhuǎn)語句 94
3.4.5 嵌套循環(huán)及其應用 102
習題3 109
實驗3 113
第4章 函數(shù) 115
4.1 函數(shù)概述 115
4.2 函數(shù)的定義 117
4.2.1 C語言函數(shù)的定義 117
4.2.2 形式參數(shù)與實際參數(shù) 118
4.2.3 函數(shù)的返回值 119
4.3 函數(shù)的調(diào)用 120
4.3.1 函數(shù)調(diào)用的形式 121
4.3.2 函數(shù)調(diào)用的方式 121
4.3.3 函數(shù)聲明 122
4.3.4 函數(shù)參數(shù)的傳遞方式 123
4.4 函數(shù)的嵌套調(diào)用 125
4.4.1 基本嵌套調(diào)用 125
4.4.2 模塊化程序設計方法 126
4.5 函數(shù)的遞歸調(diào)用 128
4.5.1 遞歸的概念 128
4.5.2 遞歸算法的應用 130
4.6 變量的作用域與存儲類別 135
4.6.1 變量的作用域 135
4.6.2 變量的存儲類別 138
習題4 142
實驗4 147
第5章 數(shù)組 149
5.1 一維數(shù)組 149
5.1.1 一維數(shù)組的定義和引用 149
5.1.2 一維數(shù)組的初始化 152
5.1.3 向函數(shù)傳遞一維數(shù)組 154
5.1.4 一維數(shù)組的應用 156
5.2 二維數(shù)組 162
5.2.1 二維數(shù)組的定義和引用 162
5.2.2 二維數(shù)組的初始化 164
5.2.3 向函數(shù)傳遞二維數(shù)組 166
5.2.4 二維數(shù)組的應用 167
5.3 字符數(shù)組 169
5.3.1 字符數(shù)組的定義與使用 169
5.3.2 字符數(shù)組與字符串 171
5.3.3 字符數(shù)組的輸入和輸出 172
5.3.4 字符串處理函數(shù) 173
5.3.5 字符數(shù)組的應用 175
習題5 178
實驗5 182
第6章 指針 183
6.1 指針概述 183
6.1.1 指針的概念 183
6.1.2 初識指針變量 185
6.2 指針變量 186
6.2.1 指針變量的定義 186
6.2.2 指針變量的初始化 186
6.2.3 指針變量的引用 188
6.3 指針與函數(shù) 191
6.3.1 傳值調(diào)用與傳地址調(diào)用 191
6.3.2 指針變量作為函數(shù)參數(shù) 192
6.4 指針與數(shù)組 197
6.4.1 數(shù)組元素的指針 197
6.4.2 指針的運算 198
6.4.3 通過指針引用數(shù)組元素 200
6.4.4 數(shù)組作為函數(shù)參數(shù)的應用 202
6.5 字符指針 204
6.5.1 字符串的表示形式 204
6.5.2 字符指針訪問字符串常量 206
6.5.3 字符指針訪問字符串變量 207
6.5.4 字符指針作為函數(shù)參數(shù) 208
6.6 指針的高級應用 209
6.6.1 指針數(shù)組 209
6.6.2 內(nèi)存的動態(tài)分配 212
習題6 214
實驗6 218
第7章 自定義數(shù)據(jù)類型 219
7.1 定義和使用結(jié)構(gòu)體變量 219
7.1.1 什么是結(jié)構(gòu)體 219
7.1.2 結(jié)構(gòu)體變量的定義 221
7.1.3 結(jié)構(gòu)體變量的初始化 222
7.1.4 結(jié)構(gòu)體變量的成員變量 224
7.1.5 結(jié)構(gòu)體變量的應用 224
7.2 結(jié)構(gòu)體數(shù)組 225
7.2.1 結(jié)構(gòu)體數(shù)組的聲明 225
7.2.2 結(jié)構(gòu)體數(shù)組的初始化 226
7.2.3 結(jié)構(gòu)體數(shù)組的應用 227
7.3 結(jié)構(gòu)體指針 228
7.3.1 指向結(jié)構(gòu)體變量的指針 229
7.3.2 指向結(jié)構(gòu)體數(shù)組的指針 230
7.3.3 結(jié)構(gòu)體指針作為函數(shù)參數(shù) 231
7.4 動態(tài)結(jié)構(gòu)鏈表 232
7.4.1 什么是鏈表 232
7.4.2 創(chuàng)建簡單的單鏈表 234
7.4.3 單鏈表的插入 238
7.4.4 單鏈表的刪除 241
7.5 共用體類型與枚舉類型 245
7.5.1 共用體類型的定義與特點 245
7.5.2 共用體類型的應用 247
7.5.3 枚舉類型的定義 248
7.5.4 枚舉類型的應用 249
習題7 250
實驗7 255
第8章 文件 257
8.1 文件概述 257
8.1.1 什么是文件 257
8.1.2 C語言中的文件 258
8.1.3 文件緩沖區(qū) 259
8.1.4 文件類型指針 259
8.2 文件的打開與關(guān)閉 260
8.2.1 文件的打開 261
8.2.2 文件的關(guān)閉 262
8.3 文件的讀/寫 263
8.3.1 單字符讀/寫函數(shù) 263
8.3.2 單字符讀/寫函數(shù)應用 264
8.3.3 字符串讀/寫函數(shù) 266
8.3.4 字符串讀/寫函數(shù)應用 267
8.3.5 按字符塊讀/寫函數(shù) 269
8.3.6 按字符塊讀/寫函數(shù)應用 269
8.3.7 格式化讀/寫函數(shù) 272
8.3.8 格式化讀/寫函數(shù)應用 272
8.3.9 隨機讀/寫函數(shù) 273
8.3.10 隨機讀/寫函數(shù)應用 274
8.4 出錯檢測 275
習題8 275
實驗8 279
第9章 C語言系統(tǒng)開發(fā)案例 280
9.1 系統(tǒng)開發(fā)的流程 280
9.1.1 軟件項目策劃階段 281
9.1.2 需求分析階段 282
9.1.3 軟件設計階段 282
9.1.4 編碼階段 285
9.1.5 測試與驗收階段 285
9.1.6 系統(tǒng)維護階段 286
9.2 應用實例——圖書館管理系統(tǒng) 286
9.2.1 需求及功能分析 286
9.2.2 主要模塊功能分析 287
9.2.3 數(shù)據(jù)流圖與數(shù)據(jù)流字典 287
9.3 系統(tǒng)主要功能的實現(xiàn) 289
9.3.1 頭文件與主要結(jié)構(gòu)體 290
9.3.2 主要函數(shù)功能說明 291
9.3.3 主要功能實現(xiàn) 292
9.4 系統(tǒng)測試與運行 299
9.4.1 測試環(huán)境設置 300
9.4.2 系統(tǒng)測試結(jié)果 301
習題9 302
實驗9 302
參考文獻 303