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

游洪躍、羅佳、丁曉峰、劉群、楊菊英、彭勇

  • 出版商: 清華大學
  • 出版日期: 2024-09-01
  • 定價: $333
  • 售價: 8.5$283
  • 語言: 簡體中文
  • ISBN: 7302673810
  • ISBN-13: 9787302673811
  • 相關分類: C 程式語言
  • 下單後立即進貨 (約4週~6週)

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

相關主題

商品描述

"全書共9章,闡述了C語言的主要特點及C程序開發過程,介紹了基本數據類型、表達式和運算符,結構化程序控制流程,函數的使用以及相關知識,指針和數組的使用方法,用戶定製類型及位運算,預處理器的使用方法,文件的基本操作方式,以及一些關於C語言的高級內容。 本書全面系統地介紹了C語言程序設計各要素,取材新穎,內容豐富,可讀性強。本書充分考慮了讀者對書中部分內容的心理適應性,對於一些容易讓讀者產生畏懼心理的內容作了適當的處理。本書所有程序都在Visual C++ 6.0、Visual C++2022和DevC++ 5.11開發環境中進行了嚴格的測試。 通過本書的學習,讀者能迅速提高C語言程序設計的能力,經過適當的選擇,可作為高等學校電腦及相關專業C語言程序設計課程的教材,同時也適合初學程序設計者或有一定編程實踐基礎,希望突破編程難點的讀者作為自學教材。 "

目錄大綱

目錄

第1章C語言程序設計基礎1

1.1C語言的發展和主要特點1

1.1.1C語言的發展1

1.1.2C語言的主要特點1

1.2第一個C語言程序以及C語言程序開發過程2

1.2.1第一個C語言程序2

1.2.2C語言程序開發過程5

1.3數制及十進制數與R進制數之間的轉換5

1.3.1數制5

1.3.2十進制數與R進制數之間的轉換6

1.4程序陷阱7

習題17

第2章數據類型及其運算10

2.1標識符與關鍵字10

2.2C語言的數據類型11

2.3常量與變量15

2.3.1整型量15

2.3.2實型量18

2.3.3字符型量19

2.3.4符號常量21

2.3.5類型轉換22

2.4基本運算符和表達式24

2.4.1運算符的種類、優先級和結合性概述24

2.4.2優先級和結合性25

2.5程序陷阱30

習題231

第3章C語言程序結構及相關語句35

3.1相關知識35

3.1.1算法描述方法35

3.1.2結構化程序35

3.1.3模塊化結構36

3.2順序語句36

3.2.1C程序的語句36

3.2.2數據輸出語句38

3.2.3數據輸入語句42

3.3分支結構程序48

3.3.1關系運算符和表達式48

3.3.2邏輯運算符和表達式49

3.3.3if語句51

3.3.4條件運算符和條件表達式58

3.3.5switch語句59

3.3.6程序舉例62

3.4循環結構程序64

3.4.1while語句64

3.4.2do…while語句66

3.4.3for語句67

3.4.4轉移語句69

3.4.5程序舉例73

3.5實例研究:利用電腦破案74

3.6程序陷阱76

習題377

第4章函數86

4.1函數的定義與調用86

4.1.1函數定義的一般形式86

4.1.2函數調用的一般形式88

4.1.3函數的聲明和函數原型89

4.2函數的參數和函數的值92

4.2.1函數的參數92

4.2.2函數的值93

4.3函數的嵌套調用94

4.4遞歸函數95

4.5變量的作用域97

4.5.1局部變量98

4.5.2全局變量100

4.6變量的存儲類型和生存期103

4.6.1自動變量103

4.6.2外部變量106

4.6.3靜態變量107

4.6.4寄存器變量108

4.7內部函數和外部函數109

4.7.1內部函數109

4.7.2外部函數110

4.8實例研究: 漢諾塔問題111

4.9程序陷阱112

習題4114

第5章數組和指針121

5.1一維數組的定義和引用121

5.1.1定義一維數組121

5.1.2引用一維數組的元素122

5.2二維數組125

5.2.1定義二維數組125

5.2.2引用二維數組的元素125

5.2.3二維數組的初始化127

5.3用數組作為函數的參數129

5.3.1用數組元素作為函數的參數129

5.3.2用一維數組名作為函數的參數130

5.3.3用多維數組作為函數的參數133

5.4字符數組與字符串134

5.4.1字符數組134

5.4.2字符串135

5.4.3字符串常用函數137

5.5數組程序舉例141

5.6指針變量的定義143

5.7指針運算符143

5.8指向void的指針145

5.9函數參數的引用傳遞145

5.10指針變量和數組148

5.10.1指針變量與一維數組148

5.10.2指針變量與二維數組152

5.11字符指針、字符數組和字符串158

5.11.1字符指針與字符數組的區別158

5.11.2字符指針數組和字符串數組159

5.12實例研究: 冒泡程序161

5.13程序陷阱162

習題5163

第6章用戶定製數據類型及位運算170

6.1結構170

6.1.1概述170

6.1.2結構的定義170

6.1.3結構變量成員的引用173

6.1.4結構變量的初始化175

6.1.5結構數組176

6.1.6指向結構變量的指針181

6.2聯合184

6.2.1聯合的概念184

6.2.2聯合類型的定義185

6.2.3聯合變量的定義185

6.2.4聯合變量的賦值和使用186

6.3枚舉類型188

6.4類型定義: typedef193

6.5位運算符195

6.5.1位運算符介紹195

6.5.2位運算綜合舉例200

6.6位段結構203

6.6.1位段結構的定義和位段結構變量的定義203

6.6.2位段成員的使用205

6.7程序陷阱206

習題6206

第7章預處理命令210

7.1概述210

7.2文件包含210

7.3宏定義211

7.3.1無參宏定義211

7.3.2帶參宏定義213

7.3.3取消宏#undef220

7.4條件編譯220

7.5宏assert(斷言)224

7.6程序陷阱224

習題7225

第8章文件228

8.1文件概念228

8.2文件指針229

8.3文件的打開與關閉229

8.3.1文件打開函數fopen()229

8.3.2文件關閉函數fclose()231

8.4文件檢測函數231

8.5對文本文件的操作232

8.5.1採用格式化讀寫函數fscanf()和fprintf()讀寫數據232

8.5.2採用字符讀寫函數fgetc()和fputc()讀寫字符234

8.5.3採用字符串讀寫函數fgets()和fputs()讀寫字符串237

8.6對二進制文件的操作239

8.6.1採用數據塊讀寫函數fread()和write()讀寫二進制文件239

8.6.2隨機讀寫二進制文件241

8.7實例研究: 人事管理系統244

8.7.1需求分析244

8.7.2功能描述244

8.7.3總體設計245

8.7.4系統實現246

8.8程序陷阱254

習題8255

第9章高級主題259

9.1變長參數表259

9.2命令行參數261

9.3動態內存分配與釋放263

9.3.1動態內存分配函數malloc()263

9.3.2動態內存釋放函數free()264

9.3.3動態內存處理實例: 線性鏈表264

9.4指針的深入討論268

9.4.1指向函數的指針變量268

9.4.2返回指針的函數269

9.5程序陷阱270

習題9271

參考文獻274

附錄A常用C編譯器使用方法275

附錄B常用字符ASCII碼對照表276

附錄CC運算符與優先級277

附錄DC常用庫函數278