C語言教程(2011年6月機械工業出版社出版的圖書)

C語言教程(2011年6月機械工業出版社出版的圖書)

本詞條是多義詞,共7個義項
更多義項 ▼ 收起列表 ▲

《C語言教程》是2011年6月機械工業出版社出版的圖書,作者是(美)凱利(AI Kelley)、(美)Ira Pohl,譯者是徐波。

基本介紹

  • 中文名:C語言教程
  • 作者:(美)凱利(AI Kelley)、(美)Ira Pohl
  • 出版社:機械工業出版社
  • 出版日期:2011年6月
  • ISBN:9787111346852
  • 譯者:徐波
內容簡介,圖書目錄,

內容簡介

《C語言教程(原書第4版)》是一本優秀的C程式設計語言教材,完整描述了ANSI C語言及其語法特性,並對C語言的高級特性和套用作了深入闡述,介紹了從C到C++和java過渡的相關知識。《C語言教程(原書第4版)》的一個鮮明特色就是結合大量示例描述C語言的重要特徵,並對很多工作代碼給出了逐步的分析,以這種獨特的教學方法向讀者解釋新接觸的編程元素及一些慣用法。
《C語言教程(原書第4版)》系統、完整,可作為C語言的參考手冊,也非常適合作為學習C語言的入門和高級課程教材。

圖書目錄

