C語言程序設計基礎教程(第2版)

李少芳、張穎

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

  • C語言程序設計基礎教程(第2版)-preview-1
  • C語言程序設計基礎教程(第2版)-preview-2
  • C語言程序設計基礎教程(第2版)-preview-3
C語言程序設計基礎教程(第2版)-preview-1

商品描述

"《C語言程序設計基礎教程(第2版)》共分為9章,涵蓋C語言概述、基本數據類型與運算、結構化程序設計、數組、函數、指針、結構體和共用體、文件、面向對象基礎等內容。本書脈絡清晰,從易到難列出豐富的教學案例,並配備精選的課後習題。書中例題代碼均已在Dev C++開發環境下調試並能正常運行。 本書內容簡明易懂,各章知識點高度凝練,知識結構組織合理,前後聯系緊密。此外,本書配有輔導教材《C語言程序設計習題與實驗指導》(第2版)(ISBN 978-7-302-71025-7),針對本書各章內容設計了上機實驗和配套習題,幫助學生鞏固知識基礎,了解自己對內容的掌握程度。 本書是C語言程序設計編程入門教科書,既可以作為高等學校計算機及相關專業C語言課程的教學用書,也可以供學習C語言的讀者自學使用。"

目錄大綱

目錄

第1章    C語言概述  1

 1.1  C語言的發展歷史及特點  2

1.1.1  程序與軟件  2

1.1.2  C語言的發展歷史  3

1.1.3  C語言的特點  5

 1.2  算法概述  6

1.2.1  算法的概念  7

1.2.2  算法的特性  7

1.2.3  算法的表示  7

 1.3  C語言程序的基本結構  9

 1.4  C語言程序的編譯與運行  16

 1.5  C/C++開發環境  17

1.5.1  Visual C++開發環境  17

1.5.2  Dev C++開發環境  19

 1.6  習題  21

1.6.1  選擇題  21

1.6.2  填空題  24

1.6.3  編程題  24

1.6.4  簡答題  25

第2章    基本數據類型與運算  26

 2.1  數據類型  27

2.1.1  C語言數據類型  27

2.1.2  數據存儲形式  28

2.1.3  數據溢出的發生  29

 2.2  常量  31

2.2.1  整型常量  31

2.2.2  實型常量  32

2.2.3  字符常量、轉義字符  33

2.2.4  符號常量  34

2.2.5  字符串常量  35

 2.3  變量  35

2.3.1  C語言標識符  35

2.3.2  變量的定義  36

2.3.3  變量的賦值  37

 2.4  運算符與表達式  38

2.4.1  算術運算符  38

2.4.2  自增和自減運算符  39

2.4.3  關系運算符  41

2.4.4  邏輯運算符  41

2.4.5  賦值運算符  42

2.4.6  條件運算符  43

2.4.7  逗號運算符  44

2.4.8  位運算符  44

2.4.9  求字節數運算符  46

2.4.10  各類型數值數據的混合運算  47

 2.5  常用數學函數  50

 2.6  格式化輸入/輸出函數  52

2.6.1  格式化輸出函數  53

2.6.2  格式化輸入函數  55

2.6.3  C程序常見的錯誤類型分析  57

2.6.4  提高C程序的可讀性  60

 2.7  字符輸入/輸出函數  60

2.7.1  字符輸出函數  60

2.7.2  字符輸入函數  61

 2.8  習題  61

2.8.1  選擇題  61

2.8.2  填空題  62

2.8.3  求表達式的值  63

2.8.4  編程題  64

第3章    結構化程序設計  65

 3.1  順序結構  66

 3.2  選擇結構  67

3.2.1  if語句  68

3.2.2  switch語句  72

 3.3  循環結構  74

3.3.1  while語句循環結構  74

3.3.2  do…while語句循環結構  76

3.3.3  for語句循環結構  78

3.3.4  跳轉  79

 3.4  常用算法  81

3.4.1  窮舉法  81

3.4.2  歸納法  84

 3.5  習題  88

3.5.1  選擇題  88

3.5.2  程序運行題  89

3.5.3  編程題  90

第4章    數組  92

 4.1  一維數組  93

4.1.1  一維數組的定義  93

4.1.2  一維數組的引用  94

4.1.3  一維數組的初始化  94

 4.2  一維數組應用舉例  96

4.2.1  順序查找法  96

4.2.2  折半查找法  97

4.2.3  冒泡排序法  99

4.2.4  直接交換排序法  101

4.2.5  選擇排序法  102

4.2.6  插入排序法  104

 4.3  二維數組  109

4.3.1  二維數組的定義  109

4.3.2  二維數組的引用  109

4.3.3  二維數組的初始化  110

 4.4  二維數組應用舉例  111

 4.5  字符數組和字符串  114

4.5.1  字符數組的定義  114

4.5.2  字符數組的初始化  115

