c語言程式設計[人民郵電出版社2011年教材]

c語言程式設計[人民郵電出版社2011年教材]

《c語言程式設計》是2011年2月人民郵電出版社出版的圖書,作者是寧愛軍、熊聰聰。

內容簡介

本書介紹C語言的基礎知識,以Visual C ++ 6.0為編程環境,通過分析問題、設計算法、編寫和調試程式這些步驟,力求讓讀者掌握分析問題的方法,培養設計算法的能力。

全書共17章。第1章~第3章介紹程式設計與C語言的基礎知識;第4章~第7章介紹4種基本的算法與程式設計;第8章~第11章介紹函式、編譯預處理、指針、結構體和鍊表等;第12、第13章介紹位運算與檔案;第14章~第16章介紹面向對象程式設計的類與對象、繼承與派生、多態性與虛函式;第17章介紹幾個綜合實例。

圖書目錄

第1章 程式設計基礎 1

1.1 程式設計語言 1

1.1.1 什麼是程式 1

1.1.2 語言的分類 1

1.1.3 C語言簡介 2

1.1.4 C語言組成 3

1.2 計算機的組成與程式設計的本質 3

1.2.1 計算機系統結構 4

1.2.2 程式設計的本質 4

1.2.3 程式設計的過程 4

1.3 算法的概念和特性 5

1.3.1 什麼是算法 5

1.3.2 算法舉例 6

1.3.3 算法的特性 7

1.4 算法的表示方法 7

1.4.1 自然語言 7

1.4.2 偽代碼 7

1.4.3 傳統流程圖 7

1.4.4 N-S流程圖 8

1.5 結構化的程式設計方法 8

1.5.1 結構化程式設計 9

1.5.2 結構化程式設計方法 10

習題 10

第2章 Visual C++ 6.0簡介 12

2.1 Visual C++ 6.0簡介 12

2.2 Visual C++ 6.0的安裝與啟動 12

2.2.1 安裝過程 12

2.2.2 Visual C++ 6.0的啟動 14

2.3 Visual C++ 6.0的集成開發環境 15

2.4 Visual C++ 6.0的幫助 18

2.5 Visual C++ 6.0中的C語言程式設計 19

習題 23

第3章 數據類型、運算符與表達式 25

3.1 C語言的數據類型 25

3.2 常量與變數 25

3.2.1 變數 25

3.2.2 常量 28

3.3 整型數據 29

3.3.1 整型常量與變數 29

3.3.2 整型數據的輸入和輸出 30

3.3.3 整型數據在記憶體中的存儲方式 36

3.4 實型數據 37

3.4.1 實型常量與變數 37

3.4.2 實型數據的輸入和輸出 38

3.4.3 實型數據在記憶體中的存儲方式 39

3.5 字元型數據 41

3.5.1 字元型常量、轉義字元與變數 41

3.5.2 字元型數據的輸入和輸出 43

3.6 字元串 45

3.7 算術運算符和算術表達式 45

3.7.1 C語言運算符簡介 45

3.7.2 算術運算符和表達式 46

3.7.3 自增自減運算符 47

3.7.4 賦值運算符和賦值表達式 49

3.7.5 逗號運算符和表達式 51

3.8 數據類型的轉換 52

3.8.1 隱式類型轉換 52

3.8.2 強制類型轉換運算符 52

習題 53

第4章 順序結構程式設計 57

4.1 C語句概述 57

4.2 C程式的注釋 58

4.3 順序結構程式設計 58

4.4 常見的編程錯誤及其調試 63

4.4.1 語法錯誤 63

4.4.2 運行時錯誤 65

4.4.3 未檢測到的錯誤 65

4.4.4 邏輯錯誤 66

4.4.5 程式調試方法 67

習題 68

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

5.1 選擇結構算法設計 69

5.2 關係運算與邏輯運算 72

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

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

5.3 if語句 76

5.4 switch語句 80

