C語言程序設計案例教程

齊亞莉、王克蒙、張珍珍

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

  • C語言程序設計案例教程-preview-1
  • C語言程序設計案例教程-preview-2
  • C語言程序設計案例教程-preview-3
C語言程序設計案例教程-preview-1

相關主題

商品描述

"本書以能力培養為目標,用案例引入知識,將知識學習和能力培養融為一體,詳細講解C語言的基礎知識和編程技能。全書共12章,第1章介紹C語言的起源和特性;第2~12章詳細講解C語言的相關知識,包括數據類型、格式化輸入/輸出、運算符、表達式、語句、循環、分支和跳轉、字符輸入/輸出、函數、數組和指針、字符和字符串函數、存儲類別、鏈接和內存管理、文件輸入/輸出、結構體、位操作等。本書通過豐富的程序案例講解C語言的知識要點和編程方法,同時融入擴展知識和編程技能,每章末尾均配套復習題和編程題,以幫助讀者鞏固所學知識,提高編程能力。 本書可作為“C語言程序設計”課程的教材,既適用於需要系統學習C語言的初學者,也適用於想要鞏固C語言知識或進一步提高編程技術的開發人員。"

目錄大綱

目錄

配套資源

第1章C語言概述1

1.1本章內容與要求1

1.2C語言起源和發展1

1.3C語言設計特性2

1.3.1高效性2

1.3.2可移植性2

1.3.3強大而靈活2

1.3.4C語言的缺點3

1.4編寫程序的步驟3

1.5編程機制5

1.6主要工具6

1.7一個簡單的C語言程序6

1.7.1C程序元素8

1.7.2C程序結構11

1.7.3調試程序13

1.8關鍵字和保留標識符15

1.9本章小結16

1.10課後習題16

第2章數據、字符串和格式化輸入/輸出19

2.1本章內容與要求19

2.2數據類型概述19

2.2.1常量和變量19

2.2.2數據類型19

2.2.3整型數據20

2.2.4字符數據類型25

2.2.5浮點型數據27

2.2.6其他數據類型30

2.2.7枚舉類型31

2.2.8使用註意事項32

2.3字符串33

2.4格式化輸入/輸出33

2.4.1格式化輸出printf()33

2.4.2格式化輸入scanf()36

2.5本章小結37

2.6課後習題37

第3章運算符、表達式和語句39

3.1本章內容與要求39

3.2C語言運算符39

3.2.1算術運算符40

3.2.2賦值運算符42

3.2.3自增自減運算符44

3.2.4位運算符45

3.2.5類型轉換47

3.3表達式和語句49

3.4整數運算的溢出50

3.5本章小結52

3.6課後習題52

第4章控制語句: 循環54

4.1本章內容與要求54

4.2while循環54

4.2.1算法與循環54

4.2.2while循環語句55

4.2.3關系運算符與關系表達式58

4.3for循環60

4.4do while循環62

4.5循環嵌套64

4.6break和continue64

4.7本章小結66

4.8課後習題67

第5章控制語句: 分支和跳轉69

5.1本章內容與要求69

5.2if選擇分支結構69

5.2.1為什麽使用選擇分支結構69

5.2.2if選擇分支語句70

5.3邏輯運算符和邏輯表達式74

5.4條件運算符和條件表達式75

5.5嵌套分支選擇結構76

5.6switch語句77

5.7本章小結80

5.8課後習題81

第6章函數83

6.1本章內容83

6.2函數的概念83

6.2.1為什麽要使用函數83

6.2.2函數的相關概念85

6.3函數參數86

6.3.1形式參數和實際參數86

6.3.2參數傳遞86

6.4函數返回值89

6.5變量的作用範圍91

6.5.1全局變量91

6.5.2局部變量92

6.5.3局部變量和全局變量的綜合示例92

6.6函數原型95

6.7遞歸97

6.7.1函數的調用過程97

6.7.2遞歸的概念99

6.7.3遞歸函數示例100

6.8公有函數102

6.9本章小結105

6.10課後習題105

第7章數組和指針107

7.1本章內容107

7.2數組107

7.2.1定義數組107

7.2.2初始化數組108

7.2.3數組元素賦值110

7.2.4數組下標邊界111

7.3二維數組111

7.3.1二維數組的定義111

7.3.2二維數組的初始化與賦值113

7.4指針115

7.4.1地址和指針115

7.4.2定義指針變量116

7.4.3指針的運算118

7.4.4指針作為函數參數120

7.4.5數組作為函數參數121

7.5const與constexpr123

7.6變長數組125

7.7數組應用126

7.8排序和搜索128

7.9指針和數組應用中的常見錯誤142

7.9.1自動變量數組的越界訪問142

7.9.2全局數組的越界訪問143

7.9.3分配數組的越界訪問143

7.9.4內存對齊錯誤145

7.10本章小結146

7.11課後習題146

第8章字符、字符串和字符串函數149

8.1本章內容149

8.2字符數組與字符串149

8.3字符串輸入/輸出函數150

8.3.1getchar()和putchar()151

8.3.2fgets()和puts()151

8.4字符串函數152

8.5字符編碼154

8.5.1ASCII編碼154

8.5.2本地碼155

8.5.3統一字符集Unicode157

8.6本地化與國際化160

8.6.1文字的編碼形式160

8.6.2寬字符字符串161

8.7本章小結163

8.8課後習題163

第9章存儲類別、鏈接和內存管理167

9.1本章內容167

9.2變量的生存期167

9.2.1靜態存儲期167

9.2.2自動存儲期167

9.2.3存儲類型168

9.3隨機函數170

9.4內存分配malloc()、realloc()和free()172

9.4.1malloc()172

9.4.2realloc()172

9.4.3free()173

9.5內存操作函數174

9.6本章小結176

9.7課後習題176

第10章結構體與共享體179

10.1本章內容179

10.2結構數據信息示例179

10.3結構聲明180

10.4結構變量180

10.4.1定義結構體類型變量180

10.4.2初始化結構182

10.4.3訪問結構成員184

10.4.4結構變量作為函數參數187

10.5結構體指針和結構體數組188

10.6union192

10.7動態存儲鏈式結構193

10.8動態存儲Vector203

10.9本章小結214

10.10課後習題214

第11章文件216

11.1本章內容216

11.2文件的打開和關閉216

11.2.1打開文件216

11.2.2關閉文件218

11.3文件順序讀寫219

11.3.1fgetc()和fputc()函數220

11.3.2fgets()和fputs()函數222

11.3.3fread()和fwrite()函數224

11.3.4fscanf()和fprintf()函數226

11.4文件的隨機讀寫227

11.5文本文件和二進制文件229

11.6本章小結229

11.7課後習題230

第12章預處理和庫231

12.1本章內容231

12.2#include231

12.3#define232

12.4C語言的泛型編程234

12.4.1宏特性與泛型編程234

12.4.2_Generic235

12.4.3typeof和auto236

12.5條件編譯宏定義238

12.6#error239

12.7常用C語言庫240

12.8本章小結246

12.9本章習題246