C語言程序設(shè)計案例教程(第3版)第1章C語言程序設(shè)計基礎(chǔ)1
1.1簡單的C程序1
1.1.1一個簡單的C程序1
1.1.2C程序的結(jié)構(gòu)特點(diǎn)2
1.1.3C程序的書寫格式3
1.2C語言概述4
1.2.1C語言的產(chǎn)生及發(fā)展4
1.2.2C語言的特點(diǎn)4
1.3C語言程序的實(shí)現(xiàn)5
1.3.1運(yùn)行C程序的步驟和方法5
1.3.2Code::Blocks集成開發(fā)環(huán)境的使用6
1.4輸入與輸出函數(shù)9
1.4.1標(biāo)準(zhǔn)格式輸出函數(shù)printf( )9
1.4.2標(biāo)準(zhǔn)格式輸入函數(shù)scanf( )16
1.4.3字符輸出函數(shù)putchar( )20
1.4.4字符輸入函數(shù)getchar( )21
1.5本章小結(jié)22
習(xí)題22第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式24
2.1C語言的數(shù)據(jù)類型24
2.2常量與變量25
2.2.1常量25
2.2.2變量27
2.3C語言的基本數(shù)據(jù)類型28
2.3.1整型數(shù)據(jù)28
2.3.2實(shí)型數(shù)據(jù)30
2.3.3字符型數(shù)據(jù)31
2.3.4數(shù)據(jù)類型轉(zhuǎn)換32C語言程序設(shè)計案例教程(第3版)目錄2.4運(yùn)算符與表達(dá)式33
2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式33
2.4.2賦值運(yùn)算符和賦值表達(dá)式35
2.4.3逗號運(yùn)算符與逗號表達(dá)式36
2.4.4sizeof運(yùn)算符37
2.4.5運(yùn)算符的優(yōu)先級和結(jié)合性37
2.4.6案例分析: 學(xué)生的總分及平均分計算38
2.5本章小結(jié)39
習(xí)題39第3章控制結(jié)構(gòu)42
3.1算法42
3.1.1算法的概念42
3.1.2算法的特性42
3.1.3算法的描述43
3.1.4三種基本結(jié)構(gòu)和改進(jìn)的流程圖43
3.2選擇結(jié)構(gòu)44
3.2.1if語句44
3.2.2案例分析: 成績等級判定148
3.2.3switch語句49
3.2.4案例分析: 成績等級判定251
3.3循環(huán)結(jié)構(gòu)52
3.3.1for循環(huán)52
3.3.2案例分析: 計算平均成績156
3.3.3while循環(huán)57
3.3.4案例分析: 計算平均成績261
3.3.5do\|while循環(huán)63
3.3.6循環(huán)的嵌套63
3.4跳轉(zhuǎn)語句65
3.4.1break語句66
3.4.2continue語句67
3.4.3goto語句68
3.4.4exit語句68
3.5案例分析: 學(xué)生成績管理程序68
3.6本章小結(jié)71
習(xí)題71第4章數(shù)組74
4.1一維數(shù)組74
4.1.1一維數(shù)組定義75
4.1.2一維數(shù)組元素的引用76
4.1.3一維數(shù)組的初始化77
4.1.4案例分析: 冒泡排序80
4.2二維數(shù)組82
4.2.1二維數(shù)組的定義82
4.2.2二維數(shù)組元素的引用82
4.2.3二維數(shù)組的初始化85
4.2.4案例分析: 簡單學(xué)生成績程序87
4.3字符數(shù)組89
4.3.1字符數(shù)組的定義89
4.3.2字符數(shù)組的初始化89
4.3.3字符數(shù)組的引用90
4.3.4字符串和字符串結(jié)束標(biāo)志90
4.3.5字符數(shù)組的輸入輸出91
4.3.6字符串處理函數(shù)93
4.3.7案例分析1: 輸入五個國家的名稱按字母順序排列輸出96
4.3.8案例分析2: 將無符號整數(shù)n翻譯成d(2≤d≤16)
進(jìn)制表示的字符串s98
4.4本章小結(jié)99
習(xí)題99第5章函數(shù)101
5.1初識函數(shù)101
5.1.1函數(shù)的分類101
5.1.2函數(shù)的定義103
5.1.3案例分析: 打印圖案105
5.2函數(shù)的調(diào)用106
5.2.1函數(shù)調(diào)用的一般形式106
5.2.2函數(shù)的參數(shù)108
5.2.3函數(shù)的說明109
5.2.4案例分析: 小型計算器111
5.2.5函數(shù)的嵌套調(diào)用113
5.2.6函數(shù)的遞歸調(diào)用115
5.3變量的作用域和存儲域118
5.3.1變量的作用域118
5.3.2變量的存儲類別120
5.4函數(shù)間的數(shù)據(jù)傳遞124
5.4.1形參和實(shí)參間的值傳遞124
5.4.2形參和實(shí)參間的地址傳遞127
5.4.3return返回數(shù)據(jù)128
5.4.4全局變量傳遞數(shù)據(jù)128
5.4.5數(shù)組作參數(shù)129
5.4.6案例分析: 計算平均成績132
5.5內(nèi)部函數(shù)和外部函數(shù)134
5.6案例分析: 學(xué)生成績管理程序135
5.7本章小結(jié)138
習(xí)題138第6章指針141
6.1指針是什么141
6.2指針變量142
6.2.1指針變量的定義142
6.2.2指針運(yùn)算符142
6.2.3為何要使用指針146
6.3指針與數(shù)組149
6.3.1指向數(shù)組及數(shù)組元素的指針149
6.3.2指針變量的算術(shù)運(yùn)算151
6.3.3案例分析: 輸出數(shù)組全部元素153
6.3.4下標(biāo)運(yùn)算符\[\]的實(shí)質(zhì)154
6.4指向多維數(shù)組的指針155
6.4.1使用二維數(shù)組名作為指針訪問其元素155
6.4.2指向二維數(shù)組的指針變量156
6.4.3指針數(shù)組160
6.4.4指向指針的指針160
6.4.5案例分析: 輸出二維數(shù)組全部元素161
6.5指針與字符串164
6.5.1字符串的表示方式164
6.5.2字符串的訪問165
6.5.3字符串?dāng)?shù)組167
6.6函數(shù)型指針169
6.7指針型函數(shù)170
6.8動態(tài)分配內(nèi)存172
6.9案例分析: 學(xué)生成績管理程序173
6.10本章小結(jié)182
習(xí)題185第7章結(jié)構(gòu)體與共用體186
7.1結(jié)構(gòu)體類型定義和結(jié)構(gòu)體變量說明186
7.1.1結(jié)構(gòu)體類型變量的定義和引用186
7.1.2結(jié)構(gòu)體類型變量的定義188
7.1.3結(jié)構(gòu)體類型變量的引用190
7.1.4結(jié)構(gòu)體類型變量的初始化191
7.2結(jié)構(gòu)體數(shù)組的定義和引用192
7.2.1定義結(jié)構(gòu)體數(shù)組192
7.2.2結(jié)構(gòu)體數(shù)組的初始化193
7.3結(jié)構(gòu)體指針的定義和引用195
7.3.1指向結(jié)構(gòu)體類型變量的指針195
7.3.2指向結(jié)構(gòu)體類型數(shù)組的指針的使用196
7.3.3案例分析: 學(xué)生成績管理程序(結(jié)構(gòu)體指針)198
7.4鏈表203
7.4.1單鏈表結(jié)點(diǎn)類型的定義204
7.4.2單鏈表的建立204
7.4.3單鏈表的輸出206
7.5共用體208
7.5.1共用體的定義208
7.5.2共用體變量的引用210
7.6枚舉211
7.6.1枚舉類型的定義和枚舉變量的說明211
7.6.2枚舉類型變量的賦值和使用212
7.7本章小結(jié)213
習(xí)題213第8章文件215
8.1文件的基本概念215
8.1.1文件概述215
8.1.2文件的類別216
8.1.3文件的操作流程217
8.2常用文件操作的標(biāo)準(zhǔn)函數(shù)217
8.2.1文件的打開217
8.2.2文件的關(guān)閉218
8.2.3文本文件的讀寫219
8.2.4二進(jìn)制文件的讀寫224
8.2.5文件的其他常用函數(shù)226
8.2.6案例分析: 文件操作228
8.3本章小結(jié)230
習(xí)題230第9章綜合實(shí)訓(xùn)1232
9.1功能描述232
9.2程序主界面設(shè)計232
9.3功能項的詳細(xì)設(shè)計233
9.3.1主界面函數(shù)的實(shí)現(xiàn)234
9.3.2初始化237
9.3.3數(shù)據(jù)錄入238
9.3.4數(shù)據(jù)編輯240
9.3.5數(shù)據(jù)查詢的實(shí)現(xiàn)247
9.3.6數(shù)據(jù)統(tǒng)計251
9.3.7數(shù)據(jù)導(dǎo)出的實(shí)現(xiàn)253
9.3.8數(shù)據(jù)導(dǎo)入255
9.4本章小結(jié)256第10章綜合實(shí)訓(xùn)2257
10.1功能描述257
10.2程序主界面設(shè)計257
10.3功能項的詳細(xì)設(shè)計258
10.3.1主界面的實(shí)現(xiàn)259
10.3.2初始化259
10.3.3數(shù)據(jù)錄入260
10.3.4插入學(xué)生信息263
10.3.5信息的修改266
10.3.6信息的查詢268
10.3.7信息的刪除270
10.3.8顯示學(xué)生信息274
10.3.9排序275
10.3.10數(shù)據(jù)回收279
10.3.11用戶登錄的實(shí)現(xiàn)281
10.3.12文件保存284
10.3.13文件讀取286
第1章C語言程序設(shè)計基礎(chǔ)1
1.1簡單的C程序1
1.1.1一個簡單的C程序1
1.1.2C程序的結(jié)構(gòu)特點(diǎn)2
1.1.3C程序的書寫格式3
1.2C語言概述4
1.2.1C語言的產(chǎn)生及發(fā)展4
1.2.2C語言的特點(diǎn)4
1.3C語言程序的實(shí)現(xiàn)5
1.3.1運(yùn)行C程序的步驟和方法5
1.3.2Visual C++ 6.0集成開發(fā)環(huán)境的使用6
1.4輸入與輸出函數(shù)9
1.4.1標(biāo)準(zhǔn)格式輸出函數(shù)printf()9
1.4.2標(biāo)準(zhǔn)格式輸入函數(shù)scanf()15
1.4.3字符輸出函數(shù)putchar()20
1.4.4字符輸入函數(shù)getchar()21
本章小結(jié)21
習(xí)題122第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式24
2.1C語言的數(shù)據(jù)類型24
2.2常量與變量24
2.2.1常量24
2.2.2變量26
2.3C語言的基本數(shù)據(jù)類型28
2.3.1整型數(shù)據(jù)28
2.3.2實(shí)型數(shù)據(jù)30
2.3.3字符型數(shù)據(jù)31
2.3.4數(shù)據(jù)類型轉(zhuǎn)換31
2.4運(yùn)算符與表達(dá)式32
2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式32
2.4.2賦值運(yùn)算符和賦值表達(dá)式 35
2.4.3逗號運(yùn)算符與逗號表達(dá)式36
2.4.4sizeof運(yùn)算符36
2.4.5運(yùn)算符的優(yōu)先級和結(jié)合性37
2.4.6案例分析: 學(xué)生的總分及平均分計算38
本章小結(jié)39
習(xí)題239C語言程序設(shè)計案例教程(第2版)目錄第3章控制結(jié)構(gòu)41
3.1算法41
3.1.1算法的概念41
3.1.2算法的特性41
3.1.3算法的描述42
3.1.4三種基本結(jié)構(gòu)和改進(jìn)的流程圖42
3.2選擇結(jié)構(gòu)43
3.2.1if語句43
3.2.2案例分析: 成績等級判定147
3.2.3switch語句48
3.2.4案例分析: 成績等級判定250
3.3循環(huán)結(jié)構(gòu)51
3.3.1for循環(huán)51
3.3.2案例分析: 計算平均成績155
3.3.3while循環(huán)56
3.3.4案例分析: 計算平均成績260
3.3.5dowhile循環(huán)61
3.3.6循環(huán)的嵌套62
3.4跳轉(zhuǎn)語句64
3.4.1break語句64
3.4.2continue語句65
3.4.3goto語句66
3.4.4exit語句66
3.5案例分析: 學(xué)生成績管理程序67
本章小結(jié)69
習(xí)題369第4章數(shù)組72
4.1一維數(shù)組72
4.1.1一維數(shù)組定義73
4.1.2一維數(shù)組元素的引用74
4.1.3一維數(shù)組的初始化75
4.1.4案例分析: 冒泡排序78
4.2二維數(shù)組80
4.2.1二維數(shù)組的定義80
4.2.2二維數(shù)組元素的引用81
4.2.3二維數(shù)組的初始化83
4.2.4案例分析: 簡單學(xué)生成績程序85
4.3字符數(shù)組87
4.3.1字符數(shù)組的定義87
4.3.2字符數(shù)組的初始化88
4.3.3字符數(shù)組的引用88
4.3.4字符串和字符串結(jié)束標(biāo)志88
4.3.5字符數(shù)組的輸入輸出89
4.3.6字符串處理函數(shù)91
4.3.7案例分析1: 輸入五個國家的名稱按字母順序排列輸出94
4.3.8案例分析2: 將無符號整數(shù)n翻譯成d(2≤d≤16)
進(jìn)制表示的字符串s96
本章小結(jié)97
習(xí)題497第5章函數(shù)99
5.1初識函數(shù)99
5.1.1函數(shù)的分類99
5.1.2函數(shù)的定義101
5.1.3案例分析: 打印圖案103
5.2函數(shù)的調(diào)用104
5.2.1函數(shù)調(diào)用的一般形式104
5.2.2函數(shù)的參數(shù)106
5.2.3函數(shù)的說明107
5.2.4案例分析: 小型計算器 110
5.2.5函數(shù)的嵌套調(diào)用112
5.2.6函數(shù)的遞歸調(diào)用113
5.3變量的作用域和存儲域 116
5.3.1變量的作用域116
5.3.2變量的存儲類別118
5.4函數(shù)間的數(shù)據(jù)傳遞122
5.4.1形參和實(shí)參間的值傳遞123
5.4.2形參和實(shí)參間的地址傳遞125
5.4.3return返回數(shù)據(jù)126
5.4.4全局變量傳遞數(shù)據(jù)127
5.4.5數(shù)組作參數(shù)127
5.4.6案例分析: 計算平均成績131
5.5內(nèi)部函數(shù)和外部函數(shù)132
5.6案例分析: 學(xué)生成績管理程序133
本章小結(jié)136
習(xí)題5136第6章指針139
6.1指針是什么139
6.2指針變量140
6.2.1指針變量的定義140
6.2.2指針運(yùn)算符140
6.2.3為何要使用指針144
6.3指針與數(shù)組147
6.3.1指向數(shù)組及數(shù)組元素的指針147
6.3.2指針變量的算術(shù)運(yùn)算148
6.3.3案例分析——輸出數(shù)組全部元素151
6.3.4下標(biāo)運(yùn)算符\[\]的實(shí)質(zhì)152
6.4指向多維數(shù)組的指針152
6.4.1使用二維數(shù)組名作為指針訪問其元素152
6.4.2指向二維數(shù)組的指針變量154
6.4.3指針數(shù)組157
6.4.4指向指針的指針158
6.4.5案例分析——輸出二維數(shù)組全部元素159
6.5指針與字符串161
6.5.1字符串的表示方式161
6.5.2字符串的訪問163
6.5.3字符串?dāng)?shù)組165
6.6函數(shù)型指針166
6.7指針型函數(shù)168
6.8動態(tài)分配內(nèi)存169
6.9案例分析: 學(xué)生成績管理程序170
本章小結(jié)180
習(xí)題6183第7章結(jié)構(gòu)體與共用體184
7.1結(jié)構(gòu)體類型定義和結(jié)構(gòu)體變量說明184
7.1.1結(jié)構(gòu)體類型變量的定義和引用184
7.1.2結(jié)構(gòu)體類型變量的定義186
7.1.3結(jié)構(gòu)體類型變量的引用188
7.1.4結(jié)構(gòu)體類型變量的初始化189
7.2結(jié)構(gòu)體數(shù)組的定義和引用190
7.2.1定義結(jié)構(gòu)體數(shù)組190
7.2.2結(jié)構(gòu)體數(shù)組的初始化191
7.3結(jié)構(gòu)體指針的定義和引用193
7.3.1指向結(jié)構(gòu)體類型變量的指針193
7.3.2指向結(jié)構(gòu)體類型數(shù)組的指針的使用194
7.3.3案例分析: 學(xué)生成績管理程序(結(jié)構(gòu)體指針)196
7.4鏈表201
7.4.1單鏈表結(jié)點(diǎn)類型的定義201
7.4.2單鏈表的建立202
7.4.3單鏈表的輸出204
7.5共用體206
7.5.1共用體的定義206
7.5.2共用體變量的引用208
7.6枚舉209
7.6.1枚舉類型的定義和枚舉變量的說明209
7.6.2枚舉類型變量的賦值和使用210
本章小結(jié)211
習(xí)題7212第8章文件213
8.1文件的基本概念213
8.1.1文件概述213
8.1.2文件的類別214
8.1.3文件的操作流程215
8.2常用文件操作的標(biāo)準(zhǔn)函數(shù)215
8.2.1文件的打開215
8.2.2文件的關(guān)閉216
8.2.3文本文件的讀寫217
8.2.4二進(jìn)制文件的讀寫222
8.2.5文件的其他常用函數(shù)224
8.2.6案例分析: 文件操作226
本章小結(jié)228
習(xí)題8228第9章綜合實(shí)訓(xùn)1229
9.1功能描述229
9.2程序主界面設(shè)計229
9.3功能項的詳細(xì)設(shè)計230
9.3.1主界面函數(shù)的實(shí)現(xiàn)231
9.3.2初始化234
9.3.3數(shù)據(jù)錄入235
9.3.4數(shù)據(jù)編輯237
9.3.5數(shù)據(jù)查詢的實(shí)現(xiàn)244
9.3.6數(shù)據(jù)統(tǒng)計248
9.3.7數(shù)據(jù)導(dǎo)出的實(shí)現(xiàn)250
9.3.8數(shù)據(jù)導(dǎo)入252
本章小結(jié)253第10章綜合實(shí)訓(xùn)2254
10.1功能描述254
10.2程序主界面設(shè)計254
10.3功能項的詳細(xì)設(shè)計255
10.3.1主界面的實(shí)現(xiàn)256
10.3.2初始化256
10.3.3數(shù)據(jù)錄入257
10.3.4插入學(xué)生信息260
10.3.5信息的修改263
10.3.6信息的查詢265
10.3.7信息的刪除267
10.3.8顯示學(xué)生信息271
10.3.9排序271
10.3.10數(shù)據(jù)回收276
10.3.11用戶登錄的實(shí)現(xiàn)278
10.3.12文件保存281
10.3.13文件讀取282附錄A習(xí)題參考答案285參考文獻(xiàn)332