C程序設計(第六版)

譚浩強

  • 出版商: 清華大學
  • 出版日期: 2026-05-01
  • 售價: $359
  • 語言: 簡體中文
  • ISBN: 7302712751
  • ISBN-13: 9787302712756
  • 相關分類: C 程式語言
  • 下單後立即進貨 (約4週~6週)

  • C程序設計(第六版)-preview-1
  • C程序設計(第六版)-preview-2
  • C程序設計(第六版)-preview-3
  • C程序設計(第六版)-preview-4
  • C程序設計(第六版)-preview-5
  • C程序設計(第六版)-preview-6
  • C程序設計(第六版)-preview-7
C程序設計(第六版)-preview-1

商品描述

由譚浩強教授著、清華大學出版社出版的《C程序設計》經過三十余年近兩千萬讀者的實踐檢驗,被公認為學習C語言程序設計的經典教材。根據C語言的發展趨勢和人工智能時代的編程教學需求,作者在《C程序設計(第五版)》的基礎上精心修訂,使內容更臻完善,通俗易懂,更契合當前的教學實際。本書梳理了C99,C11,C17及C23語言標準的演化,鑒於主流編譯器對新標準的支持現狀,書中示例均符合C99與C11規範,並對新舊標準的明確差異做出標註,使編寫程序更加規範;對C語言及程序設計的核心概念與要點講解透徹、深入全面;創新采用“提出問題—解決問題—歸納分析”的三部曲模式組織教學內容;書中例題均遵循“提出任務—解題思路—編寫程序—運行程序—程序分析—有關說明”的規範流程展開,符合讀者認知規律,容易入門與提高。本書內容先進,體系合理,概念清晰,講解詳盡,降低臺階,分散難點,例題豐富,深入淺出,文字流暢,通俗易懂,是初學者學習C語言程序設計的理想教材,既可作為高等學校各專業的正式教材,也適合讀者自學。本書配有輔助教材《C程序設計(第六版)學習輔導》,以及AI智能體、AI助教、微課視頻、在線題庫等豐富的教學資源。

目錄大綱

目錄

 

 

第1章程序設計和C語言1

1.1什麼是計算機程序1

1.2什麼是計算機語言1

1.3C語言的發展及其特點3

1.4最簡單的C語言程序5

1.4.1最簡單的C語言程序舉例5

1.4.2C語言程序的結構9

1.5運行C程序的步驟與方法12

1.6程序設計的任務13

習題14

第2章算法——程序的靈魂16

2.1程序=算法+數據結構16

2.2什麼是算法17

2.3簡單的算法舉例17

2.4算法的特性21

2.5怎樣表示一個算法22

2.5.1用自然語言表示算法22

2.5.2用流程圖表示算法22

2.5.3三種基本結構和改進的流程圖26

2.5.4用NS流程圖表示算法28

2.5.5用偽代碼表示算法32

2.5.6用計算機語言表示算法33

2.6結構化程序設計方法34

習題36

第3章最簡單的C程序設計——順序程序設計37

3.1順序程序設計舉例37

3.2數據的表現形式及其運算39

3.2.1常量和變量39

3.2.2數據類型42

3.2.3整型數據44

3.2.4字符型數據47

3.2.5浮點型數據49

3.2.6怎樣確定常量的類型50

3.3運算符和表達式52

3.3.1C運算符52

3.3.2基本的算術運算符52

3.3.3自增(++)、自減(--)運算符53

3.3.4算術表達式和運算符的優先級與結合性53

3.3.5不同類型數據間的混合運算54

3.3.6強制類型轉換運算符55

3.4C語句56

3.4.1C語句的作用和分類56

3.4.2最基本的語句——賦值語句58

3.5數據的輸入輸出64

3.5.1輸入輸出舉例64

3.5.2有關數據輸入輸出的概念65

3.5.3用printf函數輸出數據67

3.5.4用scanf函數輸入數據73

3.5.5字符輸入輸出函數76

習題79

第4章選擇結構程序設計82

4.1選擇結構和條件判斷82

4.2用if語句實現選擇結構84

4.2.1用if語句處理選擇結構舉例84

4.2.2if語句的一般形式86

4.3關系運算符和關系表達式88

4.3.1關系運算符及其優先次序88

4.3.2關系表達式89

4.4邏輯運算符和邏輯表達式89

4.4.1邏輯運算符及其優先次序90

4.4.2邏輯表達式90

4.5條件運算符和條件表達式93

4.6選擇結構的嵌套95

4.7用switch語句實現多分支選擇結構97

4.8選擇結構程序綜合舉例100

習題105

第5章循環結構程序設計108

5.1為什麼需要循環控制108

5.2用while語句實現循環109

5.3用do…while語句實現循環110

5.4用for語句實現循環114

5.5循環的嵌套118

5.6幾種循環的比較119

5.7改變循環執行的狀態119

5.7.1用break語句提前終止循環119

5.7.2用continue語句提前結束本次循環121

5.7.3break語句和continue語句的區別122

5.8循環程序舉例124

習題134

第6章利用數組處理批量數據136

