C語言程序設計

彭相華、周順先、楊露、劉樹錕、宋艷、吳珍珍

  • 出版商: 清華大學
  • 出版日期: 2025-07-01
  • 售價: $354
  • 語言: 簡體中文
  • 頁數: 336
  • ISBN: 7302694419
  • ISBN-13: 9787302694410
  • 相關分類: 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語言程序設計》適合初學者和有一定編程基礎的讀者。無論你是計算機專業的學生,還是對編程感興趣的愛好者,都可以通過《C語言程序設計》的學習,逐步掌握C語言的核心概念和編程技巧,並具備獨立開發小型項目的能力。 "

作者簡介

彭相華,中共黨員,湖南省機器人學會高級學術專家、湖南省人工智能學會理事、湖南省物聯網學會理事,湖南女子學院計算機科學與技術應用特色學科負責人、計算科學與技術系主任,教授,碩士生導師。主編《Spark技術與大數據應用》等教材4部,指導省級大學生創新項目3項、指導學科競賽獲省部獎20余項,主持和主要參與課題25項,撰寫論文30多篇,曾獲教育部多媒體課件三等獎和湖南省優秀學術論文二等獎。

目錄大綱

目    錄

 

第1章 程序設計思想與方法 01

1.1 如何跟計算機交流 02

1.1.1 計算機語言 02

1.1.2 計算機語言的發展 02

1.1.3  程序設計 03

1.2 為什麼要學C語言 04

1.2.1 C語言發展史 04

1.2.2 C語言的特征 05

1.2.3 C語言的應用 06

1.3 如何利用C語言解決問題 06

1.3.1 分析問題 07

1.3.2 確定數據結構及模型 07

1.3.3 算法設計 07

1.3.4 編程實現 11

1.3.5 調試運行 12

1.4 項目實戰 13

1.4.1 項目問題分析 13

1.4.2 數據模型的構建 13

1.4.3 算法的設計 13

1.4.4 代碼編寫 14

1.4.5 程序調試運行 15

 總結拓展 20

【本章小結】 20

【思政故事】 20

【課後練習】 22

 

第2章 數據存儲 25

2.1 什麼是數據存儲 26

2.1.1 計算機工作原理 26

2.1.2 計算機存儲器 27

2.1.3 什麼是數據存儲 28

2.2 數據在計算機中如何存儲 29

2.2.1 C語言的基本數據類型 29

2.2.2 不同數據類型的存儲方式 30

2.2.3 不同數據類型的取值範圍 33

2.3 C語言中如何使用數據 34

2.3.1 標識符 35

2.3.2 常量 35

2.3.3 變量 38

2.4 項目實戰 41

2.4.1 項目問題分析 41

2.4.2 數據模型的構建 41

2.4.3 算法的設計 42

2.4.4 項目實現 42

 總結拓展 43

【本章小結】 43

【思政故事】 43

【課後練習】 44

 

第3章 數據運算 47

3.1 什麼是數據運算 48

3.1.1 數據運算基礎 48

3.1.2 表達式與語句 48

3.2 C語言中的運算 50

3.2.1 賦值運算 50

3.2.2 算術運算 51

3.2.3 位運算 52

3.2.4 關系運算 53

3.2.5 邏輯運算 54

3.2.6 復合運算 54

3.3 C語言中的混合運算規則 58

3.3.1 優先級與結合性 59

3.3.2 數據類型的轉換 60

3.4 項目實戰 62

3.4.1 項目問題分析 62

3.4.2 數據模型的構建 62

3.4.3 算法的設計 62

3.4.4 項目實現 62

 總結拓展 63

【本章小結】 63

【思政故事】 63

【課後練習】 65

 

第4章 順序結構程序設計 67

4.1 順序結構程序設計 68

4.2 數據的格式化輸入 69

4.2.1 格式輸入函數scanf( ) 69

4.2.2 字符數據輸入函數 72

4.3 數據的格式化輸出 74

4.3.1 格式輸出函數printf 74

4.3.2 字符數據輸出函數 79

4.4 項目實戰 81

4.4.1 項目問題分析 81

4.4.2 數據模型的構建 81

4.4.3 算法的設計 81

4.4.4 項目實現 82

 總結拓展 83

【本章小結】 83

【思政故事】 83

【課後練習】 85

 

第5章 選擇結構程序設計 89

5.1 if-else語句 90

5.1.1 if語句的基本結構 90

5.1.2 if語句的嵌套 94

5.2 switch語句 97

5.2.1 switch語句的基本結構 97

5.2.2 switch語句舉例說明 98

5.3 項目實戰 101

5.3.1 項目問題分析 102

5.3.2 數據模型的構建 102

5.3.3 算法的設計 102

5.3.4 項目實現 103

 總結拓展 106

【本章小結】 106

【思政故事】 106

【課後練習】 107

 

第6章 循環結構程序設計 111

6.1 什麼是循環結構 112

6.1.1 循環結構的定義 112

6.1.2 循環結構的要素 112

6.1.3 循環結構的分類 112

6.2 常見的循環結構語句 113

6.2.1 while語句 113

6.2.2 do-while語句 117

6.2.3 for語句 119

6.3 循環嵌套與跳出語句 121

6.3.1 循環嵌套 121

6.3.2 跳出語句 123

