標準C程式設計(第3版)

標準C程式設計(第3版)

《標準C程式設計(第3版)》是2006年清華大學出版社出版的圖書,作者是金銘。

基本介紹

  • 中文名:標準C程式設計(第三版)
  • 作者:金銘 
  • 出版社清華大學出版社
  • ISBN:7302128316
  • 定價:35.00
圖書簡介,圖書目錄,

圖書簡介

本書是印度各大學使用最廣的C語言程式設計教材之一。
本書旨在教授讀者如何使用C語言進行程式設計。全書貫徹了“用示例學習”的概念。在深入介紹了C語言的每個特性之後,給出了一個完整的示例程式,用於演示說明其套用。每章末尾的“案例學習”不僅介紹了把C語言的特性集成在一起的常用方法,而且還顯示了它在實際生活中的套用。最後一章介紹了開發高效、無錯誤的C程式的一些指導原則。
本書第3版融入了過去10年中採用本書的學生和老師的很多反饋意見。
總之,本書的語言簡潔易懂,示例非常豐富且具有很強的實際指導意義,是一本很好的C語言程式設計的教材。

圖書目錄

第1章 C語言概述 1
1.1 C語言的歷史 1
1.2 C語言的主要特性 2
1.3 示例程式1:顯示一條訊息 3
1.4 示例程式2:兩個數相加 6
1.5 示例程式3:利息計算 7
1.6 示例程式4:子例程的使用 9
1.7 示例程式5:數學函式的使用 10
1.8 C程式的基本結構 12
1.9 編程風格 13
1.10 運行一個程式 13
1.11 UNIX系統環境下 14
1.11.1 創建程式 14
1.11.2 編譯與連結 15
1.11.3 運行程式 15
1.11.4 創建自己的可運行檔案 16
1.11.5 多個源檔案問題 16
1.12 MS-DOS系統環境下 17
1.13 複習題 18
1.14 編程練習 19
第2章 常量、變數及數據類型 21
2.1 概述 21
2.2 字元集 21
2.3 C標記符 22
2.4 關鍵字與標識符 22
2.5 常量 23
2.5.1 整型常量 24
2.5.2 實數常量 25
2.5.3 單字元常量 25
2.5.5 反斜槓字元常量 26
2.6 變數 26
2.7 數據類型 27
2.7.1 整數型 28
2.7.2 浮點數類型 29
2.7.3 void類型 30
2.7.4 字元類型 30
2.8 變數的聲明 30
2.8.1 基本類型的聲明 30
2.8.2 自定義類型的聲明 32
2.9 存儲類的聲明 33
2.10 變數的賦值 34
2.10.1 賦值語句 35
2.10.2 從鍵盤讀取數據 37
2.11 符號常量的定義 40
2.11.1 可修改性 40
2.11.2 可理解性 40
2.12 將變數聲明為常量 41
2.13 將變數聲明為可變的 41
2.14 數據的溢出 42
2.15 案例學習 43
2.15.1 平均數計算 43
2.15.2 溫度轉換問題 44
2.16 複習題 45
2.17 編程練習 47
第3章 運算符與表達式 48
3.1 概述 48
3.2.1 整數算術運算 49
3.2.2 實數算術運算 50
3.2.3 混合算術運算 50
3.6 遞增和遞減運算符 54
3.8 逐位運算符 56
3.9 特殊運算符 56
3.9.2 sizeof運算符 57
3.11 表達式的計算 58
3.12 算術表達式的優先權 59
3.13 一些可計算性問題 61
3.14 表達式中的類型轉換 62
3.14.1 隱式類型轉換 62
3.14.2 顯示轉換 64
3.15 運算符的優先權及其關聯 66
3.16 數學函式 67
3.17 案例學習 68
3.17.1 銷售人員的工資 68
3.17.2 二次方程的求解 69
3.18 複習題 71
3.19 編程練習 73
第4章 輸入輸出操作管理 75
4.1 概述 75
4.2 讀取一個字元 75
4.3 寫字元 78
4.4 格式化輸入 79
4.4.1 整數輸入 80
4.4.2 實數輸入 82
4.4.3 字元串輸入 83
4.4.4 混合數據類型的讀取 85
4.4.5 錯誤輸入的檢測 85
4.4.6 使用scanf函式時應記
住的幾個要點 87
4.5 格式化輸出 88
4.5.1 整數的輸出 89
4.5.2 實數的輸出 90
4.5.3 單個字元的顯示 92
4.5.4 字元串的顯示 92
4.5.5 混合數據的輸出 93
4.5.6 提高輸出的可讀性 94
4.6 案例學習 95
4.6.1 庫存報告 95
4.6.2 可靠性圖形 97
4.7 複習題 99
4.8 編程練習 101
第5章 判斷與分支 102
5.1 概述 102
5.2 if判斷語句 102
5.3 簡單if語句 103
5.4 if...else語句 106
5.5 嵌套if...else語句 109
5.6 階梯式else if語句 112
5.7 switch語句 116
5.8 ? : 運算符 119
5.9 goto語句 122
5.10 案例學習 125
5.10.1 數值的分布範圍 125
5.10.2 賬單計算 127
5.11 複習題 130
5.12 編程練習 132
第6章 判斷與循環 135
6.1 概述 135
6.2 while語句 137
6.3 do語句 139
6.4 for語句 141
6.4.1 簡單的for循環語句 141
6.4.2 for循環的其他特性 144
6.4.3 for循環的嵌套 146
6.5 循環中的跳轉 148
6.5.1 跳出循環 148
6.5.2 跳過循環的一部分 152
6.5.3 避免使用goto語句 155
6.5.4 簡潔的測試表達式 155
6.6 案例學習 156
6.6.1 二項式係數表 156
6.6.2 柱狀圖 158
6.6.3 最小成本 160
6.6.4 描繪兩函式的曲線圖 161
6.7 複習題 163
6.8 編程練習 166
第7章 數組 169
7.1 概述 169
7.2 一維數組 170
7.3 一維數組的聲明 171
7.4 一維數組的初始化 173
7.4.1 編譯時初始化 174
7.4.2 運行時初始化 175
7.5 二維數組 177
7.6 二維數組的初始化 181
7.7 多維數組 185
7.8 動態數組 186
7.9 數組的其他 186
7.10 案例學習 188
7.10.1 數列的中值問題 188
7.10.2 標準偏差的計算 190
7.10.3 測試評分 192
7.10.4 產品與銷售分析 194
7.11 複習題 201
7.12 編程練習 203
第8章 字元數組與字元串 206
8.1 概述 206
8.2 字元串變數的聲明與初始化 206
8.3 使用scanf函式從終端讀取字元串 208
8.3.1 讀取文本行 210
8.3.2 使用getchar和gets函式 210
8.4 在螢幕上顯示字元串 213
8.4.1 使用printf函式 213
8.4.2 使用putchar和puts函式 216
8.5 字元的算術運算 217
8.6 將字元串組合在一起 219
8.7 兩個字元串的比較 220
8.8 字元串處理函式 221
8.8.1 strcat()函式 221
8.8.2 strcmp()函式 222
8.8.3 strcpy()函式 222
8.8.4 ctrlen()函式 223
8.8.5 其他字元串函式 224
8.9 字元串表 226
8.10 字元串的其他特性 228
8.11 案例學習 229
8.11.1 計算文本中的字數 229
8.11.2 客戶列表處理程式 231
8.12 複習題 233
8.13 編程練習 235
第9章 自定義函式 237
9.1 概述 237
9.2 為什麼需要自定義函式 237
9.3 多函式程式 238
9.4 自定義函式的元素 240
9.5 函式的定義 241
9.5.1 函式頭 241
9.5.2 函式名與類型 241
9.5.3 形參列表 242
9.5.4 函式體 242
9.6 返回值及其類型 243
9.7 函式調用 244
9.8 函式聲明 246
9.9 函式的類型 248
9.10 無參數無返回值的函式 248
9.11 有參數無返回值的函式 250
9.12 有參數有返回值的函式 253
9.13 無參數但有一個返回值的函式 257
9.14 返回多個值的函式 257
9.15 函式的嵌套 259
9.16 函式的疊代 260
9.17 將數組傳遞給函式 261
9.17.1 一維數組 261
9.17.2 二維數組 265
9.18 將字元串傳遞給函式 266
9.19 變數的作用域、可見性和生存期 267
9.19.1 自動變數 267
9.19.2 外部變數 269
9.19.3 外部聲明 271
9.19.4 靜態變數 273
9.19.5 暫存器變數 274
9.19.6 嵌套代碼塊 275
9.20 多檔案程式 276
9.21 案例學習 279
9.22 複習題 282
9.23 編程練習 286
第10章 結構與聯合 288
10.1 概述 288
10.2 結構的定義 288
10.3 聲明結構變數 289
10.4 訪問結構成員 291
10.5 結構的初始化 292
10.6 結構變數的複製與比較 294
10.7 單個成員的運算 295
10.8 結構數組 296
10.9 結構中的數組 298
10.10 結構中的結構 300
10.11 結構與函式 302
10.12 聯合 304
10.13 結構的大小 306
10.14 位域 306
10.15 案例學習 309
10.16 複習題 313
10.17 編程練習 316
第11章 指針 319
11.1 概述 319
11.2 理解指針 319
11.3 訪問變數的地址 321
11.4 指針變數的聲明 322
11.5 指針變數的初始化 323
11.6 通過指針訪問變數 325
11.7 指針鏈 327
11.8 指針表達式 328
11.9 指針的遞增與比例因子 329
11.10 指針與數組 330
11.11 指針與字元串 333
11.12 指針數組 335
11.13 指針作為函式的參數 336
11.14 函式返回指針 339
11.15 指向函式的指針 340
11.16 指針與結構 342
11.17 案例學習 346
11.17.1 考試成績處理程式 346
11.17.2 庫存更新程式 349
11.18 複習題 351
11.19 編程練習 352
第12章 檔案管理 354
12.1 概述 354
12.2 定義並打開檔案 355
12.3 關閉檔案 356
12.4 檔案的輸入輸出操作 357
12.4.1 getc與putc函式 357
12.4.2 getw和putw函式 358
12.4.3 fprintf與fscanf函式 360
12.5 I/O操作的錯誤處理 362
12.6 隨機訪問檔案 365
12.8 複習題 372
12.9 編程練習 373
第13章 動態記憶體分配與鍊表 374
13.1 概述 374
13.2 動態記憶體分配 374
13.3 用malloc函式分配一塊記憶體 375
13.4 用calloc函式分配多個記憶體塊 377
13.5 用free函式釋放已用的空間 378
13.6 用realloc函式改變記憶體塊的大小 378
13.7 鍊表的概念 380
13.8 鍊表的優點 382
13.9 鍊表的種類 383
13.10 再論指針 384
13.11 創建鍊表 386
13.12 插入一個數據項 389
13.13 刪除一個數據項 392
13.14 鍊表的套用 394
13.15 案例學習 396
13.15.1 在已排序鍊表中
插入數據 396
13.15.2 構建一個已排序的鍊表 399
13.16 複習題 402
13.17 編程練習 403
第14章 預處理器 405
14.1 概述 405
14.2 宏替換指令 405
14.2.1 簡單宏替換 406
14.2.2 含參數的宏 408
14.2.3 宏嵌套 409
14.2.4 檔案包含 410
14.4 編譯器控制指令 410
14.4.1 情形1 411
14.4.2 情形2 412
14.4.3 情形3 412
14.4.4 情形4 413
14.5 ANSI C的其他預處理器指令 414
14.5.1 #elif指令 414
14.5.2 #pragma指令 414
14.5.3 #error指令 415
14.5.4 字元串化運算符 415
14.5.5 標記符貼上運算符 416
14.6 複習題 416
14.7 編程練習 417
第15章 C程式開發指導原則 418
15.1 概述 418
15.2 程式設計 418
15.2.1 問題分析 418
15.2.2 勾勒程式結構 418
15.2.3 算法開發 419
15.2.4 控制結構 419
15.3 程式編碼 420
15.3.1 自身文檔化 420
15.3.2 語句構造 421
15.3.3 輸入/輸出格式 421
15.3.4 程式的通用性 421
15.4 常見的程式錯誤 422
15.4.1 丟失分號 422
15.4.2 誤用分號 422
15.4.3 丟失括弧 423
15.4.4 丟失引號 424
15.4.5 誤用引號 424
15.4.6 使用不正確的注釋字元 424
15.4.7 未定義變數 425
15.4.8 忽視了運算符的優先權 425
15.4.9 忽視了遞增遞減運算符
的計算順序 426
15.4.10 忽視了函式參數的說明 426
15.4.11 在函式調用中實參和
形參類型不匹配 426
15.4.12 函式未聲明 427
15.4.13 在scanf的參數中丟失了
&運算符 427
15.4.14 超出了數組的邊界 428
15.4.15 忘記了給字元串的空字元
留出空間 428
15.4.16 使用未初始化的指針 428
15.4.17 丟失了間接運算符和
地址運算符 428
15.4.18 在指針表達式中丟失
括弧 429
15.4.19 在宏定義語句中參數
遺漏了括弧 429
15.5 程式測試與調試 430
15.5.1 錯誤的類型 430
15.5.2 程式測試 431
15.5.3 程式調試 432
15.6 程式的效率 432
15.6.1 運行時間 432
15.6.2 記憶體需求 432
15.7 複習題 433
附錄I 位級程式設計 435
I.1 概述 435
I.2 逐位邏輯運算符 435
I.2.1 逐位與操作 435
I.2.2 逐位或操作 437
I.2.3 逐位非或操作 437
I.3 逐位移位運算符 438
I.4 逐位求反運算符 438
I.5 禁止 439
附錄II 440
附錄III 441
附錄IV 電話簿示例程式 444

相關詞條

熱門詞條

聯絡我們