C語言程序設計——面向新工科建設與創新能力培養

李莉,李莎,屈微,黃曉璐

  • 出版商: 清華大學
  • 出版日期: 2026-07-01
  • 售價: $510
  • 語言: 簡體中文
  • 頁數: 422
  • ISBN: 7302720215
  • ISBN-13: 9787302720218
  • 相關分類: 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語言的基本概念、理論知識、結構化程序設計思想及綜合應用。全書共9章,第1章介紹軟件基礎知識,包括程序設計、算法與C語言概述;第2~4章講解C語言的數據表示、運算處理與流程控制(順序、分支、循環);第5章講授數組,涵蓋一維數組、二維數組、字符數組及字符串;第6章聚焦函數與模塊化設計,內容包括函數定義、調用和聲明,變量作用域及生存期,編譯預處理;第7章深入探討指針,涉及各類指針,以及與指針相關的變量、數組、函數和動態存儲分配;第8章介紹結構體、共用體、枚舉等自定義數據類型;第9章講授文件操作,包括文件的讀寫、文件管理及錯誤處理。 本書遵循C99/C11標準,內容詳盡,案例豐富,融入了多學科應用案例、前沿算法與課程思政元素,旨在實現知識、能力與價值的協同提升,書中所有案例均在Code∷Blocks (v20.03) + GNU GCC Complier(C11)環境下測試通過。 本書可以作為高等學校“C語言程序設計”課程的教材,也可供廣大工程技術人員和程序設計愛好者自學使用。 "

目錄大綱

目錄

 

 

第1章軟件基礎知識1

1.1程序設計基礎1

1.1.1程序的相關概念1

1.1.2程序設計風格5

1.1.3結構化程序設計7

1.1.4面向對象程序設計9

1.2算法基礎11

1.2.1算法的概念11

1.2.2算法的特征13

1.2.3算法的描述13

1.2.4算法的評價15

1.2.5算法設計示例18

1.3C語言概述20

1.3.1C語言的發展和標準化21

1.3.2C語言開發環境23

1.3.3C語言的特點26

1.3.4C語言程序結構26

1.3.5C程序執行機制29

1.3.6C語言編碼規範31

1.4本章小結31

1.5習題31

 

第2章C語言數據表示33

2.1C語言符號系統33

2.1.1字符集33

2.1.2標識符與關鍵字34

2.2C語言的數據類型35

2.2.1基本數據類型: 整型36

2.2.2基本數據類型: 浮點型37

2.2.3基本數據類型: 字符型39

2.2.4基本數據類型: 布爾類型40

2.2.5可移植類型40

2.2.6空類型42

2.3數據的表現形式43

2.3.1字面常量: 整型、浮點型、字符型、字符串、布爾型43

2.3.2符號常量/宏常量45

2.3.3變量46

2.3.4const變量47

2.4其他數據類型概述48

2.5本章小結49

2.6習題50

 

第3章數據的簡單處理51

3.1使用運算符和表達式進行處理51

3.1.1運算符和表達式概述51

3.1.2算術運算符52

3.1.3賦值運算符55

3.1.4關系運算符55

3.1.5邏輯運算符56

3.1.6位運算符58

3.1.7條件運算符60

3.1.8其他運算符62

3.1.9小結64

3.2混合類型計算與類型轉換65

3.2.1自動類型轉換65

3.2.2強制類型轉換67

3.3C語言語句類型68

3.3.1聲明語句68

3.3.2表達式語句69

3.3.3控制語句69

3.3.4復合語句69

3.4數據的輸入輸出70

3.4.1字符輸出函數71

3.4.2字符輸入函數72

3.4.3格式輸出函數73

3.4.4格式輸入函數81

3.4.5其他輸入輸出函數簡介87

3.5本章小結87

3.6習題87

 

第4章數據的復雜處理90

4.1IPO模型和結構化程序設計90

4.1.1IPO模型90

4.1.2結構化程序設計91

4.2順序結構92

4.2.1順序結構執行流程92

4.2.2順序結構程序設計示例93

4.3分支結構97

4.3.1if語句97

4.3.2if語句的嵌套106

4.3.3switch語句110

4.3.4分支結構程序設計示例115

4.4循環結構121

4.4.1while語句121

4.4.2dowhile語句124

4.4.3for語句127

4.4.4循環嵌套131

4.4.5循環跳轉135

4.5控制結構的綜合應用示例141

4.6本章小結152

4.7習題152

 

第5章構造數據類型——數組155

5.1數組概述155

5.2一維數組155

5.2.1一維數組定義與存儲155

5.2.2一維數組的初始化159

5.2.3可變長數組160

5.2.4處理一維數組元素161

5.2.5工程應用示例: 振動信號處理172

5.3多維數組176

5.3.1二維數組的定義與存儲176

5.3.2二維數組的初始化177

5.3.3處理二維數組元素178

5.3.4高維數組182

5.3.5工程應用示例: 金相組織圖像濾波183

5.4字符數組與字符串187

