本書(shū)系C程序設(shè)計(jì)教程,以算法和Raptor程序設(shè)計(jì)引導(dǎo)讀者如何用計(jì)算機(jī)求解問(wèn)題,以C語(yǔ)言為基礎(chǔ)介紹了程序設(shè)計(jì)的基本思想和方法,從計(jì)算機(jī)問(wèn)題求解與算法設(shè)計(jì)的角度提高程序設(shè)計(jì)的能力。全書(shū)內(nèi)容豐富,強(qiáng)調(diào)程序設(shè)計(jì)方法與綜合實(shí)踐能力的培養(yǎng)。
本書(shū)可作為計(jì)算機(jī)及相關(guān)專業(yè)C程序設(shè)計(jì)的教材,也可供專業(yè)技術(shù)人員參考或者作為培訓(xùn)教材。
清晰展現(xiàn)全書(shū)知識(shí)結(jié)構(gòu)和每章知識(shí)圖,結(jié)構(gòu)以應(yīng)用和實(shí)踐能力培養(yǎng)為導(dǎo)向,使學(xué)生在學(xué)習(xí)理論知識(shí)的同時(shí)提高應(yīng)用實(shí)踐能力。內(nèi)容詳實(shí),案例豐富,習(xí)題經(jīng)典,課件完備,可作為計(jì)算機(jī)及相關(guān)專業(yè)的C程序設(shè)計(jì)基礎(chǔ)教程。
C程序設(shè)計(jì)教程第1章緒論1
1.1計(jì)算機(jī)系統(tǒng)1
1.1.1硬件系統(tǒng)1
1.1.2軟件系統(tǒng)4
1.2程序設(shè)計(jì)語(yǔ)言5
1.2.1機(jī)器語(yǔ)言與匯編語(yǔ)言5
1.2.2高級(jí)語(yǔ)言5
1.3計(jì)算機(jī)問(wèn)題求解6
1.3.1計(jì)算機(jī)問(wèn)題求解概述6
1.3.2算法與程序設(shè)計(jì)7
1.3.3計(jì)算機(jī)科學(xué)8
1.3.4程序設(shè)計(jì)范式8
1.4算法的設(shè)計(jì)9
1.4.1算法思維9
1.4.2算法表示10
1.4.3算法的三種基本結(jié)構(gòu)11
1.4.4算法的設(shè)計(jì)方法12
本章知識(shí)結(jié)構(gòu)圖14
習(xí)題15
第2章Raptor程序設(shè)計(jì)16
2.1Raptor的輸入與輸出16
2.1.1什么是Raptor16
2.1.2簡(jiǎn)單輸出語(yǔ)句16
2.1.3簡(jiǎn)單輸入語(yǔ)句19
2.2Raptor的賦值與過(guò)程21
2.2.1賦值語(yǔ)句21
2.2.2過(guò)程調(diào)用語(yǔ)句24
2.3Raptor的控制結(jié)構(gòu)28
2.3.1順序結(jié)構(gòu)28
2.3.2選擇結(jié)構(gòu)28
2.3.3循環(huán)結(jié)構(gòu)30
2.3.4級(jí)聯(lián)選擇控制與嵌套循環(huán)35
2.3.5Raptor注釋37
2.4Raptor的數(shù)組37
2.4.1為什么使用數(shù)組37
2.4.2數(shù)組和數(shù)組元素38
2.4.3創(chuàng)建和使用數(shù)組38
2.5Raptor的文件與圖形界面40
2.5.1計(jì)算結(jié)果的文件保存40
2.5.2輸出結(jié)果的圖形顯示43
2.6綜合設(shè)計(jì)案例43
本章知識(shí)結(jié)構(gòu)圖45
習(xí)題46
C程序設(shè)計(jì)教程目錄
第3章C程序設(shè)計(jì)初步48
3.1C語(yǔ)言程序48
3.1.1C語(yǔ)言起源48
3.1.2簡(jiǎn)單C程序49
3.1.3C程序的構(gòu)成和風(fēng)格50
3.1.4C程序的開(kāi)發(fā)51
3.1.5C的標(biāo)準(zhǔn)53
3.2C程序的數(shù)據(jù)信息53
3.3C程序的控制結(jié)構(gòu)56
3.3.1順序結(jié)構(gòu)56
3.3.2選擇結(jié)構(gòu)58
3.3.3循環(huán)結(jié)構(gòu)60
3.4C程序的設(shè)計(jì)61
3.4.1枚舉法61
3.4.2迭代法65
本章知識(shí)結(jié)構(gòu)圖68
習(xí)題68
第4章C語(yǔ)言基本組成71
4.1C語(yǔ)言的詞法71
4.1.1C語(yǔ)言字符集71
4.1.2保留字72
4.1.3用戶標(biāo)識(shí)符73
4.1.4C語(yǔ)言的詞類74
4.2基本數(shù)據(jù)類型74
4.2.1數(shù)制74
4.2.2數(shù)據(jù)類型75
4.2.3常量77
4.2.4變量79
4.3運(yùn)算符和表達(dá)式82
4.3.1算術(shù)運(yùn)算83
4.3.2關(guān)系運(yùn)算84
4.3.3邏輯運(yùn)算85
4.3.4賦值運(yùn)算87
4.3.5自增自減運(yùn)算88
4.3.6逗號(hào)運(yùn)算89
4.3.7長(zhǎng)度運(yùn)算89
4.3.8條件運(yùn)算89
4.3.9位運(yùn)算90
4.3.10類型轉(zhuǎn)換93
4.4C語(yǔ)言基本語(yǔ)句95
4.4.1表達(dá)式語(yǔ)句96
4.4.2復(fù)合語(yǔ)句96
4.4.3選擇語(yǔ)句97
4.4.4循環(huán)語(yǔ)句105
4.4.5跳轉(zhuǎn)語(yǔ)句114
4.4.6標(biāo)號(hào)語(yǔ)句116
4.5格式化輸入與輸出116
4.5.1格式化輸出函數(shù)printf116
4.5.2格式化輸入函數(shù)scanf121
本章知識(shí)結(jié)構(gòu)圖126
習(xí)題127
第5章函數(shù)138
5.1模塊化思想概述138
5.1.1模塊的概念138
5.1.2模塊的例子138
5.1.3模塊函數(shù)140
5.1.4模塊設(shè)計(jì)的原則140
5.2函數(shù)的定義141
5.3函數(shù)的調(diào)用143
5.3.1函數(shù)的調(diào)用形式143
5.3.2參數(shù)傳遞與返回值144
5.3.3函數(shù)聲明145
5.3.4系統(tǒng)函數(shù)調(diào)用147
5.4遞歸調(diào)用150
5.4.1簡(jiǎn)單遞歸的設(shè)計(jì)150
5.4.2其他遞歸的設(shè)計(jì)153
5.5變量的作用域與存儲(chǔ)類型156
5.5.1變量的作用域156
5.5.2變量生存期和存儲(chǔ)類型157
5.6程序文件結(jié)構(gòu)160
5.6.1單文件結(jié)構(gòu)160
5.6.2多文件結(jié)構(gòu)160
5.6.3預(yù)處理指令163
5.6.4文本文件輸入輸出166
5.7模塊化程序設(shè)計(jì)169
本章知識(shí)結(jié)構(gòu)圖174
習(xí)題175
第6章復(fù)雜數(shù)據(jù)類型184
6.1一維數(shù)組184
6.1.1數(shù)組的定義186
6.1.2一維數(shù)組的初始化189
6.1.3一維數(shù)組的應(yīng)用舉例190
6.2二維數(shù)組197
6.2.1二維數(shù)組的定義197
6.2.2二維數(shù)組的存儲(chǔ)197
6.2.3二維數(shù)組元素的引用198
6.2.4二維數(shù)組的初始化198
6.2.5二維數(shù)組的應(yīng)用舉例199
6.3指針201
6.3.1指針的概念202
6.3.2指針變量203
6.3.3一維數(shù)組和指針205
6.3.4二維數(shù)組和指針208
6.3.5返回指針值的函數(shù)和指向函數(shù)的指針變量215
6.3.6動(dòng)態(tài)內(nèi)存分配218
6.4字符串221
6.4.1字符串常量222
6.4.2字符串的存儲(chǔ)和初始化222
6.4.3用指針指向字符串223
6.4.4字符串的訪問(wèn)224
6.4.5字符串處理函數(shù)227
6.4.6用指針數(shù)組處理字符串233
6.5結(jié)構(gòu)體237
6.5.1定義結(jié)構(gòu)體類型238
6.5.2結(jié)構(gòu)體變量的定義及初始化239
6.5.3結(jié)構(gòu)體變量所占空間的大小240
6.5.4結(jié)構(gòu)體變量的引用242
6.5.5結(jié)構(gòu)體數(shù)組244
6.5.6指向結(jié)構(gòu)體的指針246
6.6復(fù)雜數(shù)據(jù)類型作函數(shù)參數(shù)248
6.6.1一維數(shù)組作函數(shù)參數(shù)248
6.6.2二維數(shù)組作函數(shù)參數(shù)251
6.6.3指針作函數(shù)參數(shù)255
6.6.4結(jié)構(gòu)體類型的指針和變量作函數(shù)參數(shù)260
6.7其他復(fù)雜數(shù)據(jù)類型261
6.7.1共用體類型261
6.7.2枚舉類型264
6.7.3類型重定義267
本章知識(shí)結(jié)構(gòu)圖270
習(xí)題272
第7章文件280
7.1輸入輸出的基本概念280
7.1.1普通文件和設(shè)備文件280
7.1.2二進(jìn)制文件和文本文件281
7.1.3文件流282
7.1.4緩沖文件系統(tǒng)283
7.1.5文件指針283
7.2文件的打開(kāi)和關(guān)閉284
7.2.1文件的打開(kāi)(fopen函數(shù))284
7.2.2文件關(guān)閉函數(shù)(fclose函數(shù))286
7.3文本文件的輸入輸出287
7.3.1讀寫(xiě)字符287
7.3.2讀寫(xiě)字符串289
7.3.3讀寫(xiě)格式化數(shù)據(jù)291
7.3.4利用標(biāo)準(zhǔn)輸入輸出設(shè)備的讀寫(xiě)操作293
7.4二進(jìn)制文件的輸入和輸出294
7.4.1文件定位294
7.4.2讀寫(xiě)數(shù)據(jù)塊函數(shù)296
7.4.3二進(jìn)制文件的隨機(jī)讀寫(xiě)298
本章知識(shí)結(jié)構(gòu)圖303
習(xí)題304
第8章問(wèn)題求解與算法309
8.1問(wèn)題求解中數(shù)據(jù)結(jié)構(gòu)的選用309
8.1.1問(wèn)題求解的過(guò)程309
8.1.2問(wèn)題求解中對(duì)數(shù)據(jù)結(jié)構(gòu)的選擇317
8.1.3基于數(shù)組存儲(chǔ)數(shù)據(jù)的局限320
8.2鏈表323
8.2.1單鏈表存儲(chǔ)結(jié)構(gòu)324
8.2.2遍歷鏈表325
8.2.3創(chuàng)建一個(gè)鏈表325
8.2.4在鏈表中插入結(jié)點(diǎn)327
8.2.5在鏈表中刪除結(jié)點(diǎn)329
8.2.6鏈表結(jié)構(gòu)的應(yīng)用331
8.3查找337
8.3.1在有序表上的二分查找337
8.3.2用哈希法存儲(chǔ)和查找數(shù)據(jù)341
8.4排序344
8.4.1快速排序345
8.4.2簡(jiǎn)單計(jì)數(shù)排序347
8.5問(wèn)題求解策略348
8.5.1回溯法349
8.5.2貪心法352
8.5.3動(dòng)態(tài)規(guī)劃356
本章知識(shí)結(jié)構(gòu)圖359
習(xí)題360
附錄AASCII碼表完整版365
附錄B綜合實(shí)踐報(bào)告367
本書(shū)知識(shí)結(jié)構(gòu)圖372
收起全部↑