《程式設計基礎(C語言)第二版》是2010年清華大學出版社出版的圖書。
基本介紹
- 中文名:程式設計基礎(C語言)第二版
- 作者:鄭平安[等]編
- 出版時間:2010年
- 出版社:清華大學出版社
- ISBN:9787302123989
- 定價:33 元
- 裝幀:平裝
圖書簡介,目錄,
圖書簡介
本書全面、系統地介紹了C語言程式設計的基本知識。包括C語言的基本概念、變數、運算符、表達式、順序結構、分支結構、循環結構、數組、函式、指針、結構體、聯合體和枚舉類型、接口與函式館、檔案。同時也介紹了一些與程式設計有關的知識,包括算法設計與分析、抽象數據類型、程式抽象等。
本書結構清晰,語言通俗易懂,內容由淺入深、循序漸進,實例豐富,習題具有代表性。全書貫徹傳授知識、培養能力、提高素質的教學理念。
本書可以作為高等院校非計算機專業C語言程式設計的教材,也可以作為初次學習C語言程式設計的讀者、準備計算機二級考試者和計算機工程技術人員的參考書。
目錄
第1章C語言概述 1
1.1C語言的發展和特點 1
1.1.1C語言的發展過程 1
1.1.2C語言的主要特點 2
1.2C程式的結構 3
1.3TurboC上機步驟 6
1.3.1TurboC2.0檔案簡介 6
1.3.2TurboC啟動 6
1.3.3源程式的輸入、編譯、連線和運行 7
小結 8
習題 8
第2章基本數據類型和運算符 9
2.1關鍵字、標識符和保留標識符 9
2.2基本數據類型 11
2.2.1常量和變數的概念 11
2.2.2整型常量和實型常量 14
2.2.3整型變數 15
2.2.4實型變數 18
2.2.5字元常量和字元串常量 20
2.2.6字元變數 23
2.2.7用char定義小整數 25
2.2.8符號常量 26
2.3運算符和表達式 28
2.3.1表達式的概念 28
2.3.2算術運算符 30
2.3.3標準系統庫函式調用 31
2.3.4數據類型的轉換 33
2.3.5賦值運算符 36
2.3.6增量運算符 39
2.3.7副作用和順序點 41
2.3.8關係運算符 42
2.3.9邏輯運算符 43
2.3.10條件運算符 47
2.3.11逗號運算符和逗號表達式 48
2.3.12運算符優先權和結合方向 48
小結 49
習題 50
第3章順序語句和選擇語句 55
3.1程式設計概述 55
3.2scanf()函式和字元輸入、輸出函式調用 57
3.2.1數據輸入的概念 57
3.2.2scanf()函式的調用 58
3.2.3字元輸入函式 60
3.2.4字元輸出函式 61
3.3表達式語句 62
3.4複合語句 62
3.5if條件語句 63
3.5.1if結構 63
3.5.2if-else結構 67
3.5.3if-else-if結構 69
3.5.4條件語句的嵌套 73
3.6switch語句 77
3.7程式設計舉例 81
小結 85
習題 85
第4章循環語句和轉移語句 88
4.1循環的概念 88
4.2for循環 89
4.3while循環 98
4.4do-while循環 102
4.5break語句 104
4.6continue語句 104
4.7多重循環 106
4.8goto語句 114
小結 115
習題 115
第5章數組 119
5.1一維數組 119
5.1.1一維數組的定義 119
5.1.2一維數組元素的引用 120
5.1.3一維數組元素的初始化 122
5.2二維數組 124
5.2.1二維數組的定義 124
5.2.2二維數組的引用 125
5.2.3二維數組元素的初始化 126
5.3字元型數組 129
5.3.1字元數組的定義 129
5.3.2字元數組的引用 130
5.3.3字元數組的初始化 131
5.3.4字元串及其結束標誌 132
5.3.5字元數組的輸入/輸出 134
5.3.6常用的字元串處理函式 136
5.4使用數組的程式設計方法 140
5.4.1排序 140
5.4.2查找 143
小結 149
習題 150
第6章函式和模組設計 155
6.1結構化程式設計 155
6.1.1結構化程式設計的基本概念 156
6.1.2結構化程式設計的基本特徵 156
6.2函式的定義和調用 157
6.2.1函式的定義 158
6.2.2函式的調用 159
6.2.3函式的返回值 162
6.2.4函式參數及函式間的數據傳遞 165
6.3函式的嵌套調用和遞歸調用 173
6.3.1函式的嵌套調用 173
6.3.2函式的遞歸調用 176
6.4作用域和存儲類型 178
6.5內部函式和外部函式 187
6.5.1內部函式 187
6.5.2外部函式 188
6.6模組化程式設計 189
6.6.1模組化程式設計方法的指導思想 189
6.6.2模組分解的原則 190
6.7套用舉例 191
小結 197
習題 197
第7章指針 200
7.1指針的基本概念 200
7.2指針變數的定義和初始化 201
7.2.1指針變數的定義 201
7.2.2指針變數的初始化 202
7.3指針運算符 202
7.3.1取地址運算符& 202
7.3.2指針運算符* 203
7.4指針變數的運算 203
7.4.1賦值運算 203
7.4.2加減算術運算 205
7.4.3兩指針變數進行關係運算 207
7.4.4指針變數還可以與0比較 207
7.5指針變數作為函式參數 210
7.6指針和數組的關係 213
7.6.1指向數組的指針變數 213
7.6.2通過指針引用數組元素 214
7.6.3通過指針引用數組元素時應注意幾個問題 216
7.6.4數組名作函式參數 217
7.7指向字元串的指針變數 219
7.7.1字元串的表示形式 219
7.7.2使用字元串指針變數與字元數組的區別 220
7.7.3字元串指針作為函式參數 221
7.8指向多維數組的指針變數 223
7.8.1多維數組的地址 223
7.8.2指向數組的指針變數——數組指針變數 226
7.9指針數組和多級指針 228
7.9.1指針數組的概念 228
7.9.2指針數組的套用 229
7.9.3多級指針(指向指針的指針) 232
7.10指向函式的指針 234
7.10.1函式指針的概念 234
7.10.2函式指針的套用 236
7.11指針型函式 240
7.12命令行參數 242
7.12.1命令行參數的概念 242
7.12.2列印命令行參數 243
7.12.3命令行參數使用形式 244
7.12.4main()函式的返回 244
7.12.5從命令行提取檔案名稱 245
小結 247
習題 250
第8章結構體與聯合體 257
8.1結構體 257
8.1.1結構的定義和結構變數的引用 257
8.1.2結構類型變數的說明 258
8.1.3結構變數成員的引用 260
8.1.4結構變數的賦值 260
8.1.5結構變數的初始化 261
8.1.6結構數組的定義 261
8.1.7結構指針變數的說明和使用 263
8.1.8結構數據的動態存儲分配 267
8.1.9鍊表及其基本操作 268
8.2聯合體 274
8.2.1聯合的定義 275
8.2.2聯合變數的說明 275
8.3其他自定義數據類型 277
8.3.1枚舉類型 277
8.3.2類型定義符typedef 281
小結 282
習題 282
第9章接口和函式館 285
9.1預處理命令 285
9.1.1概述 285
9.1.2宏定義 285
9.1.3檔案包含 292
9.1.4條件編譯 293
9.2C的標準庫 295
9.2.1格式輸出函式(printf)中的格式說明 295
9.2.2格式輸入函式(scanf)中的格式說明 297
9.3圖形庫 297
9.3.1圖形模式初始化函式 298
9.3.2基本圖形函式 298
9.4螢幕控制函式館 303
9.5自定義接口與接口設計的原則 307
小結 312
習題 312
第10章檔案 313
10.1檔案的概念 313
10.2檔案類型指針 314
10.3檔案的基本操作 315
10.3.1檔案的打開函式fopen 315
10.3.2檔案關閉函式fclose 317
10.3.3字元讀寫函式fgetc和fputc 317
10.3.4字元串讀寫函式fgets和fputs 319
10.3.5數據塊讀寫函式fread和fwrite 320
10.3.6格式化讀寫函式fscanf和fprintf 322
10.3.7檔案的隨機讀寫 323
10.3.8檔案檢測函式 326
10.4程式設計舉例 326
小結 329
習題 329
第11章數據結構和數據抽象 331
11.1數據抽象 331
11.1.1抽象數據類型的基本概念 331
11.1.2抽象數據類型對程式設計的意義 332
11.1.3數據結構、數據類型和抽象數據類型 332
11.2線性表 333
11.2.1線性表的定義 333
11.2.2線性表的基本操作 334
11.2.3線性表的順序存儲 335
11.2.4順序表上基本運算的實現 336
11.3堆疊 339
11.3.1抽象堆疊的定義及基本操作 340
11.3.2抽象棧的定義 340
11.3.3順序棧的基本運算的實現 340
11.4佇列 342
11.4.1佇列的定義 342
11.4.2佇列的存儲結構及其相關算法 343
小結 347
習題 348
第12章算法和程式抽象 349
12.1算法的概念 349
12.2算法的類型與結構 350
12.2.1數值算法和非數值算法 350
12.2.2算法的基本結構 350
12.3算法的描述方法 351
12.3.1流程圖 351
12.3.2N-S圖 351
12.3.3偽代碼 352
12.4算法設計與分析 353
12.4.1算法的設計與實現 353
12.4.2算法分析與算法複雜度 355
12.4.3常用算法設計與分析 361
12.5軟體設計的基本原則 363
12.5.1軟體評判標準 363
12.5.2內聚性 364
12.5.3耦合度 365
12.6數據封裝和信息隱藏 366
12.6.1數據封裝 366
12.6.2信息隱藏 368
12.7算法抽象 369
12.7.1函式指針類型定義 370
12.7.2函式指針類型的使用 370
12.7.3算法抽象舉例 371
12.8程式設計方法 374
12.8.1可行性研究與項目開發計畫 374
12.8.2軟體需求分析 375
12.8.3軟體概要設計 376
12.8.4軟體詳細設計 377
12.8.5程式編碼 378
12.8.6軟體測試 378
小結 379
習題 379
附錄1常用字元與ASCII代碼對照表 381
附錄2C語言常用語法提要 382
附錄3TurboC的集成開發環境的使用 387
附錄4TurboC編譯錯誤信息 393
附錄5C庫函式 399
參考文獻 407