C語言程序設計(微課版)

吳紹根

  • 出版商: 清華大學
  • 出版日期: 2025-09-01
  • 售價: $299
  • 語言: 簡體中文
  • ISBN: 7302698058
  • ISBN-13: 9787302698050
  • 相關分類: 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語言知識內容做了詳細介紹,共包括14章,具體內容為C語言概述、數據類型和數據運算、條件控制及程序分支、循環結構程序設計、字符數組和字符串、函數基礎、函數進階、指針基礎、指針進階、結構體、文件操作、位操作和地址空間對齊、AI輔助編程。在每章的結尾,通過一個綜合案例強化本章內容,同時安排一個綜合課後練習,幫助讀者加深對知識的理解、掌握和使用。 本書既可作為計算機類相關專業的教材使用,也可作為計算機編程愛好者學習C語言編程的參考資料。"

作者簡介

吳紹根,男,1968年10月生,畢業於大連理工大學,碩士研究生,副教授,現為廣東輕工職業技術學院軟件技術專業專業帶頭人。十年企業工作經歷,在企業工作期間,參與或組織了多個計算機系統的設計與開發,包括:168聲訊服務系統、200長途電話直撥系統、電信綜合信息服務系統、ADSL寬帶接入系統等,這些系統被多個電信運營商采用和運營。在學校教學期間,發表科研論文20余篇,20余項知識產權,其中5項國家發明專利,主編參編教材10部,其中2部教材被列入教育部國家級規劃教材,組織7校級科研項目工作,主持參與2省級科研項目工作。代表學校參加了由中國職業教育學會主辦的“說專業群-說專業-說課程”活動,通過主題“說專業-軟件為智慧賦能-重構軟件技術專業”,向全國兄弟院校對我校的軟件技術專業做了介紹。主持多項企業項目研發,包括,無人機智慧機場集群管理系統、某地級市人力資源管理系統、某地級市幹部管理系統等系統的研發,具有豐富的項目經驗。

目錄大綱

目錄

第1章C語言概述1

1.1C語言簡介1

1.2建立C語言程序開發環境2

1.2.1下載並安裝CLion集成環境2

1.2.2配置和驗證安裝2

1.3C語言程序基本結構5

1.4程序運行亂碼解決方法6

1.5基本輸出7

1.5.1type類型控制符8

1.5.2flags標誌控制符10

1.5.3width常用數據顯示寬度控制11

1.5.4“.precision”數據顯示精度控制11

1.5.5length控制符11

1.5.6轉義符12

1.6算法及其描述13

1.6.1使用自然語言描述算法13

1.6.2使用流程圖描述算法13

1.7案例: 微笑的自己15

1.8課後練習: 繪制圖形並計算面積16

第2章數據類型和數據運算17

2.1數據類型17

2.2變量18

2.2.1變量定義及其本質19

2.2.2變量賦值20

2.3數據輸入21

2.3.1格式說明符22

2.3.2數據輸入註意事項23

2.4數據運算24

2.4.1基本算術運算25

2.4.2強制類型轉換25

2.4.3自增和自減運算26

2.4.4復合運算符27

2.4.5表達式和運算符的優先級27

2.5常用數學函數28

2.6案例: 驗證sin2(x)+cos2(x)等於128

2.7課後練習: 三角形面積和周長29

第3章條件控制及程序分支30

3.1單分支if語句30

3.2關系運算和邏輯運算31

3.2.1關系運算與關系運算符31

3.2.2邏輯運算與邏輯運算符32

3.3雙分支if語句33

3.4多分支if語句34

3.5if語句的嵌套36

3.6條件表達式和表達式書寫註意事項37

3.6.1條件表達式37

3.6.2表達式書寫註意事項38

3.7switch語句39

3.8案例: 求一元二次方程的根41

3.9課後練習: 判斷一個年份是否是閏年42

第4章循環結構程序設計43

4.1while循環43

4.1.1while循環入門43

4.1.2while循環詳解44