5.5 選擇結構的嵌套 84

5.6 條件運算符 88

習題 89

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

6.1 循環結構概述 94

6.2 循環結構算法設計 95

6.2.1 當型循環和直到型循環 95

6.2.2 循環算法的設計 97

6.3 循環結構編程 99

6.3.1 while語句(當型循環) 99

6.3.2 do while語句(直到型循環) 101

6.3.3 for循環語句 103

6.3.4 break語句和continue語句 105

6.3.5 循環的嵌套 107

6.4 循環結構程式舉例 109

6.5 goto語句★ 120

習題 121

第7章 數組 128

7.1 數組 128

7.1.1 數組的引出 128

7.1.2 多維數組 128

7.2 一維數組算法設計 129

7.3 一維數組程式設計 131

7.3.1 一維數組的定義 131

7.3.2 數組元素引用 131

7.3.3 一維數組初始化 132

7.3.4 一維數組程式設計 132

7.4 二維數組算法設計 137

7.5 二維數組程式設計 139

7.5.1 二維數組的定義 139

7.5.2 數組元素引用 140

7.5.3 二維數組初始化 140

7.5.4 二維數組程式設計 140

7.6 字元數組 145

7.6.1 字元數組的定義和使用 145

7.6.2 字元串數組 147

7.6.3 字元串處理函式 149

7.6.4 字元串處理算法和程式設計 152

習題 155

第8章 函式 162

8.1 函式的定義和調用 162

8.1.1 函式定義 162

8.1.2 函式調用 163

8.1.3 參數的傳遞 166

8.1.4 函式返回值 168

8.2 數組作為參數 169

8.3 函式的嵌套調用 174

8.4 函式的遞歸調用 176

8.5 局部變數和全局變數 178

8.6 變數的存儲類別和生存期 181

8.7 程式的模組化設計 183

習題 185

第9章 編譯和編譯預處理 192

9.1 宏定義 192

9.1.1 不帶參數的宏定義 192

9.1.2 帶參數的宏定義 195

9.2 檔案包含 198

9.3 條件編譯 200

習題 203

第10章 指針 207

10.1 地址和指針 207

10.2 變數的指針和指向變數的指針變數 207

10.2.1 定義指針變數 208

10.2.2 指針變數的引用 208

10.2.3 指針變數作為函式參數 210

10.3 數組的指針和指向數組的指針變數 212

10.3.1 指向數組元素的指針 212

10.3.2 通過指針引用數組元素 213

10.3.3 數組和指向數組的指針變數作函式參數 215

10.3.4 指向多維數組的指針和指針變數 218

10.4 字元串的指針和指向字元串的指針變數 220

10.4.1 字元串的表示形式 220

10.4.2 字元串指針作函式參數 222

10.4.3 字元指針變數和字元數組的討論 223

10.5 函式的指針和指向函式的指針變數★ 224

10.5.1用函式指針變數調用函式 224

10.5.2 用指向函式的指針作函式參數 225

10.6 返回指針值的函式 226

10.7 指針數組和指向指針的指針 227

10.7.1 指針數組 227

10.7.2 指向指針的指針 230

10.7.3 指針數組作main函式的形參 232

習題 234

第11章 其他數據類型 239

11.1 結構體 239

11.1.1 結構體類型的聲明 239

11.1.2 定義結構體類型變數 240

11.1.3 結構體變數的引用 242

11.1.4 結構體變數的初始化 243

11.2 結構體數組 245

11.2.1 定義結構體數組 245

11.2.2 結構體數組的初始化 245

11.2.3 結構體數組套用舉例 247

11.3 指向結構體類型數據的指針 248

11.3.1 指向結構體變數的指針 248

11.3.2 指向結構體數組的指針 249

11.3.3 用結構體變數和指向結構體的指針作函式參數 250

11.4 鍊表 251

11.4.1 鍊表概述 251

