C語言程序設計案例教程
齊亞莉、王克蒙、張珍珍
相關主題
商品描述
目錄大綱
目錄
配套資源
第1章C語言概述1
1.1本章內容與要求1
1.2C語言起源和發展1
1.3C語言設計特性2
1.3.1高效性2
1.3.2可移植性2
1.3.3強大而靈活2
1.3.4C語言的缺點3
1.4編寫程序的步驟3
1.5編程機制5
1.6主要工具6
1.7一個簡單的C語言程序6
1.7.1C程序元素8
1.7.2C程序結構11
1.7.3調試程序13
1.8關鍵字和保留標識符15
1.9本章小結16
1.10課後習題16
第2章數據、字符串和格式化輸入/輸出19
2.1本章內容與要求19
2.2數據類型概述19
2.2.1常量和變量19
2.2.2數據類型19
2.2.3整型數據20
2.2.4字符數據類型25
2.2.5浮點型數據27
2.2.6其他數據類型30
2.2.7枚舉類型31
2.2.8使用註意事項32
2.3字符串33
2.4格式化輸入/輸出33
2.4.1格式化輸出printf()33
2.4.2格式化輸入scanf()36
2.5本章小結37
2.6課後習題37
第3章運算符、表達式和語句39
3.1本章內容與要求39
3.2C語言運算符39
3.2.1算術運算符40
3.2.2賦值運算符42
3.2.3自增自減運算符44
3.2.4位運算符45
3.2.5類型轉換47
3.3表達式和語句49
3.4整數運算的溢出50
3.5本章小結52
3.6課後習題52
第4章控制語句: 循環54
4.1本章內容與要求54
4.2while循環54
4.2.1算法與循環54
4.2.2while循環語句55
4.2.3關系運算符與關系表達式58
4.3for循環60
4.4do while循環62
4.5循環嵌套64
4.6break和continue64
4.7本章小結66
4.8課後習題67
第5章控制語句: 分支和跳轉69
5.1本章內容與要求69
5.2if選擇分支結構69
5.2.1為什麽使用選擇分支結構69
5.2.2if選擇分支語句70
5.3邏輯運算符和邏輯表達式74
5.4條件運算符和條件表達式75
5.5嵌套分支選擇結構76
5.6switch語句77
5.7本章小結80
5.8課後習題81
第6章函數83
6.1本章內容83
6.2函數的概念83
6.2.1為什麽要使用函數83
6.2.2函數的相關概念85
6.3函數參數86
6.3.1形式參數和實際參數86
6.3.2參數傳遞86
6.4函數返回值89
6.5變量的作用範圍91
6.5.1全局變量91
6.5.2局部變量92
6.5.3局部變量和全局變量的綜合示例92
6.6函數原型95
6.7遞歸97
6.7.1函數的調用過程97
6.7.2遞歸的概念99
6.7.3遞歸函數示例100
6.8公有函數102
6.9本章小結105
6.10課後習題105
第7章數組和指針107
7.1本章內容107
7.2數組107
7.2.1定義數組107
7.2.2初始化數組108
7.2.3數組元素賦值110
7.2.4數組下標邊界111
7.3二維數組111
7.3.1二維數組的定義111
7.3.2二維數組的初始化與賦值113
7.4指針115
7.4.1地址和指針115
7.4.2定義指針變量116
7.4.3指針的運算118
7.4.4指針作為函數參數120
7.4.5數組作為函數參數121
7.5const與constexpr123
7.6變長數組125
7.7數組應用126
7.8排序和搜索128
7.9指針和數組應用中的常見錯誤142
7.9.1自動變量數組的越界訪問142
7.9.2全局數組的越界訪問143
7.9.3分配數組的越界訪問143
7.9.4內存對齊錯誤145
7.10本章小結146
7.11課後習題146
第8章字符、字符串和字符串函數149
8.1本章內容149
8.2字符數組與字符串149
8.3字符串輸入/輸出函數150
8.3.1getchar()和putchar()151
8.3.2fgets()和puts()151
8.4字符串函數152
8.5字符編碼154
8.5.1ASCII編碼154
8.5.2本地碼155
8.5.3統一字符集Unicode157
8.6本地化與國際化160
8.6.1文字的編碼形式160
8.6.2寬字符字符串161
8.7本章小結163
8.8課後習題163
第9章存儲類別、鏈接和內存管理167
9.1本章內容167
9.2變量的生存期167
9.2.1靜態存儲期167
9.2.2自動存儲期167
9.2.3存儲類型168
9.3隨機函數170
9.4內存分配malloc()、realloc()和free()172
9.4.1malloc()172
9.4.2realloc()172
9.4.3free()173
9.5內存操作函數174
9.6本章小結176
9.7課後習題176
第10章結構體與共享體179
10.1本章內容179
10.2結構數據信息示例179
10.3結構聲明180
10.4結構變量180
10.4.1定義結構體類型變量180
10.4.2初始化結構182
10.4.3訪問結構成員184
10.4.4結構變量作為函數參數187
10.5結構體指針和結構體數組188
10.6union192
10.7動態存儲鏈式結構193
10.8動態存儲Vector203
10.9本章小結214
10.10課後習題214
第11章文件216
11.1本章內容216
11.2文件的打開和關閉216
11.2.1打開文件216
11.2.2關閉文件218
11.3文件順序讀寫219
11.3.1fgetc()和fputc()函數220
11.3.2fgets()和fputs()函數222
11.3.3fread()和fwrite()函數224
11.3.4fscanf()和fprintf()函數226
11.4文件的隨機讀寫227
11.5文本文件和二進制文件229
11.6本章小結229
11.7課後習題230
第12章預處理和庫231
12.1本章內容231
12.2#include231
12.3#define232
12.4C語言的泛型編程234
12.4.1宏特性與泛型編程234
12.4.2_Generic235
12.4.3typeof和auto236
12.5條件編譯宏定義238
12.6#error239
12.7常用C語言庫240
12.8本章小結246
12.9本章習題246