C語言程式設計實用教程[耿祥義、張躍平編著書籍]

《C語言程式設計實用教程》是2010年清華大學出版社出版的圖書,作者是耿祥義、張躍平。

內容簡介

C語言不僅是計算機學科的一門基礎語言,而且C語言高效、靈活,特別適合用來編寫操作硬體設備的程式,使得C語言在嵌入式領域有著廣泛的套用。本教材是作者多年講授C語言的經驗總結,強調可讀性和實用性,特別注重結合實例、講解知識點的能力目標。在語法講解方面遵守ANSI C標準,在程式設計思想方面強調模組化思想,在克服難點方面注重結構合理地安排內容、循序漸進地展開知識,在提高程式設計能力方面強調綜合運用知識的能力。特別是針對C語言的精髓——指針,將其相關內容合理地分散銜接為三個章節,注重由簡到難、逐步展開,便於讀者學習和掌握這部分內容。

圖書目錄

第1章初識C語言 1

1.1C語言與貝爾實驗室 1

1.2C程式的開發步驟 2

1.3使用VC++開發環境 4

1.3.1配置VC++6.0 5

1.3.2使用VC++6.0的步驟 7

1.4C語言的地位 10

1.5小結 11

習題1 11

第2章C程式的基本結構 13

2.1用函式封裝代碼 13

2.1.1問題的提出 13

2.1.2函式封裝代碼的思想 15

2.2C程式的基本結構 16

2.2.1基本結構 16

2.2.2main函式 16

2.2.3源檔案的結構 18

2.3編程風格 20

2.3.1Allmans風格 20

2.3.2Kernighan風格 21

2.3.3注釋 21

2.4小結 21

習題2 21

第3章標識符與基本數據類型 23

3.1標識符與關鍵字 23

3.1.1標識符 23

3.1.2關鍵字 24

3.2變數與記憶體 25

3.2.1了解記憶體 25

3.2.2為變數分配記憶體 25

3.2.3為變數賦值 25

3.2.4使用變數的基本原則 27

3.3整型類型 28

3.3.1整型常量 28

3.3.2int型變數 29

3.3.3short型變數 33

3.3.4long型變數 34

3.3.5無符號整型變數 34

3.4浮點類型 37

3.4.1浮點型常量 37

3.4.2float型變數 38

3.4.3double型變數 42

3.5字元型 43

3.5.1字元常量 43

3.5.2char型變數 44

3.6常量 46

3.6.1字面常量 46

3.6.2符號常量 46

3.6.3const常量 47

3.7數據轉換 48

3.8變數的地址和大小 49

3.9輸出數據 51

3.9.1printf函式 51

3.9.2putchar函式 53

3.10輸入數據 54

3.10.1scanf函式 54

3.10.2getchar函式 58

3.11小結 60

習題3 60

第4章運算符、表達式與語句 63

4.1運算符概述 63

4.2算術運算符與算術表達式 64

4.3賦值運算符與賦值表達式 65

4.4自增、自減運算符 66

4.5關係運算符與關係表達式 69

4.6邏輯運算符與邏輯表達式 71

4.7類型轉換運算符 72

4.8逗號運算符 73

4.9運算符與表達式小結 74

4.10語句 75

4.11小結 76

習題4 77

第5章分支語句 80

5.1if條件分支語句 80

5.2if-else條件分支語句 85

5.3if-elseif-else條件分支語句 90

5.4switch開關語句 93

5.5條件運算符 95

5.6exit函式與程式的輸入錯誤 96

5.7小結 97

習題5 97

第6章循環語句 101

6.1while循環語句 101

6.2do-while循環語句 109

6.3for循環語句 111

6.4break和continue語句 115

6.5循環嵌套 116

6.6小結 118

習題6 118

第7章函式的結構與調用 123

7.1函式概述 123

7.2有關函式的重要術語 124

7.2.1函式頭 124

7.2.2函式原型 124

7.2.3函式定義 125

7.3無參函式與有參函式的定義 127

7.3.1無參函式的定義 127

7.3.2有參函式的定義 127

7.4函式的類型與return語句 128

7.4.1基本類型 128

7.4.2void型 130

7.5函式的調用與參數傳值 131

7.5.1調用無參數函式 132

7.5.2調用有參數函式 132

7.6函式封裝代碼的思想 135

7.7函式的遞歸調用 138

7.7.1遞歸調用的發生 138

7.7.2遞歸的套用 139

7.7.3遞歸的缺點 142

7.8局部變數與全局變數 143

7.8.1局部變數 143

7.8.2全局變數 144

7.9變數的存儲方式 147

7.9.1局部變數 147

7.9.2全局變數 149

7.10限制全局變數的有效範圍 149

7.11小結 149

習題7 150

第8章數組 154

8.1一維數組 154

8.1.1一維數組的定義 154

8.1.2一維數組的結構 155

8.1.3一維數組的使用 157

8.1.4怎樣獲取一維數組的長度 158

8.1.5一維數組的初始化 159

8.1.6避免下標越界 160

8.2數組名作參數 161

8.2.1一個重要的結論 161

8.2.2形參與數組 162

8.3起泡法 164

8.4二維數組 167

8.4.1二維數組的定義 167

8.4.2二維數組的結構 168

8.4.3二維數組的初始化 169

8.4.4二維數組的使用 169

8.5const數組 171

8.6綜合舉例 173

8.6.1選擇排序法 173

8.6.2折半法 174

8.6.3存儲並輸出楊輝三角形 176

8.6.4計算矩陣的乘積 177

8.7小結 178

習題8 178

第9章指針 181

9.1概述 181

9.2指針變數 182

9.2.1指針變數的聲明 182

9.2.2指針變數與取地址運算符 183

