C編程技巧:117個(gè)問(wèn)題解決方案示例
定 價(jià):99 元
叢書(shū)名:華章程序員書(shū)庫(kù)
- 作者:
- 出版時(shí)間:2019/4/1
- ISBN:9787111622499
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類(lèi):TP312.8
- 頁(yè)碼:0
- 紙張:
- 版次:
- 開(kāi)本:16開(kāi)
用實(shí)用和信息豐富的方法解決C編程問(wèn)題。本書(shū)涵蓋了C編程的各個(gè)方面,包括C的基礎(chǔ)知識(shí)、運(yùn)算符和表達(dá)式、控制語(yǔ)句、遞歸和用戶定義函數(shù)。每一章都包含一系列方法,你可以很容易地參考它們,快速找到你想要的答案。
前言
致謝
第1章 歡迎學(xué)習(xí)C語(yǔ)言1
1.1 程序、軟件和操作系統(tǒng)2
1.2 機(jī)器語(yǔ)言和匯編語(yǔ)言2
1.3 過(guò)程式語(yǔ)言3
1.4 面向?qū)ο蟮恼Z(yǔ)言3
1.5 計(jì)算機(jī)術(shù)語(yǔ)4
1.6 編譯和解釋語(yǔ)言4
1.7 第一個(gè)C程序5
1.8 C的突出特點(diǎn)6
1.9 隱式類(lèi)型轉(zhuǎn)換7
1.10 顯式類(lèi)型轉(zhuǎn)換9
第2章 控制語(yǔ)句10
2.1 求1到N的整數(shù)的總和10
2.2 計(jì)算數(shù)字的階乘12
2.3 生成斐波那契數(shù)列14
2.4 確定給定數(shù)字是否為質(zhì)數(shù)17
2.5 計(jì)算正弦函數(shù)20
2.6 計(jì)算余弦函數(shù)21
2.7 計(jì)算二次方程的根23
2.8 計(jì)算整數(shù)的反轉(zhuǎn)數(shù)25
2.9 使用嵌套循環(huán)打印幾何圖案26
2.10 生成終值利息系數(shù)表28
第3章 函數(shù)和數(shù)組31
3.1 確定圓周率π的值32
3.2 從數(shù)字列表中選擇質(zhì)數(shù)34
3.3 使用遞歸進(jìn)行數(shù)字求和37
3.4 使用遞歸計(jì)算斐波那契數(shù)列39
3.5 使用遞歸計(jì)算數(shù)字的階乘40
3.6 搜索整數(shù)數(shù)組中的最大元素42
3.7 解決經(jīng)典的漢諾塔問(wèn)題43
3.8 解決八皇后問(wèn)題46
3.9 計(jì)算給定對(duì)象集的排列和組合48
3.10 對(duì)兩個(gè)矩陣求和50
3.11 計(jì)算矩陣的轉(zhuǎn)置53
3.12 計(jì)算矩陣的乘積55
第4章 指針和數(shù)組59
4.1 從包含int類(lèi)型數(shù)據(jù)的數(shù)組中獲取數(shù)據(jù)59
4.2 使用數(shù)組名稱(chēng)從數(shù)組中獲取數(shù)據(jù)61
4.3 從包含char和double類(lèi)型數(shù)據(jù)的數(shù)組中獲取數(shù)據(jù)62
4.4 訪問(wèn)越界數(shù)組元素64
4.5 存儲(chǔ)字符串66
4.6 存儲(chǔ)字符串而不進(jìn)行初始化68
4.7 在交互式會(huì)話中存儲(chǔ)字符串70
4.8 獲取二維數(shù)組中元素的地址71
4.9 獲取二維數(shù)組中行的基址73
4.10 從二維數(shù)組中獲取數(shù)據(jù)74
4.11 使用數(shù)組名稱(chēng)從二維數(shù)組中獲取 數(shù)據(jù)76
4.12 使用指針數(shù)組從數(shù)組中獲取數(shù)據(jù)78
4.13 物理交換字符串80
4.14 邏輯交換字符串82
4.15 以交互方式存儲(chǔ)字符串85
4.16 將命令行參數(shù)傳遞給程序87
4.17 使用指向指針的指針獲取存儲(chǔ)的字符串90
第5章 利用指針使用函數(shù)和結(jié)構(gòu)94
5.1 通過(guò)引用傳遞函數(shù)參數(shù)94
5.2 顯示嵌套結(jié)構(gòu)中存儲(chǔ)的數(shù)據(jù)96
5.3 使用函數(shù)構(gòu)建結(jié)構(gòu)102
5.4 通過(guò)將結(jié)構(gòu)傳遞給函數(shù)來(lái)修改結(jié)構(gòu)中的數(shù)據(jù)103
5.5 通過(guò)將指向結(jié)構(gòu)的指針傳遞給函數(shù)來(lái)修改結(jié)構(gòu)中的數(shù)據(jù)105
5.6 使用結(jié)構(gòu)數(shù)組存儲(chǔ)和獲取數(shù)據(jù)107
5.7 在交互模式下使用結(jié)構(gòu)數(shù)組存儲(chǔ)和獲取數(shù)據(jù)110
5.8 使用函數(shù)指針調(diào)用函數(shù)113
5.9 實(shí)現(xiàn)基于文本的菜單系統(tǒng)115
第6章 數(shù)據(jù)文件118
6.1 逐個(gè)字符地讀取文本文件118
6.2 文件打開(kāi)失敗時(shí)處理錯(cuò)誤122
6.3 以批處理模式寫(xiě)入文本文件125
6.4 以交互模式寫(xiě)入文本文件127
6.5 逐個(gè)字符串地讀取文本文件130
6.6 逐個(gè)字符地寫(xiě)入文本文件132
6.7 將整數(shù)寫(xiě)入文本文件134
6.8 將結(jié)構(gòu)寫(xiě)入文本文件136
6.9 讀取存儲(chǔ)在文本文件中的整數(shù)139
6.10 讀取存儲(chǔ)在文本文件中的結(jié)構(gòu)141
6.11 將整數(shù)寫(xiě)入二進(jìn)制文件143
6.12 將結(jié)構(gòu)寫(xiě)入二進(jìn)制文件145
6.13 讀取寫(xiě)入二進(jìn)制文件的整數(shù)147
6.14 讀取寫(xiě)入二進(jìn)制文件的結(jié)構(gòu)149
6.15 重命名文件151
6.16 刪除文件152
6.17 復(fù)制文本文件153
6.18 復(fù)制二進(jìn)制文件155
6.19 寫(xiě)入文件并讀取該文件157
6.20 將文本文件定位到所需字符159
6.21 從鍵盤(pán)設(shè)備文件中讀取165
6.22 將文本寫(xiě)入顯示器設(shè)備文件167
6.23 從鍵盤(pán)設(shè)備文件讀取文本并將其寫(xiě)入顯示器設(shè)備文件169
第7章 自引用結(jié)構(gòu)171
7.1 以交互方式生成數(shù)字列表171
7.2 使用匿名變量創(chuàng)建鏈表173
7.3 從鏈表中刪除組件177
7.4 將組件插入鏈表181
7.5 在交互式會(huì)話中創(chuàng)建鏈表187
7.6 處理線性鏈表191
7.7 創(chuàng)建具備前向和后向遍歷功能的線性鏈表200
第8章 棧和隊(duì)列203
8.1 將棧實(shí)現(xiàn)為數(shù)組204
8.2 將棧實(shí)現(xiàn)為鏈表207
8.3 將中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式212
8.4 將中綴表達(dá)式轉(zhuǎn)換為前綴表達(dá)式215
8.5 將循環(huán)隊(duì)列實(shí)現(xiàn)為數(shù)組218
第9章 搜索和排序223
9.1 使用線性搜索查找數(shù)據(jù)元素224
9.2 使用二分搜索查找數(shù)據(jù)元素226
9.3 使用冒泡排序?qū)o定的數(shù)字列表進(jìn)行排序228
9.4 使用插入排序?qū)o定的數(shù)字列表進(jìn)行排序231
9.5 使用選擇排序?qū)o定的數(shù)字列表進(jìn)行排序233
9.6 使用歸并排序?qū)o定的數(shù)字列表進(jìn)行排序235
9.7 使用希爾排序?qū)o定的數(shù)字列表進(jìn)行排序238
9.8 使用快速排序?qū)o定的數(shù)字列表進(jìn)行排序240
第10章 密碼系統(tǒng)243
10.1 使用反向密碼方法245
10.2 使用愷撒密碼方法248
10.3 使用轉(zhuǎn)置密碼方法251
10.4 使用乘法密碼方法255
10.5 使用仿射密碼方法259
10.6 使用簡(jiǎn)單替換密碼方法263
10.7 使用Vigenère密碼方法268
10.8 使用一次性密鑰密碼方法273
10.9 使用RSA密碼方法277
第11章 數(shù)值方法283
11.1 用對(duì)分法求方程的根284
11.2 用試位法求方程的根286
11.3 用穆勒法求方程的根289
11.4 用牛頓拉夫森迭代法求方程的根292
11.5 用牛頓前向插值法構(gòu)造新的數(shù)據(jù)點(diǎn)294
11.6 用牛頓后向插值法構(gòu)造新的數(shù)據(jù)點(diǎn)296
11.7 用高斯前向插值法構(gòu)造新的數(shù)據(jù)點(diǎn)299
11.8 用高斯后向插值法構(gòu)造新的數(shù)據(jù)點(diǎn)301
11.9 用斯特林插值法構(gòu)造新的數(shù)據(jù)點(diǎn)304
11.10 用貝塞爾插值法構(gòu)造新的數(shù)據(jù)點(diǎn)306
11.11 用拉普拉斯-埃弗雷特插值法構(gòu)造新的數(shù)據(jù)點(diǎn)309
11.12 用拉格朗日插值法構(gòu)造新的數(shù)據(jù)點(diǎn)312
11.13 用梯形數(shù)值積分法計(jì)算積分值314
11.14 用辛普森的3/8數(shù)值積分法計(jì)算積分值316
11.15 用辛普森的1/3數(shù)值積分法計(jì)算積分值318
11.16 用修正的歐拉方法求解微分方程320
11.17 用龍格-庫(kù)塔方法求解微分方程322
附錄A 參考表325
附錄B 庫(kù)函數(shù)334
附錄C C習(xí)慣用法338
附錄D 術(shù)語(yǔ)表347