11.4.2 處理動態鍊表所需的函式 253

11.4.3 建立動態鍊表 255

11.4.4 輸出鍊表 257

11.4.5 刪除鍊表的結點 258

11.4.6 插入鍊表結點 261

11.4.7 鍊表的綜合操作 265

11.5 共用體 266

11.5.1 共用體的概念 266

11.5.2 共用體變數的引用 267

11.6 枚舉類型 270

11.7 用typedef定義類型 272

習題 274

第12章 位運算 281

12.1 位運算符和位運算 281

12.2 按位取反(~)運算符 281

12.3 按位與(&)運算符 282

12.4 按位或(|)運算符 283

12.5 按位異或(^)運算符 284

12.6 左移(<<)運算符 285

12.7 右移(>>)運算符 286

12.8 位運算賦值運算符 287

12.9 不同長度的運算數之間的運算規則 287

12.10 位運算程式實例 287

習題 289

第13章 檔案 291

13.1 檔案概述 291

13.2 檔案指針 292

13.3 檔案的打開與關閉 293

13.3.1 fopen函式 293

13.3.2 fclose函式 294

13.4 檔案的讀寫 295

13.4.1 fputc函式 295

13.4.2 fgetc函式 297

13.4.3 fputs函式 298

13.4.4 fgets函式 299

13.4.5 fprintf函式 299

13.4.6 fscanf函式 301

13.4.7 fwrite函式 301

13.4.8 fread函式 303

13.4.9 rewind函式 304

13.4.10 fseek函式 304

13.4.11 ftell函式 305

13.4.12 feof函式 306

13.4.13 ferror函式 306

習題 307

第14章 C++及面向對象程式設計基礎 309

14.1 類與對象的定義 309

14.1.1 類的定義 309

14.1.2 對象的定義與使用 310

14.2 對象的初始化、構造函式和析構函式 311

14.2.1 構造函式 312

14.2.2 析構函式 313

14.3 對象的使用 314

14.3.1 類的包含和子對象的初始化 314

14.3.2 對象指針 314

14.3.3 對象數組 315

14.4 對象在函式間的傳遞 316

14.4.1 對象作為函式的返回值 316

14.4.2 對象作為函式參數 316

14.5 對象的作用域與生命周期 317

14.6 靜態數據成員和靜態成員函式 317

14.7 友元 319

14.7.1 友元函式 319

14.7.2 友元成員 320

14.7.3 友元類 321

14.8 常對象 322

習題 323

第15章 繼承性與派生類 326

15.1 基類與派生類 326

15.2 單一繼承 326

15.2.1 單一繼承派生類的定義 326

15.2.2 公有繼承、私有繼承和保護繼承 328

15.2.3 單一繼承派生類的構造函式和析構函式 332

15.3 多重繼承 333

15.3.1 多重繼承派生類的定義 333

15.3.2 多重繼承派生類的構造函式和析構函式 335

15.3.3 多重繼承中的歧義 336

15.4 虛基類 338

15.4.1 虛基類的概念 338

15.4.2 虛基類及其派生類的構造函式和析構函式 339

習題 341

第16章 多態性與虛函式 345

16.1 多態性與虛函式 345

16.2 運算符重載 345

16.2.1 運算符重載為成員函式 346

16.2.2 運算符重載為友元函式 347

16.3 靜態聯編和動態聯編 349

16.3.1 靜態聯編 350

16.3.2 動態聯編 351

16.4 虛函式 351

16.5 純虛函式和抽象類 356

16.5.1 純虛函式 356

16.5.2 抽象類 358

習題 358

第17章 綜合程式設計 364

17.1 排序算法比較 364

17.2 個人通訊錄 369

17.3 萬年曆 375

習題 379

附錄Ⅰ Visual C++ 6.0常見錯誤提示 380

附錄Ⅱ ANSI C常用庫函式 382

參考文獻 388

相關詞條

熱門詞條

聯絡我們