C語言程序設計(第2版)
千鋒教育
商品描述
"本書吸取十多本C語言圖書及教材的優點,對C語言程序設計所必需的知識系統進行了全新的整理。全書共13章,涵蓋C語言基礎、數據類型、運算符與表達式、條件選擇語句、循環控制語句、函數、數組、指針、高級數據結構、位運算、C語言內存管理、預處理、文件操作等C語言必備知識與設計技能。為了使大多數讀者能學以致用,本書採用精練易懂的語言來闡述復雜的問題,列舉了大量程序案例進行講解,真正做到通俗易懂。 本書面向初學者和中級C語言開發人員,也是各類高等院校和IT技術培訓機構C程序設計課程的理想教材。 "
目錄大綱
目錄
第1章C語言基礎1
1.1電腦語言概述1
1.1.1機器語言1
1.1.2匯編語言1
1.1.3高級語言2
1.2C語言概述2
1.2.1C語言的起源與發展2
1.2.2C語言的標準2
1.2.3C語言的優點3
1.2.4C語言程序設計過程4
1.3C語言程序開發5
1.3.1主流開發環境5
1.3.2編譯機制5
1.3.3編寫C語言程序6
1.4本章小結7
1.5習題8
第2章數據類型9
2.1關鍵字與標識符9
2.1.1關鍵字9
2.1.2標識符的使用9
2.2數據類型概述10
2.2.1數據類型的由來10
2.2.2數據類型簡介10
2.3常量11
2.3.1整型常量12
2.3.2實型常量13
2.3.3字符型常量13
2.3.4轉義字符15
2.3.5枚舉型常量15
2.4變量的通用原則16
2.4.1變量的聲明16
2.4.2變量的命名16
2.4.3變量的定義17
2.4.4變量的賦值與初始化17
2.4.5變量在內存中的排列17
2.5變量18
2.5.1整型變量18
2.5.2實型變量19
2.5.3字符型變量21
2.6類型轉換21
2.7本章小結22
2.8習題22
第3章運算符與表達式24
3.1表達式24
3.2表達式語句25
3.3運算符26
3.4賦值運算符26
3.5算術運算符與表達式27
3.5.1算術運算符27
3.5.2算術表達式28
3.5.3算術運算符的優先級與結合性29
3.6自增、自減運算符29
3.7關系運算符與表達式31
3.7.1關系運算符31
3.7.2關系表達式32
3.7.3關系運算符的優先級與結合性32
3.8復合賦值運算符與表達式32
3.8.1復合賦值運算符32
3.8.2復合賦值表達式33
3.9邏輯運算符與表達式35
3.9.1邏輯運算符35
3.9.2邏輯表達式35
3.9.3邏輯運算符的優先級與結合性35
3.10位邏輯運算符與表達式36
3.10.1位邏輯運算符36
3.10.2位邏輯表達式37
3.11運算符的優先級37
3.12本章小結39
3.13習題39
第4章選擇條件語句41
4.1if語句41
4.1.1if語句的基本形式41
4.1.2else關鍵字43
4.1.3多重選擇else if語句45
4.1.4級聯式if語句46
4.1.5if與else的配對48
4.1.6布爾值49
4.2switch語句50
4.2.1switch語句的基本形式50
4.2.2break語句的作用52
4.2.3default子句53
4.3本章小結54
4.4習題54
第5章循環控制語句55
5.1while循環語句55
5.1.1while循環的基本形式55
5.1.2do…while語句56
5.2for循環語句58
5.2.1for循環的基本形式58
5.2.2多循環變量的for循環59
5.2.3for循環的變體60
5.2.4for循環的嵌套62
5.3轉移語句63
5.3.1break語句63
5.3.2continue語句64
5.3.3goto語句65
5.4三種循環的對比66
5.5本章小結66
5.6習題67
第6章函數68
6.1函數的定義68
6.1.1函數定義的形式68
6.1.2函數的聲明與定義70
6.1.3函數的返回71
6.1.4函數參數72
6.2函數的調用73
6.2.1函數調用的方式73
6.2.2函數嵌套75
6.2.3遞歸調用76
6.2.4內聯函數77
6.3局部變量與全局變量78
6.3.1局部變量78
6.3.2全局變量79
6.3.3作用域80
6.4內外部函數81
6.4.1內部函數81
6.4.2外部函數82
6.5格式輸入輸出函數82
6.5.1格式輸出函數82
6.5.2格式輸入函數83
6.6字符輸入輸出函數85
6.6.1字符輸出函數85
6.6.2字符輸入函數85
6.7字符串輸入輸出函數86
6.7.1字符串輸出函數86
6.7.2字符串輸入函數87
6.8本章小結88
6.9習題88
第7章數組90
7.1一維數組90
7.1.1一維數組的定義90
7.1.2數組元素91
7.1.3一維數組的初始化92
7.1.4數組的存儲方式94
7.1.5數組的應用95
7.2二維數組96
7.2.1二維數組的定義96
7.2.2數組元素97
7.2.3二維數組的初始化98
7.2.4數組的應用100
7.3數組的排序算法102
7.3.1冒泡排序102
7.3.2快速排序105
7.3.3直接插入排序108
7.3.4直接選擇排序112
7.4字符數組115
7.4.1字符數組的定義115
7.4.2數組元素115
7.4.3字符數組的初始化116
7.4.4數組的應用118
7.5字符串處理119
7.5.1字符串的長度119
7.5.2字符串復制120
7.5.3字符串連接122
7.5.4字符串比較123
7.5.5字符串大小寫轉換124
7.5.6字符查找125
7.6多維數組125
7.7本章小結127
7.8習題127
第8章指針129
8.1指針概述129
8.1.1內存地址與指針129
8.1.2指針變量的賦值130
8.1.3指針變量的引用131
8.1.4空指針132
8.1.5指針讀寫133
8.1.6指針自身的地址135
8.2指針運算135
8.2.1指針的加減運算136
8.2.2指針的相減運算137
8.2.3指針的比較運算138
8.3指針與數組139
8.3.1一維數組與指針139
8.3.2二維數組與指針143
8.4指針與字符串149
8.4.1字符指針149
8.4.2字符指針的應用150
8.4.3指針數組151
8.5多級指針152
8.6指針與函數153
8.6.1指針函數153
8.6.2函數指針154
8.6.3函數指針數組155
8.6.4指針變量作函數參數156
8.7const指針159
8.7.1常量化指針變量159
8.7.2常量化指針目標表達式159
8.7.3常量化指針變量及其目標表達式160
8.8void指針161
8.9本章小結162
8.10習題163
第9章高級數據結構165
9.1結構體165
9.1.1定義結構體類型165
9.1.2定義結構體變量166
9.1.3結構體的初始化167
9.1.4結構體變量的引用168
9.2結構體數組169
9.2.1定義結構體數組169
9.2.2初始化結構體數組170
9.3結構體指針171
9.4結構體嵌套173
9.5線性表175
9.5.1線性表概述175
9.5.2順序表175
9.5.3鏈表181
9.6共享體189
9.7本章小結191
9.8習題192
第10章位運算194
10.1位運算符194
10.2按位與運算符194
10.2.1運算符的使用194
10.2.2補碼表示負數195
10.2.3按位與運算符的應用196
10.3按位或運算196
10.3.1運算符的使用196
10.3.2按位或運算符的應用197
10.4按位異或運算198
10.4.1運算符的使用198
10.4.2按位異或運算符的應用198
10.5取反運算199
10.6左移運算200
10.7右移運算201
10.8位字段201
10.9本章小結203
10.10習題203
第11章C語言內存管理205
11.1內存組織方式205
11.1.1程序在內存中的數據205
11.1.2動態管理206
11.2存儲模型210
11.2.1auto存儲類210
11.2.2register存儲類210
11.2.3static存儲類211
11.2.4extern存儲類212
11.3其他存儲類關鍵字213
11.3.1restrict關鍵字213
11.3.2volatile關鍵字213
11.4本章小結214
11.5習題214
第12章預處理216
12.1宏定義216
12.1.1define與undef216
12.1.2不帶參數的宏定義217
12.1.3帶參數的宏定義218
12.2文件包含220
12.2.1源文件與頭文件220
12.2.2引入頭文件220
12.3條件編譯221
12.3.1#if#else#endif221
12.3.2#elif222
12.3.3#ifdef223
12.3.4#ifndef224
12.4其他指令226
12.4.1#undef指令226
12.4.2#line指令226
12.4.3#error指令227
12.4.4#pragma指令228
12.4.5預定義宏228
12.5本章小結228
12.6習題228
第13章文件操作230
13.1文件概述230
13.1.1文件230
13.1.2文本文件與二進制文件230
13.1.3流231
13.2文件操作概述233
13.2.1文件指針233
13.2.2文件操作簡介234
13.2.3打開文件234
13.2.4關閉文件235
13.2.5讀寫文件235
13.3文件的高級操作242
13.3.1讀寫位置偏移242
13.3.2讀寫位置定位243
13.4本章小結244
13.5習題244
第14章綜合案例246
14.1超市管理系統246
14.1.1需求分析246
14.1.2數據結構設計246
14.1.3系統功能模塊247
14.2代碼實現247
14.2.1登錄界面與主界面247
14.2.2錄入商品信息248
14.2.3商品信息查詢251
14.2.4商品信息列表253
14.2.5刪除商品信息254
14.2.6修改商品信息257
14.2.7商品信息排序258
14.2.8主函數261
14.3系統運行展示268
14.4本章小結270
14.5習題271