4.5.3  字符數組的輸入  116

4.5.4  字符數組的輸出  117

 4.6  字符串操作函數  119

 4.7  習題  126

4.7.1  選擇題  126

4.7.2  編程題  127

第5章    函數  130

 5.1  函數概述  131

 5.2  函數的定義和調用  132

5.2.1  函數的定義  132

5.2.2  函數的調用  133

5.2.3  函數的聲明  133

5.2.4  函數的返回值  134

 5.3  函數的參數傳遞  134

 5.4  函數的遞歸調用  136

5.4.1  遞歸調用的概述  136

5.4.2  遞歸法  137

 5.5  變量的存儲類型和作用域  142

5.5.1  變量的存儲類型  142

5.5.2  變量的作用域  143

 5.6  外部函數  148

 5.7  習題  148

5.7.1  選擇題  148

5.7.2  填空題  151

5.7.3  程序運行題  152

5.7.4  編程題  154

第6章    指針  156

 6.1  地址和指針變量  157

6.1.1  地址  157

6.1.2  指針變量  159

6.1.3  指針變量的運算  160

6.1.4  指針變量作為函數參數  161

 6.2  指針與數組  161

6.2.1  指針與一維數組  162

6.2.2  行指針與列指針的關系  162

6.2.3  遍歷二維數組  163

6.2.4  指向行數組的指針變量  164

 6.3  指針與字符串  165

6.3.1  指向字符串的指針  165

6.3.2  字符數組和字符指針變量的區別  166

 6.4  指針作為函數參數  167

6.4.1  值傳遞與地址傳遞  168

6.4.2  地址傳遞方式  168

 6.5  指針與函數  169

6.5.1  指向函數的指針變量  169

6.5.2  返回指針值的函數  170

 6.6  指針數組與多級指針  171

6.6.1  指針數組  171

6.6.2  多級指針  172

 6.7  習題  173

6.7.1  選擇題  173

6.7.2  程序運行題  174

6.7.3  填空題  176

6.7.4  編程題  178

第7章    結構體和共用體  181

 7.1  結構體  182

7.1.1  定義結構體類型  182

7.1.2  定義結構體變量  183

7.1.3  結構體變量的引用  185

7.1.4  結構體變量的初始化和賦值  186

7.1.5  結構體數組  188

7.1.6  指向結構體類型的指針  189

 7.2  共用體  191

7.2.1  定義共用體類型  191

7.2.2  共用體變量的聲明  191

7.2.3  共用體變量的引用  192

 7.3  枚舉類型  194

7.3.1  定義枚舉類型  194

7.3.2  枚舉型變量的聲明  195

7.3.3  枚舉型變量的引用  195

 7.4  typedef  196

7.4.1  typedef的用法  196

7.4.2  typedef應用示例  197

 7.5  習題  198

7.5.1  選擇題  198

7.5.2  填空題  201

7.5.3  編程題  204

第8章    文件  207

 8.1  C文件概述  208

8.1.1  流式文件  208

8.1.2  文件類型FILE  209

8.1.3  文件類型指針  209

 8.2  文件的打開與關閉  210

8.2.1  文件的打開  210

8.2.2  文件的關閉  211

 8.3  文件的讀/寫  212

8.3.1  單字符讀/寫fputc和fgetc函數  212

8.3.2  字符串讀/寫fputs和fgets函數  213

8.3.3  格式化讀/寫fprintf和fscanf函數  214

8.3.4  數據塊讀/寫fwrite和fread函數  216

 8.4  文件的定位  218

8.4.1  順序讀/寫與隨機讀/寫  219

8.4.2  rewind、ftell和fseek函數  219

 8.5  文件的出錯檢測  220

8.5.1  ferror函數  220

8.5.2  feof函數  220

8.5.3  clearerr函數  221

 8.6  習題  221

8.6.1  選擇題  221

8.6.2  填空題  224

第9章    面向對象基礎  227

 9.1  C++編程基礎  228

9.1.1  C++編程概述  228

9.1.2  註釋方式  229

9.1.3  換行符endl  230

 9.2  類和對象  230

9.2.1  類的定義  231

9.2.2  對象的定義  233

 9.3  成員函數  234

 9.4  構造函數和析構函數  235

9.4.1  構造函數的定義  235

9.4.2  類的默認構造函數  237

9.4.3  構造函數的重載  238

9.4.4  拷貝構造函數  238

9.4.5  析構函數  242

9.4.6  構造順序  242

 9.5  類的設計案例分析  245

9.5.1  案例1:MyClass類的設計  246

9.5.2  案例2:BankAccount的設計  247

9.5.3  案例3:Person類的設計  249

 9.6  習題  252

9.6.1  選擇題  252

9.6.2  程序運行題  255

9.6.3  填空題  256

9.6.4  編程題  259

參考文獻  260

附錄  261