9.3指針訪問所指向的變數 184

9.3.1間接訪問運算符 184

9.3.2間接訪問與直接訪問 184

9.3.3注意事項 185

9.4指針的加減運算 186

9.4.1指針遞增 186

9.4.2指針遞減 187

9.4.3兩個指針作減法 187

9.4.4指針自增(自減)的重要結論 188

9.5指針作參數 188

9.5.1函式的原型與實現 188

9.5.2傳遞變數的值 190

9.5.3傳遞變數的地址 190

9.6指針與函式之間的互動 192

9.7指向指針的指針 193

9.8const指針 194

9.9綜合舉例 195

9.10小結 196

習題9 196

第10章指針與數組 199

10.1指向數組元素的指針 199

10.2數組名與間接訪問運算符 201

10.2.1數組名的自增、自減運算 201

10.2.2間接訪問運算符作用於數組名 202

10.3指針作參數訪問數組 203

10.4指針與下標運算 204

10.5指針與二維數組 205

10.5.1指向二維數組元素的指針 205

10.5.2二維數組的名字與間接訪問運算符 206

10.6指針數組 207

10.7指向行的指針 209

10.8綜合舉例 210

10.8.1旋轉數組 210

10.8.2圍圈留一 212

10.9小結 213

習題10 213

第11章指針與函式 216

11.1函式的入口地址與指針變數 216

11.1.1函式的入口地址 216

11.1.2指向函式的指針變數 217

11.2指向函式的指針作參數 219

11.3讓函式更易維護 220

11.3.1顯示廣告詞的函式 221

11.3.2間接調用的好處 222

11.4返回地址的函式 222

11.5指針的分類 224

11.6小結 225

習題11 225

第12章處理字元串 228

12.1字元串常量 228

12.2char型數組與字元串 229

12.2.1字元數組及初始化 230

12.2.2puts函式與gets函式 232

12.3指針與字元串 233

12.4複製字元串 234

12.5連線字元串 235

12.6比較字元串 236

12.7檢索字元串 237

12.8字元串轉換為數字 240

12.9綜合舉例 241

12.9.1統計單詞 241

12.9.2排序字元串 242

12.9.3輸出商品列表 243

12.9.4將字元串轉換為整數 246

12.9.5加密字元串 247

12.10小結 248

習題12 248

第13章結構體、共用體與枚舉 252

13.1結構體類型與結構體變數 252

13.1.1描述商品信息 252

13.1.2結構體類型 253

13.1.3結構體變數 253

13.1.4訪問結構體變數的成員 255

13.1.5結構體變數的賦值操作 256

13.2使用typedef關鍵字 256

13.3指針與結構體變數 257

13.3.1指向結構體變數的指針 257

13.3.2通過指針訪問結構體變數的成員 258

13.4結構體變數的初始化 259

13.5結構體數組 260

13.6結構體的嵌套 261

13.7結構體與函式 261

13.8共用體 262

13.8.1共用體類型與共用體類型變數 263

13.8.2共用體類型變數的特點 263

13.8.3通過指針訪問共用體變數的成員 264

13.9枚舉 265

13.9.1定義枚舉類型 265

13.9.2聲明枚舉變數 265

13.10綜合舉例 266

13.11小結 268

習題13 268

第14章讀寫檔案 271

14.1什麼是檔案 271

14.1.1二進制檔案 271

14.1.2文本檔案 272

14.2打開與關閉檔案 273

14.2.1FILE指針 273

14.2.2打開檔案 273

14.2.3關閉檔案 274

14.3讀寫文本檔案 274

14.3.1按文本方式打開檔案 274

14.3.2按文本方式讀檔案 275

14.3.3按文本方式寫檔案 277

14.4讀寫二進制檔案 279

14.4.1按二進制方式打開檔案 279

14.4.2按二進制方式寫檔案 280

14.4.3按二進制方式讀檔案 281

14.5讀寫位置與隨機讀寫 283

14.5.1rewind和ftell函式 283

14.5.2fseek函式 284

14.6複製檔案 285

14.7綜合舉例 286

14.7.1標準化考試 286

14.7.2保存商品信息 287

14.7.3加密、解密檔案 289

14.8小結 290

習題14 290

第15章鍊表 293

15.1初識鍊表 293

15.2鍊表與節點 294

15.2.1空鍊表 295

15.2.2鍊表的節點 295

15.2.3創建一個簡單的鍊表 296

15.3頭插法創建鍊表 297

15.4尾插法創建鍊表 299

15.5鍊表的插入操作 300

15.6鍊表的刪除操作 303

15.7綜合舉例 305

15.7.1旋轉鍊表 305

15.7.2圍圈留一 308

15.8小結 309

習題15 309

第16章預處理指令 310

16.1宏指令 310

16.1.1不帶參數的宏指令 310

16.1.2帶參數的宏指令 311

16.2檔案包含指令 312

16.2.1包含源檔案 313

16.2.2包含頭檔案 314

16.2.3math.h和time.h 314

16.3條件編譯指令 317

16.3.1#ifdef條件編譯指令 317

16.3.2#ifndef條件編譯指令 318

16.3.3#if常量表達式 319

16.4小結 320

習題16 320

第17章位運算 323

17.1位運算符和位運算 323

17.1.1“按位與”運算符 324

17.1.2“按位或”運算符 325

17.1.3“按位非”運算符 325

17.1.4“按位異或”運算符 326

17.1.5左移位運算符 327

17.1.6右移位運算符 327

17.2位段 328

17.2.1結構體與位段 328

17.2.2隔開位段 329

17.3小結 330

習題17 330

附錄A標準ASCII表 332

附錄B運算符表 333

附錄Cmath與string庫函式 334

參考文獻 336

熱門詞條

聯絡我們