定 價:59.8 元
叢書名:科學出版社“十四五”普通高等教育本科規(guī)劃教材
當前圖書已被 8 所學校薦購過!
查看明細
- 作者:劉杰,鞠成東,叢曉紅
- 出版時間:2023/8/1
- ISBN:9787030761569
- 出 版 社:科學出版社
- 中圖法分類:TP312.8
- 頁碼:308
- 紙張:
- 版次:01
- 開本:16
本書為適應新工科復合型人才對計算思維和問題求解能力的要求而編寫,全書共10章,主要內(nèi)容包括:計算思維與問題求解、簡單的C程序設計、程序結構、函數(shù)、數(shù)組、指針、結構體、文件、常用算法和經(jīng)典人工智能算法。本書兼顧計算思維與程序設計基礎知識,注重問題抽象,通過案例分析,逐步給出問題求解算法與程序實現(xiàn),引導讀者建立算法思維和程序設計思維。本書將數(shù)值計算貫穿于各章節(jié),并通過“常用算法”和“經(jīng)典人工智能算法”兩章,進一步拓展讀者問題求解思維,提高讀者解決復雜專業(yè)領域問題的能力和學科交叉融合的能力。
更多科學出版社服務,請掃碼獲取。
目錄
第1章 計算思維與問題求解 1
1.1 計算思維與程序設計 1
1.2 計算機內(nèi)部數(shù)據(jù)表示及0-1符號化 2
1.2.1 位、字節(jié)與字長 2
1.2.2 二進制基本運算規(guī)則 3
1.2.3 進位制及其相互轉換 6
1.2.4 數(shù)值型信息表示方法 8
1.2.5 非數(shù)值型信息表示方法 12
1.3 計算機結構與機器指令 16
1.3.1 存儲器組成結構 18
1.3.2 運算器組成結構 19
1.3.3 控制器組成結構 20
1.3.4 機器指令表示方法 20
1.4 機器程序執(zhí)行 22
1.5 計算機問題求解的靈魂——算法 24
1.5.1 算法及其特性 24
1.5.2 算法表示方法 24
1.6 程序設計中的數(shù)據(jù)和數(shù)據(jù)結構 27
1.7 計算機問題求解的步驟 28
1.7.1 求解問題的一般步驟 28
1.7.2 C語言程序開發(fā)步驟 30
1.8 C語言程序結構及實例 32
1.8.1 C程序構成 32
1.8.2 C編程風格 34
1.9 習題 34
第2章 簡單的C程序設計 37
2.1 標準C程序基本框架 37
2.2 常量和變量 39
2.2.1 常量 39
2.2.2 變量 39
2.3 數(shù)據(jù)類型 40
2.3.1 數(shù)據(jù)類型的一般概念 40
2.3.2 整型數(shù)據(jù) 41
2.3.3 實型數(shù)據(jù) 45
2.3.4 字符型數(shù)據(jù) 47
2.4 運算符 50
2.4.1 賦值運算符 50
2.4.2 基本算術運算符 53
2.4.3 自增、自減運算符 54
2.4.4 逗號運算符 55
2.5 標準輸入輸出 56
2.5.1 輸出字符函數(shù)putchar 56
2.5.2 輸入字符函數(shù)getchar 57
2.5.3 輸出函數(shù)printf 57
2.5.4 輸入函數(shù)scanf 59
2.6 數(shù)值算法——線性插值 60
2.7 綜合應用實例 61
2.7.1 估算身高 61
2.7.2 飛機升力系數(shù) 63
2.7.3 汽車停車視距 64
2.8 習題 65
第3章 程序結構 69
3.1 條件表達式 69
3.1.1 關系運算符 69
3.1.2 關系運算符實例解析 69
3.1.3 邏輯運算符 70
3.1.4 邏輯運算符實例解析 70
3.1.5 條件運算符 71
3.1.6 條件運算符實例解析 72
3.2 選擇結構語句 73
3.2.1 單分支結構if語句 73
3.2.2 雙分支結構if語句 73
3.2.3 多分支選擇結構if語句 76
3.2.4 多分支選擇結構switch語句 77
3.2.5 if語句的嵌套 80
3.3 循環(huán)結構語句 83
3.3.1 循環(huán)結構while語句 83
3.3.2 循環(huán)結構for語句 84
3.3.3 循環(huán)結構do-while語句 85
3.4 循環(huán)的嵌套 87
3.5 循環(huán)結構的討論 88
3.5.1 while循環(huán)、for循環(huán)和do-while循環(huán)的比較 88
3.5.2 提前終止循環(huán)break語句 89
3.5.3 提前結束本次循環(huán)continue語句 89
3.6 數(shù)值方法——一元函數(shù)定積分近似求解 90
3.7 綜合應用實例 91
3.7.1 攝氏度與華氏度的對照表 91
3.7.2 獎金發(fā)放情況 92
3.7.3 艦船識別 93
3.8 習題 95
第4章 函數(shù) 99
4.1 模塊化程序設計與C函數(shù) 99
4.2 函數(shù)定義和函數(shù)聲明 99
4.2.1 函數(shù)的定義 99
4.2.2 函數(shù)的聲明 101
4.3 數(shù)的參數(shù)和返回值 102
4.3.1 形式參數(shù)和實際參數(shù) 102
4.3.2 函數(shù)的返回值 103
4.4 函數(shù)調(diào)用 103
4.4.1 函數(shù)調(diào)用的一般形式 103
4.4.2 函數(shù)的嵌套調(diào)用 104
4.4.3 函數(shù)的遞歸調(diào)用 104
4.5 變量的作用域 107
4.5.1 局部變量 107
4.5.2 全局變量 108
4.6 變量的存儲類別 109
4.6.1 自動變量 110
4.6.2 寄存器變量 110
4.6.3 外部變量 111
4.6.4 靜態(tài)變量 112
4.7 內(nèi)部函數(shù)和外部函數(shù) 113
4.7.1 內(nèi)部函數(shù) 113
4.7.2 外部函數(shù) 113
4.8 數(shù)值方法——非線性方程的解 114
4.8.1 簡單迭代法 114
4.8.2 牛頓迭代法 116
4.8.3 弦截法 118
4.9 綜合應用實例 120
4.9.1 隨機數(shù)序列生成 120
4.9.2 氣溫模擬數(shù)據(jù)生成 123
4.9.3 系統(tǒng)可靠性仿真 124
4.10 習題 126
第5章 數(shù)組 131
5.1 一維數(shù)組 131
5.1.1 一維數(shù)組的定義和初始化 131
5.1.2 一維數(shù)組元素的引用 132
5.2 二維數(shù)組 132
5.2.1 二維數(shù)組的定義和初始化 132
5.2.2 二維數(shù)組元素的引用 133
5.3 字符數(shù)組 134
5.3.1 字符數(shù)組的初始化 134
5.3.2 字符數(shù)組的輸入輸出 135
5.3.3 字符串處理函數(shù) 135
5.4 數(shù)組作為參數(shù) 137
5.4.1 數(shù)組元素作為函數(shù)實參 137
5.4.2 數(shù)組名作為函數(shù)參數(shù) 138
5.5 數(shù)據(jù)序列的排序與查找 141
5.5.1 選擇排序法 141
5.5.2 冒泡排序法 142
5.5.3 插入排序法 143
5.5.4 二分查找法 143
5.6 數(shù)值方法——線性方程組求解 145
5.7 綜合應用實例 149
5.7.1 矩陣的應用 149
5.7.2 學生成績統(tǒng)計 151
5.7.3 字符串截取 153
5.7.4 加密算法 154
5.8 習題 155
第6章 指針 161
6.1 地址和指針 161
6.1.1 指針的引入 161
6.1.2 內(nèi)存數(shù)據(jù)的訪問方式 163
6.2 指針變量的定義及使用 165
6.2.1 指針變量的定義 165
6.2.2 指針變量的使用方法 166
6.3 指針與數(shù)組 169
6.3.1 指針的加、減運算規(guī)則 170
6.3.2 訪問數(shù)組元素的幾種方法 171
6.3.3 多維數(shù)組與指針 172
6.3.4 使用指針處理數(shù)組舉例 174
6.4 指針與字符串 177
6.4.1 用字符數(shù)組存放字符串 177
6.4.2 用字符指針指向字符串 178
6.4.3 使用指針處理字符串 181
6.5 指針與函數(shù) 182
6.5.1 指針作函數(shù)的參數(shù) 182
6.5.2 使用指針作參數(shù)傳遞一組
數(shù)據(jù) 184
6.6 指向指針的指針 185
6.6.1 指向指針的指針變量的定義 186
6.6.2 指向指針的指針變量的舉例 187
6.7 綜合應用實例 187
6.7.1 整數(shù)循環(huán)移位 187
6.7.2 數(shù)制間的轉換 189
6.7.3 尋找區(qū)間內(nèi)的素數(shù) 191
6.7.4 運用指針插入排序 192
6.8 習題 196
第7章 結構體 202
7.1 結構體類型 202
7.2 結構體類型變量 203
7.2.1 結構體類型變量的定義 203
7.2.2 結構體變量的引用 204
7.2.3 結構體變量的初始化 206
7.3 結構體數(shù)組 206
7.3.1 結構體數(shù)組的定義 207
7.3.2 結構體數(shù)組的引用 207
7.4 結構體類型的變量作為函數(shù)參數(shù) 209
7.4.1 結構體成員作為函數(shù)參數(shù) 209
7.4.2 結構體變量作為函數(shù)參數(shù) 210
7.5 結構體指針變量 211
7.6 鏈表 212
7.7 數(shù)值方法 215
7.7.1 復數(shù)的乘除 215
7.7.2 用二分法求解非線性方程 217
7.8 綜合應用實例 219
7.8.1 學生成績統(tǒng)計 219
7.8.2 “三天打魚兩天曬網(wǎng)”問題 221
7.8.3 稅后工資計算 223
7.9 習題 225
第8章 文件 232
8.1 文件概述 232
8.2 文件型指針 233
8.3 文件的打開與關閉 234
8.3.1 文件的打開 235
8.3.2 文件的關閉 235
8.4 文件的讀寫 236
8.4.1 文件尾部測試函數(shù) 236
8.4.2 文件的字符讀/寫函數(shù) 236
8.4.3 文件的字符串讀/寫函數(shù) 237
8.4.4 文件的數(shù)據(jù)塊讀/寫函數(shù) 237
8.4.5 文件的格式化讀/寫函數(shù) 238
8.5 文件定位 239
8.5.1 文件位置指針重置函數(shù) 239
8.5.2 文件位置指針定位函數(shù) 240
8.6 數(shù)值方法——拉格朗日插值 240
8.7 綜合應用實例 241
8.7.1 統(tǒng)計文本文件中字符的個數(shù) 241
8.7.2 判斷兩個文件內(nèi)容是否相同 242
8.7.3 逐行排序數(shù)據(jù)文件 243
8.7.4 讀取數(shù)據(jù)文件計算拉格朗日插值 245
8.8 習題 247
第9章 常用算法 250
9.1 窮舉法 250
9.2 分治法 251
9.3 遞推法 252
9.4 遞歸法 253
9.5 迭代法 254
9.6 貪心算法 256
9.7 回溯法 258
9.8 動態(tài)規(guī)劃算法 260
9.9 習題 263
第10章 經(jīng)典人工智能算法 266
10.1 概述 266
10.2 K-Means聚類算法 267
10.2.1 K-Means聚類算法簡介 267
10.2.2 K-Means聚類算法原理 267
10.2.3 K-Means聚類算法實例 269
10.3 KNN算法 270
10.3.1 KNN算法簡介 270
10.3.2 KNN算法原理 270
10.3.3 KNN算法實例 272
10.4 樸素貝葉斯分類算法 274
10.4.1 樸素貝葉斯分類算法簡介 274
10.4.2 樸素貝葉斯分類算法原理 274
10.4.3 樸素貝葉斯分類算法實例 276
10.5 單層感知機算法 277
10.5.1 單層感知機算法簡介 277
10.5.2 單層感知機算法原理 278
10.5.3 單層感知機算法實例 281
10.6 遺傳算法 284
10.6.1 遺傳算法簡介 284
10.6.2 遺傳算法原理 284
10.6.3 遺傳算法實例 289
10.7 決策樹算法 290
10.7.1 決策樹算法簡介 290
10.7.2 決策樹算法原理 291
10.7.3 決策樹算法實例 293
10.8 習題 295
參考文獻 300