C語言程式設計教程(第二版)

C語言程式設計教程(第二版)

《 C語言程式設計教程(第二版)》是2009年8月1日清華大學出版社出版的圖書,作者是王敬華。

內容簡介

C 語言是最為流行的通用程式設計語言之一,是許多計算機專業人員和計算機愛好者學習程式設計語言的首選。本書共12 章,內容包括C 語言程式設計預備知識,C 語言程式設計基礎,基本數據類型、運算符與表達式,基本輸入輸出和順序程式設計,選擇結構程式設計,循環結構程式設計,數組,函式,指針,預處理命令,複雜數據類型,檔案等。 本書注重教材的可讀性和實用性,每章開頭都給出了學習意義、學習目標及難點提示,對關鍵知識點進行了詳細的說明,並附有大量的圖表方便讀者正確、直觀地對問題進行理解,樣例程式由淺入深,強化了知識點、算法、編程方法與技巧,並給出了詳細的解釋。為了幫助初學者正確地掌握C 語言的語法特點,每章還列舉出了初學者在編程過程中常見的錯誤。另外,本書還配套提供題型豐富的《C 語言程式設計教程(第二版)習題解答與實驗指導》教材。

圖書目錄

第1章C語言程式設計預備知識 1

1.1計算機系統組成及工作原理簡介 1

1.2進位計數制及其轉換 4

1.2.1十進制數的表示 4

1.2.2二進制數、八進制數和十六進制數的表示 4

1.2.3二進制數和十進制數的轉換 5

1.2.4二進制數、八進制數和十六進制數的轉換 7

1.3機器數的表示形式及其表示範圍 8

1.3.1真值與機器數 8

1.3.2數的原碼錶示 8

1.3.3數的反碼錶示 9

1.3.4數的補碼錶示 10

1.3.5補碼的加、減運算 11

1.3.6無符號整數 11

1.3.7字元表示法 11

1.4二進制數的位運算 12

1.5本章小結 13

習題1 14

第2章C語言程式設計基礎 16

2.1程式設計語言的發展及其特點 16

2.2C語言的發展及其特點和套用 18

2.3C語言與C++、Java和C#之間的關係 20

2.4C語言程式的基本結構 21

2.5編制C語言程式的基本步驟 26

2.6本章小結 28

習題2 29

第3章基本數據類型、運算符與表達式 31

3.1C語言的數據類型 32

3.2常量、變數和標識符 33

3.3簡單數據類型與表示範圍 35

3.3.1整型數據 36

3.3.2實型數據 42

3.3.3字元型數據和字元串常量 44

3.3.4簡單數據類型的表示範圍 47

3.3.5數據的簡單輸出 49

3.4C語言的運算符與表達式 51

3.4.1賦值運算符、賦值表達式 51

3.4.2強制類型轉換符 53

3.4.3算術運算符、算術表達式 55

3.4.4自增自減運算符、負號運算符 56

3.4.5算術運算中數據類型轉換規則 58

3.4.6位運算符、位運算表達式 59

3.4.7逗號運算符、逗號表達式 60

3.4.8sizeof運算符、複合賦值運算符 61

3.5運算符的優先權和結合性 62

3.6有符號數與無符號數之間運算問題 62

3.7本章小結及常見錯誤列舉 64

習題3 69

第4章基本輸入輸出和順序程式設計 73

4.1格式化輸出printf 73

4.1.1整數的輸出 76

4.1.2實數的輸出 80

4.1.3字元和字元串的輸出 81

4.1.4格式化輸出小結 82

4.2格式化輸入scanf 84

4.3字元數據的非格式化輸入輸出 90

4.4程式的控制結構 93

4.4.1算法的基本概念 93

4.4.2算法的描述方法 95

4.4.3算法的基本結構 97

4.5順序程式設計舉例 99

4.6本章小結及常見錯誤列舉 101

習題4 103

第5章選擇結構程式設計 107

5.1C語言程式中語句的分類 107

5.2關係運算符、邏輯運算符、條件運算符 109

5.2.1關係運算符和關係表達式 109

5.2.2邏輯運算符和邏輯表達式 110

5.2.3條件運算符和條件表達式 112

5.3選擇結構的程式設計 113

5.3.1if語句 114

5.3.2switch語句 118

