C語言程式設計案例教程 內容簡介
C語言是計算機軟體開發領域中最流行的程式設計語言之一,它具有功能強大、效率高、簡潔靈活和可移植性等特點,在軟體開發領域深受人們的普遍重視。本書系統、全面地介紹了C語言程式設計的方法,共分11章。內容包括C語言的各種數據類型(基本的和構造的)、運算符和表達式、各種語句、函式、編譯預處理以及檔案操作等內容。本書內容全面,結構合理,通過實例對C語言的語法要點進行了詳盡的闡述,是學習C語言的一本難得的教科書。本書既可供C語言初學者學習使用,也可供有一定經驗的軟體開發人員學習參考。///第1章C語言概述。從介紹C語言的發展歷史和特點入手,並結合了一些實例來向讀者展示C語言的概貌,使讀者能夠從整體上對C語言有一個概括性的認識。並簡單地介紹了C語言程式的開發過程以及C語言的字元集及詞法約定。
第2章基本數據類型。向讀者介紹了C程式設計語言中的常量、簡單變數以及基本數據類型等相關的基礎知識,並簡單介紹了常用的兩個標準輸入輸出函式。
第3章運算符和表達式。介紹了構成C語言語句的基本成分――表達式以及用於構造表達式的運算符。在介紹運算符的同時,還介紹了運算符的優先權和結合性。
第4章語句和控制流。介紹了構成C語言程式的各類語句,包括簡單語句、選擇語句、循環語句以及轉移語句。
第5章函式。介紹了最能體現C語言結構化設計思想的內容――函式。主要從函式的定義、說明、函式調用以及函式調用的嵌套和遞歸等方面進行介紹。
第6章變數的作用域與存儲類。主要介紹了變數的作用域――局部變數和全局變數以及變數的4種存儲類――自動的、靜態的、暫存器的和外部的存儲類,從而,使讀者能夠更好地運用變數。
第7章數組。介紹了C語言中的一種重要的構造數據類型――數組,在介紹數組的過程中,還特別介紹了數組中的一種特例――字元數組。
第8章指針。詳盡地介紹C語言的重點兼難點――指針。
第9章結構、聯合及其他類型。介紹了C語言中的另外兩種構造類型――結構和聯合以及枚舉和位域類型,還介紹了用typedef來為已知的類型定義別名。
第10章編譯預處理。介紹了C語言的一大特色――編譯預處理,主要介紹了編譯預處理的宏定義、檔案包含和條件編譯3個主要功能。
第11章檔案。主要介紹了圍繞檔案操作的標準輸入輸出庫函式。
本書覆蓋了C語言的主要的語言點,對C語言的介紹也比較系統和全面。為了使讀者能夠真正掌握C語言,我們在介紹C語言的各個語言點時力求做到通俗,尤其是對語言點中容易出現錯誤的地方作了詳細的說明,並結合了很多實例,使讀者能夠做到真正加以運用。本書的例子程式都是在計算機上調試通過並能正常運行的。儘管這些例子不一定能夠完全適合您的套用需要,但對於您學習語言、掌握各個語言點來講已經足夠了,希望讀者能夠舉一反三,開發出您自己的應用程式來。
C語言程式設計案例教程 本書目錄
第1章 C語言概述 11.1 C語言的發展歷史和特點 1
1.1.1 C語言的發展歷史 1
1.1.2 C語言的特點 2
1.2 C語言程式結構簡介 4
1.3 C語言程式的開發過程 9
1.3.1 在UNIX作業系統環境下開發C程式的步驟 11
1.3.2 在Turbo C環境下開發C程式的步驟 12
1.4 C語言的字元集及詞法約定 14
1.4.1 C語言的字元集 14
1.4.2 C語言的詞法約定 16
第2章 基本數據類型 19
2.1 數據類型概述 19
2.2 常量 20
2.2.1 整型常量 22
2.2.2 浮點常量 24
2.2.3 字元常量 26
2.2.4 字元串常量 27
2.3 簡單變數 28
2.4 基本數據類型 30
2.4.1 整型 30
2.4.2 字元型 32
2.4.3 浮點類型 33
2.5 類型轉換 34
2.6 標準輸入輸出函式 35
2.6.1 標準輸入輸出函式簡介 35
2.6.2 標準輸出函式printf 36
2.6.3 標準輸入函式scanf 40
第3章 運算符和表達式 43
3.1 算術運算符 43
3.1.1 加法運算符(+) 43
3.1.2 減法運算符(-) 44
3.1.3 乘法運算符(*) 44
3.1.4 除法運算符(/) 44
3.1.5 取模運算符(%) 44
3.1.6 算術表達式 44
3.1.7 程式舉例 45
3.2 賦值運算符 46
3.3 增量運算符 49
3.4 關係運算符 51
3.5 條件運算符 52
3.6 逗號運算符 54
3.7 邏輯運算符 55
3.8 位邏輯運算符 58
3.9 移位運算符 62
3.10 強制類型轉換運算符 63
3.11 其他運算符 64
3.12 運算符嵌套與運算順序 65
3.12.1 運算符嵌套 65
3.12.2 運算順序 66
3.13 運算符的優先權和結合性 67
第4章 語句和控制流 70
4.1 簡單語句 71
4.1.1 表達式語句 71
4.1.2 空語句 73
4.1.3 複合語句 73
4.1.4 返回語句 73
4.2 條件語句 74
4.2.1 條件語句的一般形式 74
4.2.2 條件語句的簡化形式 78
4.2.3 條件語句的嵌套形式 79
4.3 switch語句 86
4.4 while語句 90
4.5 do-while語句 94
4.6 for語句 98
4.7 break,continue和goto語句 104
4.7.1 break語句 104
4.7.2 continue語句 107
4.7.3 goto語句 109
4.8 循環的嵌套 110
第5章 函式 114
5.1 函式定義 115
5.2 函式的返回值和類型說明 121
5.2.1 函式的返回值 121
5.2.2 函式的類型說明 125
5.3 函式調用 127
5.3.1 函式調用的一般形式和執行過程 127
5.3.2 函式調用的參數傳遞 129
5.3.3 函式原型說明和函式原型定義 131
5.3.4 函式調用的方式 134
5.3.5 可變參數函式 135
5.4 函式調用的嵌套和遞歸 135
5.4.1 函式的嵌套調用 135
5.4.2 函式的遞歸調用 137
第6章 變數的作用域與存儲類 144
6.1 變數的作用域 144
6.1.1 局部變數 144
6.1.2 全局變數 145
6.2 變數的存儲類別 148
6.2.1 局部變數的存儲類 149
6.2.2 全局變數的存儲類 155
6.2.3 存儲類小結 156
6.3 變數的初始化 157
6.4 內部函式和外部函式 158
6.4.1 內部函式 158
6.4.2 外部函式 159
第7章 數組 160
7.1 一維數組 162
7.1.1 一維數組的定義 162
7.1.2 一維數組的引用 163
7.1.3 一維數組的套用 164
7.1.4 一維數組的初始化 172
7.1.5 一維數組的內部表示 176
7.2 多維數組 177
7.2.1 二維數組的定義 177
7.2.3 二維數組的初始化 181
7.2.4 二維數組的套用 186
7.2.5 多維數組簡介 191
7.3 字元數組 192
7.3.1 一維字元數組的定義和引用 192
7.3.2 一維字元數組的初始化 194
7.3.3 多維字元數組 196
7.3.4 字元數組的輸入輸出 197
7.3.5 字元串處理函式 203
7.4 將數組作為函式參數 206
7.4.1 數組元素作為函式參數 206
7.4.2 一維數組名作為函式參數 207
7.4.3 多維數組名作為函式參數 209
第8章 指針 211
8.1 指針的意義 211
8.2 指針變數的定義 213
8.3 指針變數的引用 216
8.3.1 與指針相關的運算 216
8.3.2 指針變數的引用 218
8.4 指針運算 220
8.4.1 加法運算 220
8.4.2 減法運算 222
8.4.3 自增運算 225
8.4.4 自減運算 225
8.4.5 賦值運算 226
8.4.6 關係運算 228
8.5 指針作為函式參數 230
8.6 指針與數組 234
8.6.1 一維數組指針的定義與賦值 234
8.6.2 利用指針引用一維數組元素 235
8.6.3 一維數組名作為函式參數 239
8.6.4 指向多維數組的指針 242
8.6.5 多維數組的指針作函式的參數 247
8.7 指向字元串的指針 249
8.7.1 指向字元串的指針 249
8.7.2 指向字元串的指針作為函式的參數 255
8.8 指針數組 257
8.9 指針的指針 260
8.10 main函式的參數 262
8.11 指向函式的指針 264
8.12 返回指針的函式 267
8.13 void *和動態存儲分配 268
8.13.1 void * 268
8.13.2 動態存儲分配 269
第9章 結構、聯合及其他類型 271
9.1 結構類型和結構變數的定義 271
9.1.1 結構類型的定義 271
9.1.2 結構變數的定義 273
9.2 結構成員的引用 275
9.2.1 結構成員的引用方法 275
9.2.2 指向結構的指針和運算符-> 277
9.3 用結構變數和指向結構的指針作函式參數 279
9.4 結構變數的初始化 281
9.5 結構數組 283
9.6 聯合類型 284
9.6.1 聯合變數的定義 284
9.6.2 聯合變數的引用 285
9.7 枚舉類型 289
9.8 位域 292
9.9 用typedef定義類型 295
第10章 編譯預處理 298
10.1 宏定義 298
10.1.1 不帶參數的宏定義 298
10.1.2 帶參數的宏定義 303
10.1.3 運算符#和## 307
10.2 檔案包含 307
10.3 條件編譯 308
第11章 檔案 312
11.1 C檔案概述 312
11.2 檔案類型指針 313
11.3 檔案的打開與關閉 314
11.3.1 檔案的打開 314
11.3.2 檔案的關閉 317
11.4 檔案的讀寫 318
11.4.1 fputc函式和fgetc函式 318
11.4.2 fwrite函式和fread函式 319
11.4.3 fprintf函式和fscanf函式 321
11.4.4 fputs函式和fgets函式 323
11.5 檔案的定位 324
11.5.1 rewind函式 324
11.5.2 fseek函式 324
11.5.3 ftell函式 326
11.6 檔案操作的出錯檢測 327
11.6.1 ferror函式 327
11.6.2 clearerr函式 327