前言
第0章  從零開始 1
0.1  為什麼要用C 1
0.2  ANSI C標準 2
0.3  從C到C++ 3
0.4  從C和C++到Java 3
第1章  C語言概述 4
1.1  編程和預備知識 4
1.2  程式輸出 4
1.3  變數、表達式和賦值 7
1.4  使用#define和#include 9
1.5  使用printf()和scanf() 12
1.6  控制流 14
1.7  函式 19
1.8  數組、字元串和指針 24
1.8.1  數組 24
1.8.2  字元串 25
1.8.3  指針 28
1.9  檔案 31
1.10  與作業系統有關的內容 35
1.10.1  編寫和運行C程式 35
1.10.2  中斷程式 36
1.10.3  輸入檔案尾標誌 37
1.10.4  輸入和輸出的重定向 37
1.11  總結 38
1.12  練習 39
第2章  詞法元素、操作符和C系統 45
2.1  字元和詞法元素 46
2.2  語法規則 48
2.3  注釋 49
2.4  關鍵字 50
2.5  標識符 50
2.6  常量 51
2.7  字元串常量 52
2.8  操作符和標點符號 53
2.9  操作符的優先權和結合性 53
2.10  增值操作符和減值操作符 55
2.11  賦值操作符 56
2.12  例子:計算2的乘方 57
2.13  C系統 58
2.13.1  預處理器 59
2.13.2  標準函式館 59
2.14  總結 62
2.15  練習 63
第3章  基本數據類型 69
3.1  聲明、表達式和賦值 69
3.2  基本數據類型 71
3.3  字元和char數據類型 72
3.4  int數據類型 75
3.5  整數類型short、long和unsigned 76
3.6  浮點類型 77
3.7  typedef的用法 79
3.8  sizeof操作符 79
3.9  使用getchar()和putchar() 80
3.10  數學函式 82
3.10.1  使用abs()和fabs() 84
3.10.2  UNIX和數學函式館 84
3.11  隱式類型轉換和強制類型轉換 84
3.11.1  整型提升 85
3.11.2  尋常算術轉換 85
3.11.3  強制類型轉換 86
3.12  十六進制和八進制常量 87
3.13  總結 89
3.14  練習 89
第4章  控制流 96
4.1  關係操作符、相等操作符和邏輯操作符 96
4.2  關係操作符和表達式 97
4.3  相等操作符和表達式 99
4.4  邏輯操作符和表達式 100
4.5  複合語句 103
4.6  表達式和空語句 103
4.7  if和if-else語句 104
4.8  while語句 106
4.9  for語句 108
4.10  例子:布爾變數 110
4.11  逗號操作符 111
4.12  do語句 112
4.13  例子:斐波那契數 113
4.14  goto語句 115
4.15  break和continue語句 116
4.16  switch語句 117
4.17  條件操作符 118
4.18  總結 119
4.19  練習 120
第5章  函式 128
5.1  函式定義 128
5.2  return語句 130
5.3  函式原型 131
5.4  例子:創建乘方表 132
5.5  從編譯器的角度觀察函式原型 133
5.6  函式定義順序的另一種風格 134
5.7  函式調用和傳值調用 134
5.8  開發大型程式 136
5.9  使用斷言 138
5.10  作用域規則 139
5.10.1  平行和嵌套代碼塊 140
5.10.2  以調試為目的使用代碼塊 140
5.11  存儲類型 141
5.11.1  auto存儲類型 141
5.11.2  extern存儲類型 141
5.11.3  register存儲類型 143
5.11.4  static存儲類型 143
5.12  靜態外部變數 144
5.13  默認初始化 145
5.14  遞歸 145
5.15  例子:漢諾塔 149
5.16  總結 152
5.17  練習 153
第6章  數組、指針和字元串 159
6.1  一維數組 159
6.1.1  初始化 160
6.1.2  下標 160
6.2  指針 161
6.3  傳引用調用 164
6.4  數組和指針之間的關係 165
6.5  指針運算和元素的大小 166
6.6  數組作為函式的實參 166
6.7  例子:冒泡排序 167
6.8  用calloc()和malloc()進行動態記憶體分配 168
6.9  例子:歸併和歸併排序 171
6.10  字元串 175
6.11  標準函式館中的字元串處理函式 177
6.12  多維數組 180
6.12.1  二維數組 180
6.12.2  存儲映射函式 180
6.12.3  形式參數聲明 181
6.12.4  三維數組 182
6.12.5  初始化 182
6.12.6  使用typedef 183
6.13  指針數組 184
6.14  main()函式的參數 188
6.15  不規則數組 189
6.16  函式作為參數 190
6.17  例子:使用二分法尋找函式的根 192
6.18  函式指針數組 196
6.19  類型限定符const和volatile 199
6.20  總結 200
6.21  練習 202
第7章  位操作符和枚舉類型 214
7.1  位操作符和表達式 214
7.1.1  按位求反 215
7.1.2  補碼 215
7.1.3  位邏輯操作符 216
7.1.4  左移位和右移位操作符 217
7.2  掩碼 218
7.3  軟體工具:列印int值的二進制形式 219
7.4  包裝和解包 220
7.5  枚舉類型 223
7.6  例子:“石頭、剪刀、布”遊戲 225
7.7  總結 229
7.8  練習 230
第8章  預處理器 235
8.1  #include的使用 235
8.2  使用#define 236
8.3  帶參數的宏 237
8.4  stddef.h中的類型定義和宏 239
8.5  例子:用qsort()進行排序 239
8.6  例子:帶參數的宏 243
8.7  stdio.h和ctype.h中的宏 246
8.8  條件編譯 247
8.9  預定義的宏 249
8.10  “#”和“##”操作符 249
8.11  assert()宏 250
8.12  使用#error和#pragma 250
8.13  行號 251
8.14  對應的函式 251
8.15  例子:快速排序 251
8.16  總結 254
8.17  練習 254
第9章  結構和聯合 262
9.1  結構 262
9.2  訪問結構成員 264
9.3  操作符的優先權和結合性的總結 267
9.4  在函式中使用結構 268
9.5  結構的初始化 269
9.6  例子:玩撲克牌 269
9.7  聯合 273
9.8  位欄位 275
9.9  例子:訪問位和位元組 276
9.10  ADT堆疊 277
9.11  總結 280
9.12  練習 281
第10章  結構和列表處理 288
10.1  自引用的結構 288
10.2  線性鍊表 289
10.3  鍊表操作 290
10.4  一些鍊表處理函式 293
10.4.1  插入 294
10.4.2  刪除 295
10.5  堆疊 296
10.6  例子:波蘭記法和堆疊求值 298
10.7  佇列 303
10.8  二叉樹 306
10.8.1  二叉樹的遍歷 307
10.8.2  創建樹 308
10.9  普通的樹 309
10.9.1  遍歷 311
10.9.2  calloc()的用法以及樹的創建 311
10.10  總結 312
10.11  練習 313
第11章  輸入/輸出和作業系統 318
11.1  輸出函式printf() 318
11.2  輸入函式scanf() 321
11.3  fprintf()、fscanf()、sprintf()
和sscanf()函式 324
11.4  fopen()和fclose()函式 325
11.5  例子:對檔案進行空間加倍 327
11.6  使用臨時檔案和優雅函式 329
11.7  隨機訪問檔案 331
11.8  檔案描述符輸入/輸出 332
11.9  檔案訪問許可權 333
11.10  在C程式內部執行命令 334
11.11  在C程式內部使用管道 335
11.12  環境變數 336
11.13  C編譯器 337
11.14  使用性能評估程式 338
11.15  函式館 339
11.16  對C代碼進行計時 340
11.17  使用make 343
11.18  使用touch 347
11.19  其他有用的工具 348
11.20  總結 349
11.21  練習 350
第12章  高級套用 358
12.1  用fork()創建並發進程 358
12.2  進程的疊加:exec...()函式族系 360
12.3  使用pipe()實現進程間的通信 362
12.4  信號 363
12.5  例子:哲學家用餐問題 365
12.6  矩陣的動態分配 368
12.6.1  為什麼二維數組無法滿足要求 368
12.6.2  用指針數組創建矩陣 369
12.6.3  調整下標範圍 371
12.6.4  一次分配所有記憶體 373
12.7  返回狀態 374
12.8  總結 377
12.9  練習 378
第13章  從C到C++ 383
13.1  輸出 383
13.2  輸入 384
13.3  函式 386
13.4  類和抽象數據類型 387
13.5  重載 389
13.6  構造函式和析構函式 390
13.7  面向對象編程和繼承 392
13.8  多態 393
13.9  模板 395
13.10  C++的異常 396
13.11  面向對象編程的優點 396
13.12  總結 397
13.13  練習 398
第14章  從C到Java 402
14.1  輸出 402
14.2  變數和類型 403
14.3  類和抽象數據類型 404
14.4  重載 406
14.5  類的創建和銷毀 406
14.6  面向對象編程和繼承 406
14.7  多態和重寫方法 407
14.8  Applet 408
14.9  Java的異常 409
14.10  Java和OOP的優勢 410
14.11  總結 410
14.12  練習 411
附錄A  標準函式館 413
附錄B  C的語法 441
附錄C  ANSI C與傳統C的比較 446
附錄D  ASCII字元碼 452
附錄E  操作符的優先權和結合性 454

相關詞條

熱門詞條

聯絡我們