4.1.3while循環使用舉例44

4.2do...while循環46

4.3for循環47

4.43種循環語句的等價性49

4.4.13種循環語句等價性舉例: 巴塞爾問題49

4.4.2宏常量與const關鍵字的使用51

4.5循環結構中的break語句和continue語句52

4.5.1break語句和continue語句使用舉例52

4.5.2隨機數發生器53

4.6循環的嵌套54

4.7案例: 猜數遊戲55

4.8課後練習: 求最大公約數和最小公倍數57

第5章數組58

5.1一維數組58

5.1.1定義數組58

5.1.2訪問數組元素58

5.1.3數組的初始化60

5.1.4sizeof關鍵字的使用60

5.1.5一維數組在內存中的存儲方式61

5.1.6一維數組應用舉例62

5.2二維數組64

5.2.1二維數組的定義和初始化64

5.2.2二維數組的訪問65

5.2.3三維及高維數組的定義和訪問65

5.2.4二維數組在內存中的存儲方式66

5.2.5二維數組應用舉例67

5.3案例: 計算學生課程成績69

5.4課後練習: 排序二維數組71

第6章字符數組和字符串72

6.1字符類型72

6.1.1字符及其編碼72

6.1.2字符類型變量73

6.1.3字符數據的輸入和輸出73

6.2字符數組74

6.2.1char類型數組的定義和初始化75

6.2.2字符數組的簡單應用75

6.3字符串77

6.3.1字符串常量77

6.3.2字符數組和字符串78

6.3.3字符串的輸入和輸出79

6.4字符數組和字符串應用舉例81

6.5常用字符串處理函數和字符型二維數組83

6.5.1常用的字符串處理函數83

6.5.2字符類型二維數組84

6.5.3字符串函數及字符二維數組的應用舉例84

6.6案例:  電子字典87

6.7課後練習:  逆轉字符矩陣89

第7章函數基礎90

7.1函數的分類及其意義90

7.1.1C語言標準庫函數90

7.1.2自定義函數91

7.1.3函數是程序模塊化和分工協作的基礎92

7.2定義函數92

7.2.1一個簡單的自定義函數92

7.2.2定義函數的一般形式93

7.2.3定義函數舉例93

7.3調用函數95

7.3.1調用自定義函數舉例95

7.3.2函數調用的一般形式及其應用96

7.3.3函數的形參和實參97

7.3.4函數聲明100

7.3.5文件包含#include預處理命令的本質102

7.4函數的嵌套調用和遞歸調用103

7.4.1函數的嵌套調用103

7.4.2函數的遞歸調用104

7.5數組作為函數參數105

7.5.1數組元素作為函數參數105

7.5.2數組名作為函數參數107

7.5.3二維數組名作為函數參數110

7.6案例: 檢查回文數字114

7.7課後練習: 求斐波那契數列任一項的值116

第8章函數進階117

8.1變量的作用域和變量的存儲類型117

8.1.1變量的作用域117

8.1.2變量的存儲類型121

8.2C語言預處理命令123

8.2.1#define預處理命令123

8.2.2#undef預處理命令125

8.2.3#ifndef...#endif預處理命令125

8.3程序工程管理和extern關鍵字及其使用126

8.3.1程序工程管理126

8.3.2extern關鍵字及其使用127

8.4程序調試129

8.5案例: 圖書信息管理系統132

8.6課後練習: 學生信息管理系統136

第9章指針基礎137

9.1存儲器和存儲器地址137

9.2指針變量入門138

9.2.1定義指針變量138

9.2.2取地址運算符&及其使用139

9.2.3取內容運算符及其使用139

9.2.4指針的形象理解140

9.3指針與一維數組141

9.3.1指針與一維數組基礎141

9.3.2使用指針操作一維數組舉例143

9.4指針與二維數組146

9.4.1指針與二維數組基礎146

9.4.2二維數組地址的等價性148

9.5指針與字符數組和字符串150

9.5.1指向字符變量的指針150