6.4 項目實戰 129

6.4.1 項目問題分析 129

6.4.2 數據模型的構建 129

6.4.3 算法的設計 129

6.4.4 項目的實現 130

 總結拓展 132

【本章小結】 132

【思政故事】 132

【課後練習】 134

 

第7章 數組與字符串 139

7.1 數組 140

7.1.1 什麼是數組 140

7.1.2 數組的作用 140

7.2 數組的組織形式 141

7.2.1 一維數組 141

7.2.2 二維數組與多維數組 149

7.3 字符串與字符數組 154

7.3.1 字符串 154

7.3.2 字符數組 155

7.3.3 字符串處理函數 160

7.4  項目實戰 164

7.4.1 項目問題分析 164

7.4.2 數據模型的構建 164

7.4.3 算法的設計 164

7.4.4 項目實現 165

 總結拓展 167

【本章小結】 167

【思政故事】 167

【課後練習】 168

 

第8章 函數 173

8.1 函數概述 174

8.1.1 函數的概念 174

8.1.2 函數的分類 174

8.2 函數定義與調用 175

8.2.1 函數定義 175

8.2.2 函數調用 177

8.2.3 函數聲明   178

8.3 函數參數的傳遞 179

8.3.1 值傳遞方式 180

8.3.2 地址傳遞方式 181

8.4 函數的嵌套和遞歸調用 182

8.4.1 函數的嵌套調用 182

8.4.2 函數的遞歸調用 184

8.5 作用域和生存期 188

8.5.1 變量的作用域和生存期 188

8.5.2 變量的存儲類型 190

8.5.3 函數的作用域 193

8.6 項目實戰 194

8.6.1 項目問題分析 194

8.6.2 數據模型的構建 195

8.6.3 算法的設計 196

8.6.4 項目實現 197

 總結拓展 200

【本章小結】 200

【思政故事】 201

【課後練習】 202

 

第9章 指針 205

9.1 指針與指針變量的概念 206

9.1.1 指針和地址 206

9.1.2 指針變量 206

9.1.3 指針變量的運算 208

9.1.4 空指針與空類型指針 211

9.1.5 多級指針 211

9.2 指針與數組 213

9.2.1 指針與一維數組 213

9.2.2 指針數組 216

9.2.3 指針與二維數組 218

9.3 指針與函數 222

9.3.1 指針作為函數的參數 222

9.3.2 指向函數的指針——函數指針 228

9.3.3 返回指針的函數——指針函數 229

9.4 動態內存分配 231

9.4.1 內存的存儲分配 231

9.4.2 內存的動態分配 231

9.5 項目實戰 234

9.5.1 項目問題分析 234

9.5.2 數據模型的構建 234

9.5.3 算法的設計 235

9.5.4 項目實現 236

 總結拓展 241

【本章小結】 241

【思政故事】 242

【課後練習】 243

 

第10章 復雜數據類型 247

10.1 復雜數據類型概述 248

10.2 結構體 249

10.2.1 結構體類型 249

10.2.2 結構體變量 252

10.2.3 結構體數組 256

10.2.4 結構體指針 259

10.3 聯合體 262

10.3.1 聯合體類型 262

10.3.2 聯合體變量 263

10.4 枚舉類型 268

10.4.1 枚舉類型與枚舉變量的定義 269

10.4.2 枚舉變量的賦值與使用 269

10.5 類型定義符typedef 271

10.6 項目實戰 272

10.6.1 項目問題分析 272

10.6.2 數據模型的構建 273

10.6.3 算法的設計 273

10.6.4 項目實現 274

 總結拓展 279

【本章小結】 279

【思政故事】 279

【課後練習】 281

 

第11章 預處理命令 285

11.1 預處理命令簡介 286

11.2 宏定義 286

11.2.1 不帶參數的宏定義 287

11.2.2 帶參數的宏定義 289

11.2.3 帶參數的宏與函數的區別 290

11.3 文件包含 291

11.4 條件編譯 294

11.4.1 if格式 294

11.4.2 ifdef格式 296

11.4.3 ifndef格式 297

11.4.4 條件編譯與分支語句的差別 298

11.5 項目實戰 299

11.5.1 項目問題分析 299

11.5.2 數據模型的構建 299

11.5.3 項目實現 299

 總結拓展 301

【本章小結】 301

【思政故事】 301

【課後練習】 302

 

第12章 文件 305

12.1 文件基本概念 306

12.1.1 什麼是文件 306

12.1.2 文件的分類 306

12.1.3 文件讀寫流程 307

12.2 文件打開與關閉 309

12.2.1 文件的打開 309

12.2.2 文件的關閉 310

12.3 文件讀寫操作 311

12.3.1 字符讀寫 311

12.3.2 字符串讀寫 313

12.3.3 格式化讀寫 314

12.3.4 數據塊讀寫 316

12.4 文件其他操作 318

12.4.1 文件結尾檢測 318

12.4.2 讀寫指針定位 319

12.5 項目實戰 321

12.5.1 項目問題分析 321

12.5.2 數據模型的構建 322

12.5.3 算法的設計 322

12.5.4 項目實現 324

 總結拓展 329

【本章小結】 329

【思政故事】 329

【課後練習】 330

 

附 錄 C語言常用庫函數 333