6.1怎樣定義和引用一維數組136

6.1.1怎樣定義一維數組137

6.1.2怎樣引用一維數組元素137

6.1.3一維數組的初始化138

6.1.4一維數組程序舉例139

6.2怎樣定義和引用二維數組142

6.2.1怎樣定義二維數組142

6.2.2怎樣引用二維數組的元素144

6.2.3二維數組的初始化144

6.2.4二維數組程序舉例145

6.3字符數組147

6.3.1怎樣定義字符數組147

6.3.2字符數組的初始化148

6.3.3怎樣引用字符數組中的元素148

6.3.4字符串和字符串結束標誌149

6.3.5字符數組的輸入輸出151

6.3.6使用字符串處理函數153

6.3.7字符數組應用舉例157

習題160

第7章用函數實現模塊化程序設計162

7.1為什麼要用函數162

7.2怎樣定義函數164

7.2.1為什麼要定義函數164

7.2.2定義函數的方法165

7.3調用函數166

7.3.1函數調用的形式166

7.3.2函數調用時的數據傳遞167

7.3.3函數調用的過程169

7.3.4函數的返回值169

7.4對被調用函數的聲明和函數原型171

7.5函數的嵌套調用174

7.6函數的遞歸調用176

7.7數組作為函數參數183

7.7.1數組元素作函數實參184

7.7.2一維數組名作函數參數185

7.7.3多維數組名作函數參數188

7.8局部變量和全局變量190

7.8.1局部變量190

7.8.2全局變量191

7.9變量的存儲方式和生存期195

7.9.1動態存儲方式與靜態存儲方式195

7.9.2局部變量的存儲類別196

7.9.3全局變量的存儲類別199

7.9.4存儲類別小結203

7.10關於變量的聲明和定義205

7.11內部函數和外部函數206

7.11.1內部函數206

7.11.2外部函數206

習題209

第8章善於利用指針211

8.1指針是什麼211

8.2指針變量213

8.2.1使用指針變量的例子213

8.2.2怎樣定義指針變量214

8.2.3怎樣引用指針變量216

8.2.4指針變量作為函數參數217

8.3通過指針引用數組222

8.3.1數組元素的指針222

8.3.2在引用數組元素時指針的運算223

8.3.3通過指針引用數組元素224

8.3.4用數組名作函數參數229

8.3.5通過指針引用多維數組236

8.4通過指針引用字符串246

8.4.1字符串的引用方式246

8.4.2字符指針作函數參數250

8.4.3使用字符指針變量和字符數組的比較254

8.5指向函數的指針256

8.5.1什麼是函數的指針256

8.5.2用函數指針變量調用函數257

8.5.3怎樣定義和使用指向函數的指針變量258

8.5.4用指向函數的指針作函數參數261

8.6返回指針值的函數264

8.7指針數組和多重指針267

8.7.1什麼是指針數組267

8.7.2指向指針數據的指針變量269

8.7.3指針數組作main函數的形參272

8.8動態內存分配與指向它的指針變量274

8.8.1什麼是內存的動態分配274

8.8.2怎樣建立內存的動態分配275

8.8.3void指針類型276

8.9有關指針的小結278

習題281

第9章用戶自己建立數據類型283

9.1定義和使用結構體變量283

9.1.1自己建立結構體類型283

9.1.2定義結構體類型變量285

9.1.3結構體變量的初始化和引用286

9.2使用結構體數組289

9.2.1定義結構體數組289

9.2.2結構體數組的應用舉例291

9.3結構體指針292

9.3.1指向結構體變量的指針292

9.3.2指向結構體數組的指針294

9.3.3用結構體變量和結構體變量的指針作函數參數295

9.4用指針處理鏈表298

9.4.1什麼是鏈表298

9.4.2建立簡單的靜態鏈表299

9.4.3建立動態鏈表300

9.4.4輸出鏈表303

9.5共用體類型306

9.5.1什麼是共用體類型306

9.5.2引用共用體變量的方式307

9.5.3共用體類型數據的特點307

9.6使用枚舉類型311

9.7用typedef聲明新類型名314

習題317

第10章對文件的輸入輸出319

10.1C文件的有關基本知識319

10.1.1什麼是文件319

10.1.2文件名320

10.1.3文件的分類320

10.1.4文件緩沖區321

10.1.5文件類型指針321

10.2打開與關閉文件323

10.2.1用fopen函數打開數據文件323

10.2.2用fclose函數關閉數據文件325

10.3順序讀寫數據文件326

10.3.1怎樣向文件讀寫字符326

10.3.2怎樣向文件讀寫一個字符串329

10.3.3用格式化的方式讀寫文本文件333

10.3.4用二進制方式向文件讀寫一組數據333

10.4隨機讀寫數據文件338

10.4.1文件位置標記及其定位338

10.4.2隨機讀寫 341

10.5文件讀寫的出錯檢測342

習題343

附錄344

附錄A常用字符與ASCII碼對照表344

附錄BC語言中的關鍵字345

附錄C運算符和結合性346

附錄DC語言常用語法提要349

附錄EC庫函數353

參考文獻359