內容簡介
本書用實例引導學生學習編寫程式、調試程式、注釋程式和編寫程式文檔,意在使學生在學習程式設計的同時,培養良好的程式設計風格。為了給相關專業的學生打下一定的基礎,本書介紹了C語言在單片機套用系統開發中的使用方法。為了便於學生通過計算機等級考試,本書對計算機等級考試也進行了分析。
本書主要內容包括:程式設計基礎,數據類型、運算符及表達式,結構化程式設計的三種基本結構,函式,數組,指針,結構體,位運算,檔案。本書附錄給出了C語言在單片機套用系統開發中的套用和二級C語言等級考試技巧。
本書可作為高職高專工科專業學生學習C語言程式設計的教材或參考用書,也可作為自學和計算機等級考試的參考用書。
目錄
第1章 程式設計基礎 1
1.1 C語言簡介 1
1.1.1 C程式結構 1
1.1.2 C程式的結構特點 3
1.1.3 C語言的歷史 4
1.1.4 C語言的優點 4
1.1.5 C語言的不足 5
1.1.6 C語言的發展 5
1.2 程式設計的基本概念 6
1.2.1 算法 6
1.2.2 算法的特性和目標 6
1.2.3 算法的表示 7
1.3 程式設計方法 10
1.3.1 程式設計的步驟 10
1.3.2 結構化程式設計方法 11
1.4 程式設計風格 11
1.4.1 符號的命名 12
1.4.2 程式文檔 12
1.4.3 源程式的書寫格式 13
1.4.4 構造語句 13
1.4.5 輸入/輸出 13
1.5 C語言程式的調試與運行 13
1.5.1 C語言程式的調試與運行過程 13
1.5.2 C語言程式上機操作和調試 14
習題1 18
第2章 數據類型、運算符及表達式 19
2.1 C語言的數據類型 19
2.2 常量 19
2.2.1 整型常量 19
2.2.2 實型常量 20
2.2.3 字元型常量 21
2.2.4 字元串常量 22
2.3 變數 23
2.3.1 變數的聲明 23
2.3.2 變數的初始化及分類 23
2.4 運算符與表達式 27
2.4.1 算術運算符及算術表達式 27
2.4.2 賦值運算符及賦值表達式 27
2.4.3 複合賦值運算 29
2.4.4 關係運算符與關係表達式 29
2.4.5 邏輯運算符與邏輯表達式 31
2.4.6 條件運算符與條件表達式 32
2.4.7 逗號運算符與逗號表達式 33
2.4.8 取址運算符& 34
2.4.9 運算符的優先權與結合性 35
2.4.10 數據類型轉換 36
習題2 37
第3章 結構化程式設計的三種基本結構 41
3.1 順序結構程式設計 41
3.1.1 賦值語句 41
3.1.2 標準輸入/輸出語句及使用 43
3.1.3 單個字元輸入/輸出函式語句及使用 46
3.1.4 順序結構程式設計實例 49
3.2 分支結構程式設計 52
3.2.1 if語句 53
3.2.2 switch語句 59
3.2.3 分支結構程式設計實例 62
3.3 循環結構程式設計 67
3.3.1 while 循環 67
3.3.2 do-while循環 70
3.3.3 for循環 72
3.3.4 循環結構的嵌套 75
3.3.5 break語句、continue語句和goto 語句 78
3.3.6 循環結構程式設計實例 83
習題3 88
第4章 函式 92
4.1 函式的定義 92
4.1.1 函式的基本概念 92
4.1.2 函式的定義 93
4.2 函式參數與返回值 95
4.2.1 函式的參數 95
4.2.2 函式的返回值 96
4.3 函式調用 98
4.3.1 函式的聲明 98
4.3.2 函式的調用 99
4.3.3 函式調用的數據傳遞方式 102
4.4 函式的嵌套調用 103
4.4.1 函式的嵌套調用 103
4.4.2 函式的遞歸調用 105
4.5 變數的作用域 108
4.6 變數的存儲類別 110
4.6.1 內部變數的存儲類別 111
4.6.2 外部變數的存儲類別 113
習題4 114
第5章 數組 120
5.1 一維數組 120
5.1.1 一維數組的定義格式 120
5.1.2 一維數組的引用 120
5.1.3 一維數組的初始化 121
5.1.4 一維數組套用舉例 121
5.2 二維數組 126
5.2.1 二維數組的定義格式 126
5.2.2 二維數組的引用 126
5.2.3 二維數組的初始化 126
5.2.4 二維數組套用舉例 127
5.3 字元數組 130
5.3.1 字元數組的定義和引用 130
5.3.2 字元串和字元數組 132
5.3.3 常用字元串處理函式 134
5.3.4 字元數組和函式 136
習題5 137
第6章 指針 140
6.1 地址與指針 140
6.1.1 地址 140
6.1.2 指針 141
6.2 指針變數 142
6.2.1 指針變數的定義 142
6.2.2 指針變數的使用 142
6.3 一維數組的指針 146
6.3.1 指向數組的指針變數 146
6.3.2 一維數組的指針 146
6.4 指針與字元串 148
6.4.1 指向字元串的指針變數 148
6.4.2 字元串指針變數套用舉例 149
習題6 149
第7章 結構體 153
7.1 結構體類型與結構體變數 153
7.1.1 結構體類型的定義 153
7.1.2 結構體變數的定義 154
7.1.3 結構體變數的指針 155
7.1.4 結構體變數的初始化 155
7.1.5 結構體變數的引用 155
7.2 結構體數組 157
7.2.1 結構體數組的定義和初始化 157
7.2.2 結構體數組的引用 158
7.3 結構體和函式 160
7.3.1 結構體指針變數作為函式參數 160
7.3.2 結構體數組作函式參數 161
7.4 鍊表 163
7.4.1 靜態鍊表的建立與輸出 164
7.4.2 處理動態鍊表需要的函式 164
7.4.3 建立動態鍊表 165
7.4.4 對鍊表的刪除 168
7.4.5 對鍊表的插入操作 169
習題7 172
第8章 位運算 174
8.1 位運算與位運算符 174
8.1.1 “按位與”運算(&) 174
8.1.2 “按位或”運算(|) 176
8.1.3 “按位異或”運算(^) 177
8.1.4 “按位取反”運算(~) 179
8.1.5 “左移”運算(<<) 180
8.1.6 “右移”運算(>>) 181
8.1.7 位複合賦值運算符 181
8.2 位段及使用 182
8.2.1 位段結構類型 182
8.2.2 位段結構類型變數的定義與引用 183
8.2.3 套用舉例 185
習題8 188
第9章 檔案 191
9.1 C語言檔案系統的基本概念 191
9.1.1 C檔案是流檔案 191
9.1.2 C語言支持兩種類型的檔案 191
9.1.3 C語言對檔案處理的兩種方法 191
9.1.4 C檔案操作的一般方法 192
9.1.5 檔案類型 192
9.1.6 檔案類型指針 192
9.2 檔案的打開與關閉 193
9.2.1 檔案打開 193
9.2.2 檔案關閉 195
9.3 檔案的讀寫 195
9.3.1 字元讀寫函式 195
9.3.2 字元串讀寫函式 196
9.3.3 數據塊讀寫函式 199
9.3.4 按指定格式讀寫函式(fprintf函式和fscanf函式) 201
9.3.5 檔案的定位 202
9.3.6 判斷檔案結束的feof函式 203
習題9 204
附錄A C語言在單片機套用系統開發中的套用 207
A.1 C語言與51單片機 207
A.1.1 51單片機的C語言編程 207
A.1.2 C51開發工具與單片機C語言編譯器 208
A.1.3 Keil 80C51開發工具 208
A.1.4 Keil C51對標準C語言的擴展 209
A.2 單片機C51語言基礎 209
A.2.1 C51支持的數據類型 209
A.2.2 C51中的變數定義 210
A.2.3 C51中的運算符 211
A.2.4 C51的基本語句 212
A.2.5 C51函式的定義及使用 214
A.2.6 C51數組的定義及使用 215
A.2.7 C51中頭檔案 216
A.2.8 C51程式書寫結構要點 219
A.2.9 C51程式實例 219
A.3 單片機編程軟體Keil C51的使用 220
A.3.1 進入Keil,新建工程 220
A.3.2 新建檔案,保存檔案 222
A.3.3 編譯程式 224
附錄B 二級C語言等級考試題型分析與應試技巧 226
B.1 等級考試及二級C語言題型簡介 226
B.1.1 等級考試簡介 226
B.1.2 二級C語言的要求 226
B.1.3 二級C語言題型簡介 227
B.1.4 二級C語言考試時間 227
B.1.5 無紙化考試注意事項 227
B.2 二級C語言備考複習對策 227
B.2.1 平時多積累 227
B.2.2 備考複習要有針對性 228
B.3 二級C語言應試技巧 228
B.3.1 選擇題的應試技巧 228
B.3.2 程式填空題的應試技巧 229
B.3.3 改錯題的應試技巧 230
B.3.4 程式設計題的應試技巧 231
參考文獻 232