5.4選擇結構程式設計舉例 122

5.5本章小結及常見錯誤列舉 128

習題5 131

第6章循環結構程式設計 138

6.1循環結構的程式設計 138

6.1.1while語句 139

6.1.2do-while語句 142

6.1.3for語句 143

6.1.4循環嵌套 146

6.1.5break與continue語句 147

6.1.6goto語句 149

6.1.7exit()函式 150

6.2循環結構類型的選擇及轉換 151

6.3循環結構程式設計舉例 153

6.4本章小結及常見錯誤列舉 159

習題6 162

第7章數組 169

7.1一維數組 170

7.1.1一維數組的定義和引用 170

7.1.2一維數組的賦值 172

7.1.3一維數組的套用舉例 175

7.2二維數組 181

7.2.1二維數組的定義和引用 182

7.2.2二維數組的賦值 183

7.2.3二維數組的套用舉例 185

7.3字元串與數組 187

7.3.1字元串的本質 187

7.3.2字元及字元串操作的常用函式 188

7.3.3字元串數組 194

7.4數組綜合套用舉例 197

7.5本章小結及常見錯誤列舉 200

習題7 204

第8章函式 210

8.1函式概述 210

8.2函式的定義與調用 212

8.2.1無參數無返回值的函式 212

8.2.2無參數有返回值的函式 214

8.2.3帶參數無返回值的函式 217

8.2.4帶參數有返回值的函式 219

8.3函式參數的傳遞方式 220

8.4變數的作用域和生存期 224

8.5變數的存儲類型 229

8.6函式的嵌套和遞歸調用 234

8.6.1函式的嵌套調用 234

8.6.2函式的遞歸調用 235

8.7函式的作用域 241

8.8函式封裝 242

8.9函式套用綜合舉例 242

8.10本章小結及常見錯誤列舉 246

習題8 250

第9章指針 255

9.1指針與指針變數的概念 255

9.2指針變數的定義和引用 257

9.3指針和地址運算 263

9.4指針與數組 263

9.4.1數組的指針和指向數組的指針變數 264

9.4.2指向多維數組的指針——數組指針 266

9.4.3元素為指針的數組——指針數組 271

9.5指針與字元串 274

9.6指針與動態記憶體分配 280

9.7多級指針 285

9.8指針作為函式參數 288

9.9指針作為函式的返回值——指針函式 294

9.10指向函式的指針——函式指針 295

9.11帶參數的main函式 298

9.12本章小結及常見錯誤列舉 301

習題9 306

第10章預處理命令 312

10.1預處理命令簡介 312

10.2宏定義 313

10.2.1不帶參數的宏定義 313

10.2.2帶參數的宏定義 316

10.3檔案包含 317

10.4條件編譯 319

10.5本章小結及常見錯誤列舉 323

習題10 325

第11章複雜數據類型 328

11.1複雜數據類型概述 328

11.2結構體 329

11.2.1結構體類型的定義 329

11.2.2結構體變數的定義和引用 331

11.2.3結構體變數的賦值 334

11.2.4結構體變數記憶體分配問題透析 337

11.2.5簡化結構體類型名 340

11.2.6結構體數組 341

11.3線性鍊表 344

11.4聯合體 350

11.4.1聯合體類型的定義 351

11.4.2聯合體變數的定義和引用 352

11.4.3聯合體變數的賦值 352

11.5位域 356

11.6枚舉類型變數的定義和引用 358

11.7複雜數據類型套用綜合舉例 361

11.8本章小結及常見錯誤列舉 365

習題11 369

第12章檔案 375

12.1檔案的基本概念 375

12.2檔案的類別 376

12.3檔案操作概述 377

12.4檔案指針 378

12.5檔案的打開、讀寫和關閉 378

12.5.1檔案的打開與關閉 379

12.5.2檔案的讀寫 380

12.5.3檔案讀寫函式選用原則 392

12.6檔案的定位讀寫 393

12.7檔案套用綜合舉例 396

12.8本章小結及常見錯誤列舉 398

習題12 399

附錄A常見問題解答 404

附錄B常用標準庫函式 407

附錄CC語言的關鍵字 414

附錄D運算符和結合性 415

附錄EASCII碼 416

參考文獻 418

相關詞條

熱門詞條

聯絡我們