C語言程序設計教程

清華大學出版社出版圖書(張建勛等編)

《C語言程序設計教程》是2008年清華大學出版社出版的圖書,作者是張建勛,紀綱。

內容簡介


本書注重教材的可讀性和適用性,全書共ll章,內容包括C語言程序設計基礎,基本數據類型、運算符與表達式,基本輸入、輸出和順序程序設計,選擇結構程序設計,循環結構程序設計,數組,函數,指針,預處理命令,宏定義、複雜數據類型,文件等。
本書每章開頭都給出了雙語教學英語辭彙;在“承上啟下”中介紹本章內容與前面章節知識點的關係、本章內容與後面章節知識點的關係:在“指點要津”中給出該章學習意義和學習目標;在“小結”中對關鍵知識點和要求掌握的知識點進行了詳細的說明;附有大量的圖表和程序,使讀者能正確、直觀地理解問題;樣常式序由淺入深,強化知識點、演演算法、編程方法與技巧,並給出了詳細的解釋;另外,本書還配套提供題型豐富的習題。

編輯推薦


本書可作為高等學校大學本科、高職高專學生“C語言程序設計”課程教學用書,也可作為全國計算機水平考試及各類短訓班的培訓教材。

目錄


第1章C語言程序設計基礎 1
1.1C語言的發展及其特點和應用 2
1.1.1C語言的發展 2
1.1.2C語言的特點 3
1.2C語言程序的基本結構 4
1.3演演算法表示方法 8
1.4運行C語言程序的基本步驟 14
小結 18
習題一 18
第2章基本數據類型、運算符與表達式 21
2.1C語言的數據類型 22
2.2常量、變數和標識符 23
2.3簡單數據類型與表示範圍 27
2.3.1整型數據 27
2.3.2實型數據 31
2.3.3字元型數據和字元串常量 33
2.3.4各數據類型間的混合運算 37
2.3.5簡單數據類型的表示範圍 38
2.3.6數據的簡單輸出 39
2.4C語言的運算符與表達式 40
2.4.1C語言運算符簡介 40
2.4.2賦值運算符和賦值表達式 41
2.4.3強制類型轉換符 46
2.4.4算術運算符和算術表達式 47
2.4.5自增自減運算符 49
2.4.6位運算符、位運算表達式 51
2.4.7逗號運算符逗號表達式 53
2.4.8指針運算符sizeof運算符 55
2.5運算符的優先順序和結合性 55
小結 56
習題二 58
第3章順序結構程序設計 61
3.1結構化程序設計 62
3.1.1結構化程序設計概述 62
3.1.2結構化程序設計的基本結構及其特點 63
3.2C語句概述 63
3.3輸入輸出介紹 65
3.3.1格式化輸出函數printf 65
3.3.2格式化輸入函數scanf 68
3.3.3字元輸出函數putchar 69
3.3.4字元輸入函數getchar 70
3.4順序結構程序設計舉例 71
小結 73
習題三 73
第4章選擇結構程序設計 75
4.1關係運算符、邏輯運算符、條件運算符 75
4.1.1關係運算符和關係表達式 75
4.1.2邏輯運算符和邏輯表達式 76
4.1.3條件運算符和條件表達式 77
4.2選擇結構的程序設計 78
4.2.1if語句 78
4.2.2switch語句 79
4.3選擇結構程序設計舉例 81
小結 85
習題四 85
第5章循環結構程序設計 87
5.1while語句 88
5.2do-while語句 90
5.3for語句 93
5.4goto、break、continue語句 95
5.5循環的嵌套 97
5.6程序舉例 98
小結 101
習題五 101
第6章數組 103
6.1一維數組的定義和引用 105
6.1.1一維數組的定義 105
6.1.2一維數組元素的引用 106
6.1.3一維數組的初始化 107
6.1.4一維數組程序舉例 108
6.2二維數組 110
6.2.1二維數組的定義 111
6.2.2二維數組元素的引用 111
6.2.3二維數組的初始化 112
6.2.4二維數組程序舉例 113
6.3字元數組 116
6.3.1字元數組的定義 116
6.3.2字元數組的初始化 116
6.3.3字元數組的引用 117
6.3.4字元串 118
6.3.5字元串的輸入輸出 119
6.3.6字元串操作函數 122
6.3.7字元數組應用舉例 124
小結 127
習題六 128
第7章函數 129
7.1函數概述 132
7.1.1函數與模塊化程序設計方法 132
7.1.2函數的分類 133
7.1.3主函數 134
7.2函數定義和調用 134
7.2.1函數定義 134
7.2.2函數調用 138
7.3函數參數傳遞 140
7.3.1傳值調用 140
7.3.2傳址調用 141
7.4函數與數組 143
7.5函數與指針 148
7.5.1返回指針的函數 149
*7.5.2指向函數的指針 150
7.6函數與結構 152
7.6.1結構指針及結構變數的傳址調用 152
7.6.2結構型函數 154
7.6.3結構指針型函數 155
7.7遞歸函數 156
*7.8命令行參數 161
7.9標準庫函數 163
7.10程序舉例 164
小結 169
習題七 169
第8章指針 172
8.1指針與指針變數的概念 173
8.1.1指針的概念 173
8.1.2指針變數 173
8.2指針變數的定義和引用 176
8.2.1指針變數的定義 176
8.2.2指針變數的引用 177
8.3指針和地址運算 179
8.4指針與數組 180
8.4.1指針變數與數組 180
8.4.2指針變數在一維數組中的應用 183
8.4.3指針變數在多維數組中的應用 185
8.5指針與字元串 191
8.5.1字元串操作的特點及字元指針變數的引入 191
8.5.2指向字元串的指針變數 191
8.6指針數組與多級指針 194
8.6.1指針數組 194
8.6.2指針數組的使用 195
8.6.3多級指針 196
8.7指針變數與函數 198
8.7.1函數的操作方式與指針變數 198
8.7.2指針型函數的定義與使用 199
8.7.3函數指針的定義與使用 200
8.7.4與指針有關的函數參數傳遞方式 202
8.7.5帶參數的main函數和命令行參數 207
8.8指針與動態內存分配 208
8.8.1動態存儲的概念 208
8.8.2C語言的動態存儲管理方式 209
小結 211
習題八 214
第9章編譯預處理 220
9.1宏定義 222
9.1.1不帶參數的宏定義 222
9.1.2帶參數的宏定義 224
9.2文件包含處理 228
9.3條件編譯 232
小結 236
習題九 238
第10章複雜數據類型 241
10.1複雜數據類型概述 242
10.2結構體 243
10.2.1結構體類型的定義 243
10.2.2結構體變數的定義和引用 244
10.2.3結構體變數的賦值 247
10.2.4結構體數組 248
10.3線性鏈表 251
10.3.1固定內存分配與動態內存分配的概念 251
10.3.2鏈表的概念 253
10.3.3動態存儲分配鏈表的基本操作 256
10.4共用體 259
10.4.1共用體類型的定義 259
10.4.2共用體變數的定義和引用 259
10.4.3共用體變數的賦值 261
10.5枚舉類型 262
10.5.1枚舉類型的定義 262
10.5.2枚舉變數的說明與引用 262
10.6自定義類型 264
10.7複雜數據類型應用綜合舉例 266
小結 269
習題十 270
第11章文件 276
11.1文件的基本概念 277
11.2文件的類別 279
11.3文件指針 280
11.4文件操作概述 280
11.5文件的打開、讀/寫和關閉 281
11.5.1文件的打開(fopen函數) 281
11.5.2文件的關閉(fclose函數) 283
11.5.3文件的讀/寫 283
11.6文件的定位讀/寫 290
11.7文件應用綜合舉例 291
小結 295
習題十一 295
附錄AC語言的字符集-ASCII字元表 296
附錄BC語言的關鍵字 297
附錄C運算符的結合性 298
附錄DC語言的庫函數 299
附錄EC語言常見錯誤 306
附錄FTurboC常見錯誤提示英漢 311
附錄G重慶市計算機二級等級考試大綱 315
參考文獻 319