第1章 C語言概述 1
1.1 C語言簡述 1
1.2 C語言程序的構成 1
1.2.1 初步認識C語言程序 1
1.2.2 C語言程序的基本結構 2
1.2.3 僅由main函數(shù)構成的C語言程序的一般結構 3
1.2.4 C語句的構成 4
1.3 C語言程序的調試與運行 5
1.3.1 開發(fā)一個C語言程序 5
1.3.2 Turbo C 2.0的運行環(huán)境和啟動 6
1.3.3 Turbo C 2.0集成開發(fā)環(huán)境的使用 6
1.3.4 編輯、運行C語言程序 9
習題 10
第2章 C語言的基本數(shù)據(jù)類型、常量和變量 13
2.1 C語言的基本數(shù)據(jù)類型 13
2.1.1 5種基本數(shù)據(jù)類型 13
2.1.2 修飾符 13
2.1.3 存儲格式 14
2.2 常量 15
2.2.1 整型常量 15
2.2.2 實型常量 16
2.2.3 字符常量 16
2.2.4 字符串常量 17
2.2.5 符號常量 18
2.3 變量 18
2.3.1 變量的定義 19
2.3.2 變量的初始化 19
習題 19
第3章 運算符和表達式 22
3.1 算術運算符和算術表達式 22
3.1.1 算術運算符 22
3.1.2 算術表達式 22
3.1.3 算術運算符的優(yōu)先級和結合性 23
3.1.4 算術表達式的數(shù)據(jù)類型 23
3.2 賦值運算符、賦值表達式和賦值語句 25
3.2.1 賦值運算符 25
3.2.2 賦值表達式 26
3.2.3 賦值語句 27
3.2.4 賦值表達式的類型 27
3.3 自增、自減運算符 29
3.4 關系運算符和關系表達式 30
3.4.1 關系運算符 30
3.4.2 關系表達式 30
3.5 邏輯運算符和邏輯表達式 31
3.5.1 邏輯運算符 31
3.5.2 邏輯表達式 31
3.6 逗號運算符和逗號表達式 32
3.7 求占字節(jié)運算符(sizeof) 33
習題 34
第4章 數(shù)據(jù)的輸入和輸出 37
4.1 scanf()函數(shù) 37
4.2 printf()函數(shù) 39
4.3 scanf()和printf()應用舉例 42
4.4 getchar()函數(shù)與putchar()函數(shù) 45
習題 46
第5章 結構化程序設計和C語言程序控制語句 50
5.1 流程圖和結構化程序設計 50
5.1.1 流程圖 50
5.1.2 結構化程序設計 51
5.2 選擇結構語句 52
5.2.1 if語句 52
5.2.2 if else 語句 53
5.2.3 if else語句的嵌套 54
5.2.4 if-else if-else語句 55
5.2.5 條件運算符及表達式 57
5.3 switch語句和break語句 58
5.3.1 switch語句 58
5.3.2 break語句 60
5.4 循環(huán)結構 62
5.4.l for語句 62
5.4.2 for語句的其他形式 63
5.4.3 while語句 64
5.4.4 do-while語句 65
5.4.5 多重循環(huán)結構 66
5.5 其他控制語句 68
5.5.1 break語句 68
5.5.2 exit()函數(shù) 69
5.5.3 continue語句 69
5.5.4 goto語句 70
習題 71
第6章 數(shù)組和字符串 77
6.1 一維數(shù)組的定義和元素的引用 77
6.1.1 一維數(shù)組的定義 77
6.1.2 一維數(shù)組的初始化 78
6.1.3 一維數(shù)組的引用 79
6.2 二維數(shù)組 80
6.2.1 二維數(shù)組的定義 80
6.2.2 二維數(shù)組的初始化 81
6.2.3 二維數(shù)組元素的引用 81
6.3 字符型數(shù)組和字符串 82
6.3.1 字符型數(shù)組的定義 82
6.3.2 字符型數(shù)組的初始化 83
6.3.3 字符數(shù)組的輸入和輸出 84
6.4 字符串處理函數(shù) 86
6.4.1 求字符串長度函數(shù)strlen() 86
6.4.2 字符串拷貝函數(shù)strcpy() 86
6.4.3 字符串比較函數(shù)strcmp() 86
6.4.4 字符串連接函數(shù)strcat() 87
6.5 數(shù)組應用舉例 88
習題 91
第7章 指針 96
7.1 指針的概念和定義 96
7.1.1 指針的概念 96
7.1.2 指針變量的定義 97
7.2 指針和簡單變量 97
7.2.1 指針的初始化和賦值 97
7.2.2 空指針和void型指針 98
7.2.3 用指針訪問變量的值 98
7.3 指針和一維數(shù)組 99
7.4 字符型指針和字符型一維數(shù)組 102
7.4.1 字符指針與字符數(shù)組的關系 102
7.4.2 對字符型指針進行字符串的整體賦值 103
7.4.3 用指針處理字符串舉例 103
7.5 指針和二維數(shù)組 105
7.5.1 對二維數(shù)組的再認識 105
7.5.2 把二維數(shù)組看作一維數(shù)組用指針引用其元素 106
7.5.3 定義行指針引用二維數(shù)組 107
7.5.4 指針數(shù)組 109
7.6 二級指針 111
7.6.1 二級指針的概念 111
7.6.2 二級指針的定義 111
7.6.3 二級指針應用舉例 112
習題 114
第8章 函數(shù) 120
8.1 函數(shù)的構成和定義 121
8.1.1 函數(shù)的構成 121
8.1.2 函數(shù)的定義 121
8.1.3 對函數(shù)定義的說明 122
8.1.4 函數(shù)的調用 123
8.1.5 函數(shù)參數(shù)傳遞 123
8.1.6 函數(shù)的說明 124
8.2 函數(shù)參數(shù)傳遞舉例 124
8.3 返回值是指針的函數(shù) 128
8.4 函數(shù)指針與實參是函數(shù)名的傳遞 129
8.4.1 函數(shù)指針 129
8.4.2 實參是函數(shù)名的傳遞 131
8.5 函數(shù)的遞歸調用 132
8.5.1 遞歸調用 132
8.5.2 遞歸執(zhí)行過程 133
8.5.3 用遞歸算法求解問題的條件 134
8.6 main()函數(shù)的參數(shù) 135
習題 136
第9章 變量的存儲類型和動態(tài)分配內存 142
9.1 變量的存儲類型 142
9.2 變量及其作用域和生存期 143
9.2.1 局部變量和全局變量 143
9.2.2 局部變量的作用域和生存期 144
9.2.3 全局變量的作用域和生存期 146
9.3 說明符extern和static 146
9.3.1 全局變量的說明符 146
9.3.2 外部函數(shù)、內部函數(shù)及說明符 148
9.3.3 說明符extern和static應用舉例 150
9.4 動態(tài)分配內存 151
9.4.1 動態(tài)分配內存的概念 151
9.4.2 動態(tài)分配內存函數(shù) 152
習題 154
第10章 編譯預處理 158
10.1 宏定義和宏替換 158
10.1.1 宏定義 158
10.1.2 帶參數(shù)的宏定義 159
10.1.3 宏定義的解除 161
10.2 文件包含 161
10.3 條件編譯 163
10.3.1 #if語句 163
10.3.2 #ifdef語句 164
10.3.3 #ifndef語句 165
習題 165
第11章 結構體和共用體 167
11.1 類型定義(typedef) 167
11.2 結構體 168
11.2.1 結構體類型的定義 168
11.2.2 結構體變量的定義 170
11.2.3 結構體類型變量的引用 171
11.2.4 結構體數(shù)組的定義、初始化和引用 173
11.2.5 結構體指針的定義、初始化和使用 174
11.2.6 函數(shù)間結構體的傳遞 176
11.2.7 結構體類型函數(shù)和結構體類型指針函數(shù) 179
11.2.8 鏈表 181
11.3 共用體 184
習題 186
第12章 位運算 192
12.1 按位邏輯運算 192
12.2 移位運算 193
12.3 應用舉例 195
習題 197
第13章 文件 200
13.1 文件概念 200
13.1.1 C語言的數(shù)據(jù)文件 200
13.1.2 文件的存取方式 200
13.2 文件的打開與關閉 201
13.2.1 文件指針 201
13.2.2 打開文件 201
13.2.3 文件的關閉 202
13.3 文件讀寫函數(shù) 202
13.3.1 字符讀寫函數(shù)getc()和fgetc()、putc()和fputc() 203
13.3.2 字符串讀寫函數(shù)fgets()和fputs() 204
13.3.3 帶格式的讀寫函數(shù)fscanf()和fprintf() 206
13.3.4 數(shù)據(jù)塊讀寫函數(shù)fread()和fwrite() 207
13.4 檢測文件末尾函數(shù)feof() 208
13.5 文件的定位與存取 209
13.5.1 文件的定位 209
13.5.2 文件的存取舉例 210
習題 211
第14章 精選題解 216
附錄1 常見錯誤分析 233
附錄2 運算符的優(yōu)先級和結合性 238
附錄3 常用字符與 ASCII代碼對照表 239
附錄4 庫函數(shù) 240