9.5.2指向字符數組元素的指針150

9.5.3指向字符串常量的指針151

9.6案例: 二維數組排序153

9.7課後練習: 字符串逆轉154

第10章指針進階155

10.1指針數組和二級指針155

10.1.1指針數組155

10.1.2二級指針158

10.2指針與函數160

10.2.1指針作為函數參數160

10.2.2指針作為函數返回值及nullptr空指針的使用165

10.2.3函數指針變量及其應用167

10.3動態內存分配169

10.3.1動態內存分配入門169

10.3.2動態內存申請及釋放庫函數171

10.3.3動態內存申請應用舉例172

10.4帶參數的main()函數173

10.4.1在命令行終端執行程序173

10.4.2帶參數的main()函數的參數含義及其使用174

10.4.3生成沒有調試信息的可執行文件並交付用戶使用176

10.5指針使用中常見錯誤177

10.5.1錯誤一:  使用未初始化的指針178

10.5.2錯誤二:  返回局部變量的地址作為指針179

10.5.3錯誤三:  沒有釋放動態申請的內存空間180

10.6案例: 自制運算器180

10.7課後練習: 小字符串連接成大字符串183

第11章結構體184

11.1結構體入門184

11.2結構體類型定義和使用詳解186

11.2.1結構體類型定義186

11.2.2定義和使用結構體變量187

11.2.3結構體類型的嵌套及其使用188

11.3結構體與數組189

11.4結構體與指針190

11.4.1結構體指針的基本使用190

11.4.2結構體與動態內存分配191

11.5結構體與函數193

11.5.1結構體作為函數參數193

11.5.2結構體作為函數的返回值194

11.6聯合體union195

11.7枚舉類型198

11.8使用typedef自定義類型名稱200

11.9案例: 基於鏈表的圖書信息管理系統202

11.10課後練習: 完善圖書信息管理系統210

第12章文件操作211

12.1文件操作概述211

12.2文件讀/寫入門212

12.2.1將數據寫入文件中212

12.2.2從文件中讀取數據213

12.3文件讀/寫的一般過程及其關鍵函數214

12.3.1打開文件:  fopen()214

12.3.2寫數據到文件中:  fwrite()、fprintf()、fputs()、fputc()216

12.3.3從文件中讀取數據:  fread()、fscanf()、fgets()、fgetc()217

12.3.4關閉文件:  fclose()219

12.3.5文件操作錯誤碼及其處理方式219

12.4以文本模式或二進制模式打開文件220

12.4.1以二進制(十六進制)模式觀察文件的原始內容220

12.4.2以文本模式或二進制打開文件的總結222

12.5文件讀/寫位置定位224

12.5.1移動讀/寫位置指針到文件開始處:  rewind()224

12.5.2設定讀/寫位置指針到指定位置:  fseek()225

12.5.3獲取讀/寫位置指針的當前位置:  ftell()228

12.6讀/寫結構化數據229

12.6.1讀/寫單個結構化數據229

12.6.2讀/寫結構體數組數據230

12.7案例: 保存圖書信息到文件232

12.8課後練習: 個人財務管理系統239

第13章位操作和地址空間對齊241

13.1位操作241

13.1.1位邏輯運算241

13.1.2移位運算242

13.1.3位操作應用舉例242

13.2位段246

13.2.1定義和訪問位段246

13.2.2位段使用舉例247

13.2.3定義位段註意事項248

13.3地址空間對齊248

13.3.1地址空間對齊的基本概念249

13.3.2修改地址空間對齊方式250

13.3.3地址空間對齊應用251

13.4案例: 基於位段的數制轉換252

13.5課後練習: 絢麗跑馬燈254

第14章AI輔助編程255

14.1AI輔助編程初探255

14.2使用AI輔助編程插件258

14.2.1安裝AI輔助編程插件259

14.2.2AI輔助編程功能介紹260

14.3正確使用AI輔助編程261

參考文獻262

最後瀏覽商品 (20)