本書是“C語言程序設計”的入門教材,其目的是培養(yǎng)學生基本的程序設計能力。全書遵循ANSI/ISO C的標準,由具有多年教學經(jīng)驗和實際項目開發(fā)經(jīng)驗的教師用通俗易懂的語言編寫而成。書中系統(tǒng)地介紹C語言程序設計所需要的基礎知識及所用的開發(fā)環(huán)境; C語言中支持結構化程序設計的3種結構——順序結構、選擇結構和循環(huán)結構所需要的工具;C語言的一些高級工具,如數(shù)組、指針、結構體、共用體、文件等。本書可作為高職高專院校計算機專業(yè)的教材,也可作為廣大C語言愛好者的參考用書。
方靈,江西現(xiàn)代職業(yè)技術學院教師,近五年來一直從事《程序設計基礎》課程的教學工作,多次指導學生參加省級技能競賽,獲"優(yōu)秀指導教師”稱號。
目 錄
第1章 C語言概述 1
1.1 C語言的發(fā)展史 1
1.2 C語言的特點 3
1.3 算法 3
1.4 一個簡單的C語言 7
1.5 C語言程序的開發(fā)環(huán)境 9
習題1 11
第2章 數(shù)據(jù)類型、運算法、表達式 13
2.1 數(shù)據(jù)類型 13
2.1.1 標識符 13
2.1.2 關鍵字 14
2.2 常量和變量 14
2.2.1 常量 14
2.2.2 變量 15
2.3 基本數(shù)據(jù)類型 17
2.3.1 整型數(shù)據(jù) 17
2.3.2 實型數(shù)據(jù) 19
2.3.3 字符型數(shù)據(jù) 20
2.4 運算符與表達式 22
2.4.1 C運算符 23
2.4.2 基本算術運算符 23
2.4.3 自增自減運算符 24
2.4.4 算術表達式 25
2.4.5 賦值運算符和表達式 26
2.5 強制類型轉換運算符 27
2.6 逗號運算符和逗號表達式 28
習題2 29
第3章 順序結構 31
3.1 C語句概述 31
3.2 輸入輸出函數(shù) 33
3.2.1 格式化輸出函數(shù) 33
3.2.2 格式化輸入函數(shù) 38
3.2.3 字符輸入輸出函數(shù) 42
3.3 順序結構程序設計舉例 42
習題3 43
第4章 選擇結構 47
4.1 if語句 47
4.1.1 關系運算符和邏輯運算符 47
4.1.2 簡單if語句格式 49
4.1.3 if…else格式 50
4.1.4 if…else…if格式 51
4.2 if語句的嵌套 52
4.3 條件運算符與條件表達式 53
4.4 switch語句 54
4.5 選擇結構程序設計舉例 56
習題4 59
第5章 循環(huán)結構 62
5.1 while語句 62
5.2 do…while語句 65
5.3 for語句 68
5.4 3種循環(huán)語句的比較 71
5.5 循環(huán)的嵌套 72
5.6 循環(huán)體中的控制命令 76
5.7 循環(huán)結構程序設計舉例 79
習題5 83
第6章 數(shù)組 89
6.1 初識數(shù)組 89
6.2 一維數(shù)組 90
6.2.1 一維數(shù)組的定義與初始化 90
6.2.2 一維數(shù)組的引用 92
6.2.3 一維數(shù)組示例 94
6.3 二維數(shù)組及多維數(shù)組 97
6.3.1 二維數(shù)組的定義與初始化 97
6.3.2 二維數(shù)組的引用 99
6.3.3 二維數(shù)組示例 100
6.3.4 多維數(shù)組 104
6.4 字符數(shù)組與字符串 105
6.4.1 字符數(shù)組的定義與初始化 105
6.4.2 字符數(shù)組的引用 106
6.4.3 字符串 107
6.4.4 字符串的輸入輸出 108
6.4.5 常用的字符串處理函數(shù) 111
習題6 116
第7章 函數(shù) 119
7.1 函數(shù)的定義 119
7.1.1 無參函數(shù)的定義 119
7.1.2 空函數(shù) 122
7.1.3 有參函數(shù)的定義 122
7.2 函數(shù)的調(diào)用 122
7.2.1 函數(shù)調(diào)用的一般方法 122
7.2.2 函數(shù)的聲明 123
7.2.3 函數(shù)的參數(shù)與返回值 123
7.3 函數(shù)的嵌套調(diào)用 125
7.3.1 數(shù)組名作為函數(shù)參數(shù) 125
7.3.2 嵌套調(diào)用函數(shù) 125
7.4 函數(shù)的遞歸調(diào)用 127
7.5 局部變量和全局變量 129
7.6 應用程序舉例 135
習題7 137
第8章 指針 140
8.1 地址 140
8.2 指針變量 141
8.2.1 聲明指針變量 142
8.2.2 指針變量的賦值 142
8.2.3 有關指針的運算符 143
8.2.4 指針操作 144
8.3 數(shù)組與指針 146
8.3.1 通過指針操作一維數(shù)組 147
8.3.2 通過指針操作二維數(shù)組 153
8.3.3 通過指針操作字符串 157
8.4 指針與函數(shù) 158
8.4.1 指針變量作為函數(shù)參數(shù) 158
8.4.2 返回指針值的函數(shù) 166
習題8 168
第9章 結構體和共用體 172
9.1 結構體 172
9.1.1 結構體類型的定義 172
9.1.2 結構體變量的定義 173
9.1.3 結構體變量的初始化 176
9.1.4 結構體變量的引用 177
9.1.5 結構體變量的內(nèi)存分配 179
9.2 結構體數(shù)組 181
9.2.1 結構體數(shù)組的定義 181
9.2.2 結構體數(shù)組的初始化 182
9.2.3 結構體數(shù)組的引用 183
9.3 結構體指針 185
9.3.1 指向結構體變量的指針 185
9.3.2 指向結構體數(shù)組的指針 187
9.4 結構體作為函數(shù)參數(shù) 188
9.5 共用體 190
9.5.1 共用體類型的定義 190
9.5.2 共用體變量的定義 191
9.5.3 共用體變量的初始化 192
9.5.4 共用體變量的引用 193
9.6 枚舉類型 195
9.7 使用typedef聲明新類型名 198
習題9 198
第10章 文件 202
10.1 初識文件 202
10.1.1 文件的概念 202
10.1.2 文件的分類 203
10.1.3 文件的緩沖機制 204
10.1.4 文件指針 205
10.2 文件的打開與關閉 206
10.2.1 使用fopen函數(shù)打開數(shù)據(jù)文件 206
10.2.2 使用fclose函數(shù)關閉數(shù)據(jù)文件 209
10.3 文件的順序讀寫 210
10.3.1 字符讀寫函數(shù) 210
10.3.2 字符串讀寫函數(shù) 212
10.3.3 數(shù)據(jù)塊讀寫函數(shù) 214
10.3.4 格式化讀寫函數(shù) 216
10.4 文件的隨機讀寫 218
10.4.1 fseek函數(shù) 219
10.4.2 rewind函數(shù) 220
10.4.3 ftell函數(shù) 222
習題10 222