這是一本介紹用C語言進行計算機編程的經典教材。通過大量的實例和練習,全書系統(tǒng)介紹了數據類型、算術運算、邏輯運算、變量、條件語句、函數、數組、指針、字符串、結構、文件操作、位操作、宏、庫函數等基本內容,使讀者在閱讀之后就能很快掌握C語言編程的精髓。講解C++編程的一章也是本書的特色之一。書中每章都有大量的簡答題和編程練習題,附錄還列出了它們的答案。
#豐富的擴展閱讀知識。
#總結的各種經驗。
#簡單易懂的指針講解。
#豐富的教輔資源。
Gary J. Bronson博士是狄金森州立大學的信息系統(tǒng)教授,在那里他曾兩度當選為年度教師。Bronson博士曾在洛克希德電子公司擔任高級項目工程師,曾擔任貝爾實驗室的特邀講師和顧問,并擔任了數家華爾街金融公司的軟件顧問。Bronson博士撰寫了幾部相當成功的有關C、C++和Java的編程教材。
張永健,國際關系學院的教師,有著豐富的翻譯經驗,特別是在計算機領域有著多年的教學經驗,并從事C、C++和算法等開發(fā)工作。
第一部分 基礎知識
第1 章 計算機編程導論 2
1.1 歷史和硬件 2
1.2 編程語言 8
1.3 算法 13
1.4 軟件開發(fā)過程 17
1.5 案例研究:設計與開發(fā) 24
1.6 編程錯誤 28
1.7 小結 28
1.8 補充材料:數字存儲碼 29
第2 章 C 語言編程初步 31
2.1 C 語言編程簡介 31
2.2 編程風格 40
2.3 數據類型 43
2.4 算術運算 49
2.5 變量和聲明 58
2.6 案例研究:溫度轉換 66
2.7 編程錯誤和編譯器錯誤 70
2.8 小結 72
2.9 補充材料:內存分配 73
第3 章 數據處理與交互式輸入 79
3.1 賦值 79
3.2 數學庫函數 88
3.3 交互式輸入 92
3.4 格式化輸出 102
3.5 符號常量 110
3.6 案例研究:交互式輸入 112
3.7 編程錯誤和編譯器錯誤 117
3.8 小結 119
3.9 補充材料:抽象簡介 120
第二部分 控 制 流
第4 章 選擇 124
4.1 關系表達式 124
4.2 if 語句和if else 語句 129
4.3 if else 鏈 139
4.4 switch 語句 146
4.5 案例研究:數據驗證 152
4.6 編程錯誤和編譯器錯誤 156
4.7 小結 158
4.8 補充材料:錯誤, 測試和調試 160
第5 章 循環(huán) 165
5.1 基本的循環(huán)結構 165
5.2 while 語句 167
5.3 利用while 循環(huán)求和及平均值 174
5.4 for 語句 184
5.5 案例研究:循環(huán)編程技術 192
5.6 嵌套循環(huán) 199
5.7 do while 語句 202
5.8 編程錯誤和編譯器錯誤 205
5.9 小結 206
第6 章 函數模塊性(1) 209
6.1 函數聲明與參數聲明 209
6.2 返回值 221
6.3 案例研究:計算年齡標準 229
6.4 標準庫函數 238
6.5 編程錯誤和編譯器錯誤 250
6.6 小結 251
第7 章 函數模塊性(2) 252
7.1 變量的作用域 253
7.2 變量存儲類 258
7.3 按引用傳遞 264
7.4 案例研究:交換值 275
7.5 遞歸 281
7.6 編程錯誤和編譯器錯誤 286
7.7 小結 287
第三部分 基礎知識補充
第8 章 數組 290
8.1 一維數組 290
8.2 數組初始化 298
8.3 數組作為函數實參 302
8.4 案例研究:計算平均值和標準差 307
8
8.5 二維數組 312
8.6 編程錯誤和編譯器錯誤 320
8.7 小結 321
8.8 補充材料:查找和排序方法 322
第9 章 字符串 342
9.1 字符串基礎 342
9.2 庫函數 352
9.3 輸入數據驗證 358
9.4 格式化字符串 364
9.5 案例研究:字符和單詞計數 367
9.6 編程錯誤和編譯器錯誤 372
9.7 小結 373
第10 章 數據文件 375
10.1 聲明, 打開和關閉文件流 375
10.2 讀取和寫入文本文件 385
10.3 隨機文件訪問 393
10.4 傳遞和返回文件名 396
10.5 案例研究:創(chuàng)建和使用常量表 399
10.6 寫入和讀取二進制文件 408
10.7 編程錯誤和編譯器錯誤 412
10.8 小結 413
10.9 補充材料:控制碼 414
第四部分 其他主題
第11 章 數組, 地址和指針 418
11.1 數組名稱作為指針 418
11.2 指針操作 423
11.3 傳遞和使用數組地址 428
11.4 使用指針處理字符串 435
11.5 使用指針創(chuàng)建字符串 439
11.6 編程錯誤和編譯器錯誤 444
11.7 小結 446
第12 章 結構 447
12.1 單一結構 447
12.2 結構數組 452
12.3 傳遞結構和返回結構 456
12.4 聯(lián)合 463
12.5 編程錯誤和編譯器錯誤 465
12.6 小結 466
第13 章 動態(tài)數據結構 467
13.1 鏈表簡介 467
13.2 動態(tài)內存分配 474
13.3 棧 479
13.4 隊列 485
13.5 動態(tài)鏈表 491
13.6 編程錯誤和編譯器錯誤 497
13.7 小結 499
第14 章 其他功能 501
14.1 新增的特性 501
14.2 按位運算 506
14.3 宏 513
14.4 命令行參數 515
14.5 編程錯誤和編譯器錯誤 519
14.6 小結 520
第15 章 C++簡介 521
15.1 C++中的過程化編程 521
15.2 面向對象的C++ 526
15.3 編程錯誤和編譯器錯誤 527
15.4 小結 528
附錄A 運算符優(yōu)先級表 530
附錄B ASCII 字符碼 531
附錄C 標準C 語言庫 534
附錄D 輸入, 輸出和標準錯誤重定向 538
附錄E 浮點數存儲 540
附錄F 創(chuàng)建個人函數庫 542
附錄G 簡答題答案 543