C語言程序設計

劉浩、孫曉燕、張芳芳

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

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

商品描述

"本書濃縮了作者多年教學改革的實踐經驗,以白皮書和CFC2008為指導,按照認識規律,對章節順序進行了合理的安排,做到先易後難、循序漸進,語言敘述註重圖文並茂,理論講解註重結合實際應用、能力訓練。本書主要內容包括: C語言和結構化程序設計,數據類型、運算符與表達式,順序結構程序設計,選擇結構程序設計,循環結構程序設計,數組與字符串,函數,對函數的進一步討論,指針,結構體、共享體、枚舉和用戶定義的類型,位運算,文件,上機實驗與指導,總結等。 本書適合作為高等院校“C語言程序設計”課程的教材,還可作為C語言自學者的教材或參考書。 "

目錄大綱

目 錄

                                                   第1章C語言和結構化程序設計1

1.1C語言的產生過程及特點1

1.1.1C語言的產生過程1

1.1.2C語言的特點2

1.2C語言程序的結構、書寫格式和簡單的C語言程序3

1.2.1C語言程序的結構3

1.2.2C語言程序的書寫格式4

1.2.3簡單的C語言程序4

1.3C語言程序的開發過程及開發環境6

1.3.1C語言程序的開發過程6

1.3.2Turbo C集成開發環境及其使用7

1.3.3Dev C++集成開發環境及其使用10

1.3.4Visual C++開發環境及其使用13

1.4算法和結構化程序設計18

1.4.1算法18

1.4.2結構化程序設計21

1.4.3簡單程序的設計21

習題123

第2章數據類型、運算符與表達式24

2.1C語言的數據類型25

2.2常量、變量27

2.2.1常量27

2.2.2變量30

2.2.3變量賦初值31

2.3C語言的運算符和表達式31

2.3.1算術運算符和算術表達式32

2.3.2賦值運算符和賦值表達式34

2.3.3復合的賦值表達式35

2.3.4逗號運算符和逗號表達式35

2.4不同類型數據之間的轉換36

2.4.1自動類型轉換36

2.4.2強制類型轉換38

習題239

第3章順序結構程序設計41

3.1順序結構的程序特點42

3.2賦值語句42

3.3數據輸入輸出43

3.3.1格式輸出函數——printf函數43

3.3.2格式輸入函數——scanf函數48

3.3.3字符輸出函數——putchar函數52

3.3.4字符輸入函數——getchar函數53

3.4C語句概述54

3.4.1復合語句54

3.4.2空語句54

3.4.3表達式語句55

3.4.4控制語句55

3.4.5函數調用語句55

3.5應用舉例56

習題358

第4章選擇結構程序設計60

4.1關系運算符和關系表達式60

4.1.1關系運算符及其優先級60

4.1.2關系表達式61

4.2邏輯運算符和邏輯表達式62

4.2.1邏輯運算符及其優先級62

4.2.2邏輯表達式63

4.3if語句63

4.3.1if語句與單分支結構63

4.3.2if…else語句與雙分支結構64

4.3.3else…if語句與多分支結構65

4.3.4if…else語句的嵌套與分支的嵌套結構67

4.4條件表達式構成的選擇結構69

4.4.1條件運算符69

4.4.2條件表達式與雙分支結構69

4.5switch語句70

4.5.1break語句70

4.5.2switch語句與多分支結構71

4.6goto語句和標號74

4.7應用舉例75

習題479

第5章循環結構程序設計82

5.1while語句與用while語句構成的循環結構83

5.1.1while語句83

5.1.2while構成的循環結構83

5.2do…while語句與用do…while語句構成的循環結構85

5.2.1do…while語句85

5.2.2do…while構成的循環結構85

5.3for語句與用for語句構成的循環結構87

5.3.1for語句87

5.3.2for語句構成的循環結構87

5.4三種循環的比較和嵌套90

5.4.1三種循環的比較90

5.4.2三種循環的嵌套90

5.5循環結構中的break語句和continue語句92

5.5.1循環結構中的break語句92

5.5.2continue語句94

5.6應用舉例95

習題5101

第6章數組與字符串105

6.1一維數組105

6.1.1一維數組的定義105

6.1.2一維數組的初始化106

6.1.3一維數組的引用107

6.1.4一維數組應用舉例107

6.2二維數組113

6.2.1二維數組的定義113

6.2.2二維數組的初始化114

6.2.3二維數組的引用114

6.2.4二維數組應用舉例115

6.3多維數組117

6.4字符數組和字符串119

6.4.1字符數組的定義119

6.4.2字符數組的賦值——字符串的存儲方法120

6.4.3字符串的輸入121

6.4.4字符串的輸出122

6.4.5字符串運算函數123

6.4.6二維字符數組125

6.4.7字符數組和字符串應用舉例126

習題6128

第7章函數131

7.1概述131

7.2函數的定義132

7.2.1有參函數定義的一般格式132

7.2.2無參函數定義的一般格式133

7.2.3空函數133

7.3函數的返回值133

7.3.1return語句133

7.3.2函數的返回值134

7.4函數的調用136

7.4.1函數的調用格式136

7.4.2函數調用時的語法要求137

7.4.3調用函數和被調函數之間的數據傳遞137

