譚浩強主編,清華大學出版社,國内學習C語言的一本經典教材,跟大家分享
内容簡介:
譚浩強c語言程式設計(第3版)電子書
1 C語言概述
1.1 C語言的發展過程
1.2 當代最優秀的程式設計語言
1.3 C語言版本
1.4 C語言的特點
1.5 面向對象的程式設計語言
1.6 C和C++
1.7 簡單的C程式介紹
1.8 輸入和輸出函數
1.9 C源程式的結構特點
1.10 書寫程式時應遵循的規則
1.11 C語言的字元集
1.12 C語言詞彙
1.13 Turbo C 2.0內建開發環境的使用
1.13.1 Turbo C 2.0簡介和啟動
1.13.2 Turbo C 2.0內建開發環境
1.13.3 File菜單
1.13.4 Edit菜單
1.13.5 Run菜單
1.13.6 Compile菜單
1
1.13.7 Project菜單
1.13.8 Options菜單
1.13.9 Debug菜單
1.13.10 Break/watch菜單
1.13.11 Turbo C 2.0的配置檔案
2 程式的靈魂―算法
2.1 算法的概念 21
2.2 簡單算法舉例 21
2.3 算法的特性 24
2.4 怎樣表示一個算法 24
2.4.1 用自然語言表示算法 24
2.4.2 用流程圖表示算法 24
2.4.3 三種基本結構和改進的流程圖 28
2.4.4 用N-S流程圖表示算法 29
2.4.5 用僞代碼表示算法 30
2.4.6 用計算機語言表示算法 31
2.5 結構化程式設計方法 31
3 資料類型、運算符與表達式
3.1 C語言的資料類型 32
3.2 常量與變量 33
2
3.2.1 常量和符号常量 33
3.2.2 變量 33
3.3 整型資料 34
3.3.1 整型常量的表示方法 34
3.3.2 整型變量 35
3.4 實型資料 37
3.4.1 實型常量的表示方法 37
3.4.2 實型變量 38
3.4.3 實型常數的類型 39
3.5 字元型資料 39
3.5.1 字元常量 39
3.5.2 轉義字元 39
3.5.3 字元變量 40
3.5.4 字元資料在記憶體中的存儲形式及使用方法 41
3.5.5 字元串常量 41
3.5.6 符号常量 42
3.6 變量賦初值 42
3.7 各類數值型資料之間的混合運算 43
3.8 算術運算符和算術表達式 44
3.8.1 C運算符簡介 44
3.8.2 算術運算符和算術表達式 45
3.9 指派運算符和指派表達式 47
3
3.10 逗号運算符和逗号表達式 48
3.11 小結 49
3.11.1 C的資料類型 49
3.11.2 基本類型的分類及特點 49
3.11.3 常量字尾 49
3.11.4 常量類型 49
3.11.5 資料類型轉換 49
3.11.6 運算符優先級和結合性 50
表達式 50
4 最簡單的C程式設計―順序程式設計
4.1 C語句概述 51
4.2 指派語句 53
4.3 資料輸入輸出的概念及在C語言中的實作 54
4.4 字元資料的輸入輸出 54
4.4.1 putchar 函數(字元輸出函數) 54
4.4.2 getchar函數(鍵盤輸入函數) 55
4.5 格式輸入與輸出 55
4.5.1 printf函數(格式輸出函數) 56
4.5.2 scanf函數(格式輸入函數) 58
順序結構程式設計舉例 60
4
5 分支結構程式
5.1 關系運算符和表達式 61
5.1.1 關系運算符及其優先次序 61
5.1.2 關系表達式 61
5.2 邏輯運算符和表達式 62
5.2.1 邏輯運算符極其優先次序 62
5.2.2 邏輯運算的值 63
5.2.3 邏輯表達式 63
5.3 if語句 64
5.3.1 if語句的三種形式 64
5.3.2 if語句的嵌套 67
5.3.3 條件運算符和條件表達式 69
5.4 switch語句 70
5.5 程式舉例 71
6 循環控制
6.1 概述 71
6.2 goto語句以及用goto語句構成循環 71
6.3 while語句 72
6.4 do-while語句 74
6.5 for語句 76
6.6 循環的嵌套 79
5
6.7 幾種循環的比較 79
6.8 break和continue語句 79
6.8.1 break語句 79
6.8.2 continue 語句 80
6.9 程式舉例 81
7 數組
7.1 一維數組的定義和引用 82
7.1.1 一維數組的定義方式 82
7.1.2 一維數組元素的引用 83
7.1.3 一維數組的初始化 84
7.1.4 一維數組程式舉例 84
7.2 二維數組的定義和引用 86
7.2.1 二維數組的定義 86
7.2.2 二維數組元素的引用 86
7.2.3 二維數組的初始化 87
7.2.4 二維數組程式舉例 89
7.3 字元數組 89
7.3.1 字元數組的定義 89
7.3.2 字元數組的初始化 89
7.3.3 字元數組的引用 90
7.3.4 字元串和字元串結束标志 91
6
7.3.5 字元數組的輸入輸出 91
7.3.6 字元串處理函數 92
7.4 程式舉例 94
本章小結 97
8 函數
8.1 概述 98
8.2 函數定義的一般形式 99
8.3 函數的參數和函數的值 100
8.3.1 形式參數和實際參數 101
8.3.2 函數的傳回值 102
8.4 函數的調用 106
8.4.1 函數調用的一般形式 106
8.4.2 函數調用的方式 106
8.4.3 被調用函數的聲明和函數原型 107
8.5 函數的嵌套調用 108
8.6 函數的遞歸調用 109
8.7 數組作為函數參數 110
8.8 局部變量和全局變量 112
8.8.1 局部變量 113
8.8.2 全局變量 119
8.9 變量的存儲類别 120
7
8.9.1 動态存儲方式與靜态動态存儲方式 120
8.9.2 auto變量 120
8.9.3 用static聲明局部變量 121
8.9.4 register變量 122
用extern聲明外部變量 123
9 預處理指令
9.1 概述 124
9.2 宏定義 125
9.2.1 無參宏定義 126
9.2.2 帶參宏定義 127
9.3 檔案包含 128
9.4 條件編譯 130
9.5 本章小結
10 指針
10.1 位址指針的基本概念 131
10.2 變量的指針和指向變量的指針變量 132
10.2.1 定義一個指針變量 133
10.2.2 指針變量的引用 133
10.2.3 指針變量作為函數參數 137
10.2.4 指針變量幾個問題的進一步說明 140
8
10.3 數組指針和指向數組的指針變量 141
10.3.1 指向數組元素的指針 142
10.3.2 通過指針引用數組元素 143
10.3.3 數組名作函數參數 146
10.3.4 指向多元數組的指針和指針變量 148
10.4 字元串的指針指向字元串的針指變量 150
10.4.1 字元串的表示形式 152
10.4.2 使用字元串指針變量與字元數組的差別 158
10.5 函數指針變量 159
10.6 指針型函數 160
10.7 指針數組和指向指針的指針 161
10.7.1 指針數組的概念 161
10.7.2 指向指針的指針 164
10.7.3 main函數的參數 166
10.8 有關指針的資料類型和指針運算的小結 167
10.8.1 有關指針的資料類型的小結 167
10.8.2 指針運算的小結 167
10.8.3 void指針類型 168
11 結構體與共用體
11.1 定義一個結構的一般形式 170
11.2 結構類型變量的說明 172
9
11.3 結構變量成員的表示方法 174
11.4 結構變量的指派 174
11.5 結構變量的初始化 175
11.6 結構數組的定義 175
11.7 結構指針變量的說明和使用 177
11.7.1 指向結構變量的指針 177
11.7.2 指向結構數組的指針 179
11.7.3 結構指針變量作函數參數 180
11.8 動态存儲配置設定 181
11.9 連結清單的概念 182
11.10 枚舉類型 184
11.10.1 枚舉類型的定義和枚舉變量的說明 184
11.10.2 枚舉類型變量的指派和使用 185
11.11 類型定義符typedef
12 位運算
12.1 位運算符C語言提供了六種位運算符: 189
12.1.1 按位與運算 191
12.1.2 按位或運算 192
12.1.3 按位異或運算 192
12.1.4 求反運算 193
12.1.5 左移運算 193
10
12.1.6 右移運算 193
12.2 位域(位段) 194
12.3 本章小結
13 檔案
13.1 C檔案概述 197
13.2 檔案指針 198
13.3 檔案的打開與關閉 199
13.3.1 檔案的打開(fopen函數) 200
13.3.2 檔案關閉函數(fclose函數) 202
13.4 檔案的讀寫 204
13.4.1 字元讀寫函數fgetc和fputc 204
13.4.2 字元串讀寫函數fgets和fputs 208
13.4.3 資料塊讀寫函數fread和fwtrite 209
13.4.4 格式化讀寫函數fscanf和fprintf 201
13.5 檔案的随機讀寫 202
13.5.1 檔案定位 202
13.5.2 檔案的随機讀寫 203
13.6 檔案檢測函數 204
13.6.1 檔案結束檢測函數feof函數 204
13.6.2 讀寫檔案出錯檢測函數 205
11