第1章 C語言程序設計基礎 1
1.1 基礎知識 1
1.1.1 進位計數制及不同數制之間的轉換 1
1.1.2 計算機中數和字符的表示方式 4
1.2 C語言發(fā)展概述 8
1.3 C語言的特點 8
1.4 C語言程序的格式和結構特點 10
1.4.1 C語言程序的格式及特點 10
1.4.2 C語言程序的結構特點 12
1.5 C語言的詞法 12
1.6 賦值語句和基本輸入.輸出函數 13
1.6.1 賦值語句 13
1.6.2 scanf()函數 14
1.6.3 printf()函數 16
習題1 18
第2章 基本數據類型及變量的存儲屬性 21
2.1 整型數據 22
2.1.1 整型常量 22
2.1.2 整型變量 22
2.2 字符型數據 24
2.2.1 字符常量 24
2.2.2 字符串常量 25
2.2.3 換碼序列 25
2.2.4 符號常量 26
2.2.5 字符型變量 27
2.3 實型數據 27
2.3.1 單精度型常量和變量 27
2.3.2 雙精度型常量和變量 28
2.4 數據類型的轉換 29
2.4.1 數據類型的自動轉換 29
2.4.2 數據類型的強制轉換 30
2.4.3 數據類型的定義 31
2.5 變量的存儲屬性 31
2.5.1 變量的存在性和可見性 31
2.5.2自動變量與寄存器變量 32
2.5.3 外部變量與靜態(tài)變量 35
2.5.4 變量的初始化 39
習題2 39
第3章 數組 43
3.1 一維數組 43
3.1.1 一維數組的定義和元素的引用 43
3.1.2 一維數組的初始化和舉例 45
3.2 字符型數組 47
3.2.1 字符型數組的定義和初始化 47
3.2.2 字符型數組的輸入與輸出 49
3.3 多維數組 51
3.3.1 多維數組的定義和元素的引用 51
3.3.2 多維數組的初始化和舉例 53
習題3 55
第4章 運算符和表達式 58
4.1 算術運算符和算術表達式 58
4.2 關系運算符和關系表達式 61
4.3 邏輯運算符和邏輯表達式 62
4.4 位邏輯運算符和位邏輯表達式 64
4.5 移位運算符及表達式 66
4.6 增1.減1運算符及表達式 67
4.7 自反運算符 69
4.8 條件運算符 71
4.9 逗號運算符 72
4.10 其他運算符 73
4.11 綜合舉例 74
習題4 76
第5章 順序與選擇結構語句及其程序設計 80
5.1 順序結構語句 80
5.1.1 說明語句和表達式語句 80
5.1.2 復合語句.分程序和空語句 81
5.2 順序結構程序設計舉例 82
5.3 if語句 83
5.4 if~else語句 84
5.5 elseif結構 86
5.6 switch()語句 88
5.7 分支結構程序設計舉例 90
習題5 94
第6章 循環(huán)結構語句及程序設計 98
6.1 while()語句 98
6.2 for()語句 100
6.3 do~while()語句 102
6.4 循環(huán)結構程序設計舉例 103
6.5 break.continue和goto語句 106
6.5.1 break語句 107
6.5.2 continue語句 108
6.5.3 語句標號 109
6.5.4 goto語句 109
6.6 return語句和exit()函數調用語句 110
6.6.1 return語句 110
6.6.2 exit()函數調用語句 111
6.6.3 程序設計舉例 112
習題6 113
第7章 函數 119
7.1 函數的定義.調用.說明及其存在性 119
7.1.1 函數的定義和調用 119
7.1.2 函數的說明及其存在性 121
7.2 TurboC函數的擴展定義和形式參數的討論 123
7.2.1 TurboC函數的擴展定義 123
7.2.2 TurboC函數形式參數的討論 124
7.3 函數間的數據傳遞 124
7.3.1 采用傳值方式傳遞數據 125
7.3.2 采用傳址方式傳遞數據 125
7.3.3 利用全局變量傳遞數據 126
7.3.4 處理結果在函數間的傳遞 127
7.4 函數與數組 128
7.5 遞歸函數 130
7.6 程序設計舉例 132
習題7 135
第8章 指針 140
8.1 指針變量的定義和初始化 140
8.1.1 指針與指針的目標變量 140
8.1.2 指針變量的定義與初始化 142
8.1.3 近程指針和遠程指針 143
8.2 指針運算 145
8.2.1 指針的一般運算 145
8.2.2 指針的算術運算 146
8.2.3 指針的關系運算 147
8.3 指針與數組 149
8.4 指針數組 151
8.5 指向數組的指針 154
8.6 多級指針 155
8.7 作為函數參數的指針 157
8.8 指針型函數 158
8.9 指向函數的指針 161
8.10 命令行參數 164
習題8 166
第9章 C預處理程序 171
9.1 宏替換 171
9.1.1 簡單的字符串替換 171
9.1.2 帶參數的宏定義及宏調用 173
9.2 包含文件 176
9.3 條件編譯 177
9.4 行控制 179
習題9 179
第10章 結構體 183
10.1 結構體類型說明與結構體變量的定義 183
10.1.1 結構體類型說明 183
10.1.2 結構體變量的定義 184
10.2 結構體成員的引用和初始化 187
10.3 結構體數組 189
10.4 指向結構體的指針 191
10.5 結構體和函數 193
10.6 結構體型函數 195
10.7 結構體指針型函數 197
10.8 結構體嵌套 199
10.9 位域結構體 203
10.9.1 位域結構體類型的說明 203
10.9.2 位域結構體變量的定義 203
10.9.3 位域結構體的應用 204
10.10 程序設計舉例 206
習題10 212
第11章 聯合體和枚舉 219
11.1 聯合體類型的說明與變量的定義 219
11.2 結構體中嵌套聯合體 222
11.3 聯合體中嵌套結構體 224
11.4 枚舉 228
11.4.1 枚舉類型的說明與變量的定義 228
11.4.2 枚舉的應用舉例 230
習題11 232
第12章 文件 235
12.1 流和文件 235
12.2 標準設備文件的換向和管道連接 237
12.3 控制臺輸入.輸出函數 239
12.3.1 字符輸入.輸出函數 239
12.3.2 字符串輸入.輸出函數 241
12.4 緩沖型輸入.輸出系統(tǒng) 242
12.4.1 文件結構體指針 242
12.4.2 fopen()和fclose()函數 243
12.4.3 getc()和putc()函數 245
12.4.4 getw()和putw()函數 247
12.4.5 fgets()和fputs()函數 249
12.4.6 fread()和fwrite()函數 250
12.4.7 fscanf()和fprintf()函數 253
12.4.8 fseek()函數和隨機訪問 255
12.5 非緩沖型輸入.輸出系統(tǒng) 258
12.5.1 open().creat()和close()函數 258
12.5.2 read()和write()函數 260
12.5.3 lseek()函數和隨機訪問 261
習題12 262
附錄 TurboC語言運算符的優(yōu)先級和結合性 264
習題參考答案 266
參考文獻 293