7.5函數的聲明138

7.6函數的嵌套調用140

7.7函數的遞歸調用140

7.8庫函數的調用142

7.9數組作函數參數147

7.9.1數組元素作函數實參147

7.9.2數組名作函數參數148

7.10應用舉例149

習題7151

第8章對函數的進一步討論154

8.1局部變量和全局變量154

8.1.1局部變量154

8.1.2全局變量155

8.2變量的存儲屬性156

8.2.1變量的存儲類型156

8.2.2局部變量使用的存儲類型157

8.2.3全局變量使用的存儲類型160

8.3函數的存儲屬性164

8.3.1內部函數164

8.3.2外部函數165

8.4編譯預處理165

8.4.1宏定義165

8.4.2文件包含168

8.4.3條件編譯170

習題8172

第9章指針174

9.1地址、指針的概念和指針變量174

9.1.1地址與指針174

9.1.2指針運算符&和175

9.1.3指針變量的定義175

9.1.4指針變量的賦值176

9.1.5指針變量的使用176

9.1.6指針運算178

9.2指針與函數179

9.2.1指針作函數參數179

9.2.2指向函數的指針180

9.2.3返回指針的函數(函數的返回值是指針)182

9.3指針與數組184

9.3.1指針與一維數組184

9.3.2指針與二維數組190

9.3.3指針數組193

9.4指針與字符串195

9.5指向指針的指針196

9.6main函數的參數197

9.7指針與內存的動態存儲分配198

9.7.1內存動態存儲分配函數198

9.7.2內存動態存儲分配函數的應用200

習題9201

第10章用戶自己定義的數據類型205

10.1結構體和結構體變量205

10.1.1結構體類型的定義205

10.1.2結構體變量的定義206

10.1.3結構體變量的初始化208

10.1.4結構體變量的引用208

10.1.5結構體變量應用舉例209

10.2結構體數組210

10.2.1結構體數組的定義210

10.2.2結構體數組的初始化211

10.2.3結構體數組的引用212

10.2.4結構體數組應用舉例212

10.3結構體指針213

10.3.1指向一個結構體變量的指針213

10.3.2指向一個結構體數組的指針215

10.4結構體與函數216

10.4.1結構體的成員作函數參數216

10.4.2結構體變量作函數參數217

10.4.3指向結構體的指針作函數參數218

10.4.4結構體數組作函數參數219

10.4.5函數的返回值是結構體類型222

10.4.6函數的返回值是指向結構體變量或結構體數組元素的指針226

10.5鏈表228

10.5.1用指針和結構體構成鏈表229

10.5.2鏈表的基本操作230

10.6共享體233

10.6.1共享體類型的定義233

10.6.2共享體變量的定義233

10.6.3共享體變量的引用234

10.6.4共享體應用舉例235

10.7枚舉237

10.7.1枚舉類型的定義237

10.7.2枚舉變量的定義238

10.7.3枚舉變量的引用238

10.7.4枚舉應用舉例239

10.8用typedef定義新類型名240

習題10241

第11章位運算243

11.1位運算簡介243

11.1.1位邏輯運算符243

11.1.2移位運算符245

11.2位賦值運算符246

11.3位段247

11.4應用舉例249

習題11251

第12章文件的讀寫操作253

12.1C文件的概念253

12.2文件的打開和關閉254

12.2.1文件類型指針254

12.2.2fopen函數255

12.2.3fclose函數256

12.3文件的讀/寫256

12.3.1fgetc和fputc(putc和getc)函數256

12.3.2fread函數和fwrite函數258

12.3.3fscanf函數和fprintf函數261

12.3.4fgets函數和fputs函數262

12.4文件的定位及出錯檢測264

12.4.1順序存取和隨機存取264

12.4.2rewind函數264

12.4.3fseek函數264

12.4.4ftell函數265

12.4.5出錯檢測函數265

習題12267

第13章上機實驗與指導269

上機實驗1C程序的運行環境和運行C程序的方法269

上機實驗2數據類型、運算符與表達式270

上機實驗3順序結構程序設計271

上機實驗4順序結構程序設計(續)273

上機實驗5選擇結構程序設計274

上機實驗6選擇結構程序設計(續)276

上機實驗7循環結構程序設計277

上機實驗8循環結構程序設計(續)278

上機實驗9選擇、循環結構程序設計278

上機實驗10一維數組280

上機實驗11二維數組280

上機實驗12字符數組和字符串282

上機實驗13函數(一)283

上機實驗14函數(二)284

上機實驗15函數(三)285

上機實驗16指針(一)286

上機實驗17指針(二)287

上機實驗18指針(三)288

上機實驗19結構體與鏈表289

上機實驗20共享體與枚舉289

上機實驗21位操作290

上機實驗22文件290

第14章總結292

14.1數據的類型及表示形式292

14.1.1數據的類型292

14.1.2數據的表示形式292

14.2運算符與表達式293

14.3算法294

14.4三種基本結構294

14.5用函數實現模塊化程序設計294

14.6用文件實現數據的輸入輸出295

附錄AASCII字符編碼一覽表296

附錄BC語言的關鍵字及其用途297

附錄CC語言運算符的優先級別和結合方向299

附錄DC語言庫函數301

參考文獻307