5.4.1一維字符數組187

5.4.2字符串處理標準庫函數194

5.4.3二維字符數組200

5.4.4工程應用示例: 基因序列分析203

5.5數組綜合應用示例206

5.6本章小結212

5.7習題212

 

第6章功能封裝與模塊化設計——函數218

6.1引入函數218

6.1.1程序功能劃分220

6.1.2代碼復用221

6.1.3標準庫函數222

6.2定義函數222

6.2.1函數的定義222

6.2.2函數原型聲明224

6.3調用函數225

6.3.1C程序的執行過程225

6.3.2函數調用及參數傳遞225

6.3.3結果的返回值233

6.3.4函數的嵌套調用233

6.3.5函數設計綜合示例: 割線法求根235

6.4變量的作用域237

6.4.1局部變量237

6.4.2全局變量238

6.4.3使用原則239

6.5變量的生存期和存儲類別240

6.5.1C程序的內存管理240

6.5.2變量的存儲類別240

6.5.3應用示例: 尼姆遊戲程序246

6.6編譯預處理249

6.6.1文件包含249

6.6.2宏定義與宏替換250

6.6.3條件編譯命令252

6.6.4多文件程序的組織253

6.7綜合應用示例: 增強版尼姆遊戲程序256

6.8本章小結261

6.9習題261

 

第7章指針271

7.1指針基本概念271

7.2指針變量272

7.2.1指針變量的聲明272

7.2.2指針變量的初始化272

7.2.3指針的間接存取運算273

7.2.4使用指針處理基本數據275

7.2.5指針作為函數參數276

7.3指針與數組279

7.3.1指針的算術運算和關系運算279

7.3.2使用指針處理一維數組元素281

7.3.3使用指針處理二維數組元素285

7.3.4使用字符指針處理字符串290

7.3.5指針數組295

7.3.6多級指針298

7.3.7帶參數的主函數299

7.4指針和函數300

7.4.1函數指針301

7.4.2使用函數指針間接調用函數301

7.4.3指針型函數306

7.5動態存儲分配308

7.5.1C程序內存分配308

7.5.2動態內存分配庫函數309

7.5.3void 指針310

7.5.4動態存儲分配應用311

7.6工程應用示例315

7.6.1HTTP請求解析315

7.6.2候選人排序318

7.7本章小結320

7.8習題321

 

第8章自定義數據類型324

8.1結構體324

8.1.1結構體類型的聲明324

8.1.2結構體類型變量的定義326

8.1.3結構體變量的初始化327

8.1.4結構體變量的運算329

8.1.5結構體指針與指向運算332

8.1.6函數間結構體數據的傳遞336

8.1.7結構體的應用: 單向鏈表340

8.2共用體351

8.2.1共用體類型的定義351

8.2.2共用體變量的定義與初始化352

8.2.3訪問共用體成員353

8.2.4共用體的應用: 嵌入式設備狀態監控系統353

8.3枚舉355

8.3.1枚舉類型的定義355

8.3.2枚舉變量的定義與初始化356

8.3.3枚舉的應用: 圖像處理之RGB顏色空間356

8.4類型重命名358

8.5工程應用示例: 學生成績管理系統359

8.5.1需求分析359

8.5.2結構體類型設計: 抽象學生實體360

8.5.3核心功能開發360

8.6本章小結365

8.7習題365

 

第9章文件操作371

9.1文件概述371

9.1.1文件的概念371

9.1.2文件的分類371

9.1.3標準文件373

9.2輸入輸出流373

9.2.1流的概念373

9.2.2文件緩沖區373

9.3文件類型與文件指針375

9.4文件的打開與關閉375

9.4.1打開文件375

9.4.2關閉文件378

9.5順序訪問文件378

9.5.1讀寫文本文件378

9.5.2讀寫二進制文件387

9.6隨機訪問文件392

9.6.1使用fseek()函數實現定位392

9.6.2使用ftell()函數獲取當前位置393

9.6.3使用rewind()函數實現復位394

9.6.4使用feof()函數測試文件尾部394

9.6.5關於fgetpos()和fsetpos()函數395

9.6.6隨機訪問文件應用示例: 數據庫操作395

9.7文件的刪除與重命名398

9.7.1使用remove()函數刪除文件398

9.7.2使用rename()函數重命名文件399

9.8文件操作的錯誤處理399

9.8.1使用ferror()函數檢測文件操作中是否出錯400

9.8.2使用errno顯示錯誤代碼400

9.8.3使用perror()函數輸出錯誤信息401

9.8.4使用clearerr()函數清除文件錯誤標誌401

9.8.5文件錯誤處理應用示例: 基於結構體的文件操作狀態管理402

9.9文件操作工程應用示例: 工業磨粒圖像的邊緣檢測406

9.10本章小結417

9.11習題417

 

附錄420

附錄AASCII編碼表420

附錄B運算符的優先級和結合性421

附錄C常用標準庫函數421

附錄DC程序開發中的常見錯誤422

最後瀏覽商品 (1)