定 價(jià):¥65.00
作 者: | 邱虹坤,王亞杰,孫玉霞,劉成,王曉巖,郭建新,楊煦 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302641711 | 出版時(shí)間: | 2023-09-01 | 包裝: | 平裝-膠訂 |
開本: | 16開 | 頁數(shù): | 字?jǐn)?shù): |
第1章C語言概述/1
1.1計(jì)算機(jī)語言/1
1.1.1低級語言和高級語言/1
1.1.2面向過程和面向?qū)ο?2
1.2C語言概述/3
1.2.1C語言的發(fā)展/3
1.2.2C語言的特點(diǎn)/3
1.3C語言程序示例/4
1.4C語言程序的開發(fā)過程/8
1.5小結(jié)/13
1.6習(xí)題/13
1.7擴(kuò)展閱讀——初識人工智能/14
第2章算法基礎(chǔ)/16
2.1算法的概念/16
2.2算法的描述方法/17
2.3機(jī)器博弈的概念/19
2.4博弈算法/21
2.4.1搜索算法的分類與特點(diǎn)/21
2.4.2典型博弈算法介紹/21
2.5機(jī)器博弈項(xiàng)目規(guī)則/23
2.5.1井字棋規(guī)則/23
2.5.2亞馬遜棋規(guī)則/23
2.5.3五子棋規(guī)則/24
2.5.4愛恩斯坦棋規(guī)則/24
2.6小結(jié)/252.7習(xí)題/25
2.8擴(kuò)展閱讀——機(jī)器博弈的發(fā)展歷程/25
第3章數(shù)據(jù)類型與表達(dá)式/28
3.1棋局要素/29
3.2常量與變量/30
3.2.1常量/30
3.2.2變量/33
3.2.3變量的定義與聲明/34
3.2.4變量初始化/35
3.3數(shù)據(jù)類型轉(zhuǎn)換/36
3.3.1隱式類型轉(zhuǎn)換/36
3.3.2顯式類型轉(zhuǎn)換/37
3.4運(yùn)算符和表達(dá)式/38
3.4.1算術(shù)運(yùn)算符及其表達(dá)式/38
3.4.2賦值運(yùn)算符及其表達(dá)式/39
3.4.3機(jī)器博弈中的局面評估函數(shù)/40
3.5輸入與輸出/40
3.5.1字符輸入/輸出函數(shù)/40
3.5.2棋局信息輸出/41
3.5.3棋局信息輸入/43
3.6小結(jié)/45
3.7習(xí)題/45
3.8擴(kuò)展閱讀——機(jī)器博弈競賽/46
第4章選擇結(jié)構(gòu)/48
4.1引例/48
4.2關(guān)系運(yùn)算與邏輯運(yùn)算/49
4.2.1關(guān)系運(yùn)算符及其表達(dá)式/49
4.2.2邏輯運(yùn)算符及其表達(dá)式/50
4.2.3井字棋落子坐標(biāo)合法性判斷/51
4.3if語句/52
4.3.1簡單邏輯判斷/52
4.3.2復(fù)雜邏輯判斷/56
4.3.3井字棋步數(shù)和落子顏色判斷/57
4.4switch語句/58
4.4.1switch語句的基本應(yīng)用/59
4.4.2愛恩斯坦棋著法選擇/60
4.5小結(jié)/60
4.6習(xí)題/60
4.7擴(kuò)展閱讀——機(jī)器博弈系統(tǒng)組成/61
第5章循環(huán)結(jié)構(gòu)/63
5.1引例/63
5.23種循環(huán)語句/64
5.2.1while語句/64
5.2.2do…while語句/64
5.2.3for語句/66
5.3計(jì)數(shù)循環(huán)/67
5.3.1計(jì)數(shù)循環(huán)的基本應(yīng)用/67
5.3.2蒙特卡洛方法求π的近似值/69
5.3.3井字棋隨機(jī)落子/70
5.4條件循環(huán)/71
5.4.1條件循環(huán)的基本應(yīng)用/71
5.4.2井字棋落子坐標(biāo)控制/73
5.5循環(huán)嵌套/73
5.5.1循環(huán)嵌套的基本應(yīng)用/73
5.5.2繪制五子棋棋盤/75
5.6控制轉(zhuǎn)移語句/75
5.7綜合程序舉例——五子棋棋盤坐標(biāo)及落子/77
5.8小結(jié)/80
5.9習(xí)題/80
5.10擴(kuò)展閱讀——博弈樹/82
第6章數(shù)組/84
6.1一維數(shù)組/84
6.1.1引例/84
6.1.2一維數(shù)組的基本操作/85
6.1.3一維數(shù)組實(shí)現(xiàn)井字棋棋盤數(shù)字化/93
6.2二維數(shù)組/94
6.2.1二維數(shù)組的基本操作/94
6.2.2二維數(shù)組實(shí)現(xiàn)井字棋人人對弈/98
6.3字符數(shù)組/101
6.3.1字符數(shù)組的定義和引用/1016.3.2字符數(shù)組的輸入/輸出/103
6.3.3常用字符串處理函數(shù)/105
6.4綜合程序舉例——五子棋人人對弈程序/110
6.5小結(jié)/116
6.6習(xí)題/116
6.7擴(kuò)展閱讀——機(jī)器博弈中的蒙特卡洛方法/117
第7章函數(shù)/119
7.1概述/119
7.1.1基本概念與引例/119
7.1.2井字棋博弈程序的函數(shù)/122
7.2函數(shù)的定義/123
7.2.1函數(shù)定義的基本格式/124
7.2.2函數(shù)的參數(shù)/124
7.2.3return語句/128
7.2.4函數(shù)原型的聲明/129
7.2.5實(shí)現(xiàn)博弈程序的一般過程和方法/130
7.3函數(shù)的調(diào)用/132
7.3.1函數(shù)調(diào)用的形式/132
7.3.2函數(shù)調(diào)用的過程/133
7.4遞歸函數(shù)的設(shè)計(jì)與調(diào)用/134
7.4.1簡單遞歸函數(shù)的設(shè)計(jì)與調(diào)用/134
7.4.2井字棋博弈程序中的遞歸函數(shù)/136
7.5變量的作用域和生存期/137
7.5.1變量的作用域/138
7.5.2變量的生存期/139
7.5.3井字棋博弈程序中的全局變量/140
7.6綜合程序舉例/142
7.7小結(jié)/149
7.8習(xí)題/149
7.9擴(kuò)展閱讀——Minimax算法原理及其實(shí)現(xiàn)/150
第8章預(yù)處理與位運(yùn)算/152
8.1預(yù)處理命令/152
8.1.1機(jī)器博弈中常量值的處理/152
8.1.2文件包含——機(jī)器博弈中多文件操作/156
8.1.3條件編譯——防止機(jī)器博弈中重復(fù)包含/159
8.2位運(yùn)算/161
8.3機(jī)器博弈中的Zobrist哈希技術(shù)/166
8.4小結(jié)/168
8.5習(xí)題/168
8.6擴(kuò)展閱讀——AlphaBeta剪枝/169
第9章指針/171
9.1指針的基本概念/171
9.1.1指針在博弈程序中的作用/171
9.1.2變量的地址/172
9.1.3指針變量的概念/174
9.2指針變量的定義與引用/174
9.2.1指針變量的定義與賦值/174
9.2.2指針變量的引用/176
9.2.3指針變量作為函數(shù)參數(shù)/177
9.3指針與數(shù)組/178
9.3.1通過指針訪問數(shù)組元素/178
9.3.2指針變量所支持的運(yùn)算/179
9.3.3數(shù)組名作函數(shù)參數(shù)/180
9.3.4指向數(shù)組的指針/182
9.4指針與字符串/184
9.5指向函數(shù)的指針/186
9.6指針型函數(shù)/187
9.7指針數(shù)組和多級指針/188
9.7.1指針數(shù)組的概念/188
9.7.2多級指針/190
9.7.3main函數(shù)的參數(shù)/190
9.8指針在博弈程序中的應(yīng)用/191
9.8.1用命令行參數(shù)設(shè)置博弈程序的先后手/192
9.8.2構(gòu)建大小可變的棋盤/193
9.9綜合程序舉例/194
9.10小結(jié)/198
9.11習(xí)題/199
9.12擴(kuò)展閱讀——遺傳算法/201
第10章結(jié)構(gòu)體和鏈表/203
10.1結(jié)構(gòu)體的基本操作——記錄競賽相關(guān)信息/203
10.1.1記錄五子棋棋譜數(shù)據(jù)/203
10.1.2結(jié)構(gòu)體的聲明和定義/204
10.1.3結(jié)構(gòu)體的初始化和引用/207
10.1.4類型定義符typedef/211
10.2結(jié)構(gòu)體指針——記錄競賽得分信息/211
10.2.1指向結(jié)構(gòu)體變量的指針/211
10.2.2指向結(jié)構(gòu)體數(shù)組的指針/213
10.3單向鏈表——記錄賽隊(duì)成績/213
10.3.1概念/214
10.3.2動(dòng)態(tài)存儲分配/216
10.3.3鏈表的基本操作/218
10.4綜合程序舉例——比賽積分?jǐn)?shù)據(jù)維護(hù)/225
10.5小結(jié)/227
10.6習(xí)題/227
10.7擴(kuò)展閱讀——人工神經(jīng)網(wǎng)絡(luò)/228
第11章文件/230
11.1文件的概述/230
11.2文件的打開和關(guān)閉/232
11.2.1文件指針/232
11.2.2打開或關(guān)閉文件——棋譜文件的打開或關(guān)閉/233
11.3文件的讀寫函數(shù)/236
11.3.1字符讀寫函數(shù)——存取五子棋棋盤/236
11.3.2字符串讀寫函數(shù)——讀取名言警句/240
11.3.3格式化讀寫函數(shù)——保存落子信息/241
11.3.4塊讀寫函數(shù)——保存賽隊(duì)信息/244
11.4文件的定位函數(shù)/245
11.5綜合程序舉例——五子棋棋譜的讀寫/246
11.6小結(jié)/250
11.7習(xí)題/250
11.8擴(kuò)展閱讀——機(jī)器學(xué)習(xí)/251
第12章淺談面向?qū)ο?253
12.1面向?qū)ο蟾拍?253
12.2面向?qū)ο笤O(shè)計(jì)/254
12.2.1類的基本概念/254
12.2.2類的實(shí)例化/256
12.3Windows窗體設(shè)計(jì)/258
12.4綜合程序舉例/265
12.5小結(jié)/268
12.6習(xí)題/269
12.7擴(kuò)展閱讀——深度學(xué)習(xí)/269
第13章項(xiàng)目實(shí)戰(zhàn)/271
13.1猜數(shù)游戲挑戰(zhàn)賽/271
13.1.1功能與要求/271
13.1.2程序的構(gòu)成/271
13.1.3程序運(yùn)行截圖/272
13.2簡易五子棋/273
13.2.1關(guān)鍵數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)/273
13.2.2系統(tǒng)設(shè)計(jì)/274
13.2.3函數(shù)功能及說明/280
13.2.4數(shù)據(jù)結(jié)構(gòu)和搜索算法的優(yōu)化/281
13.3綜合程序舉例——五子棋的棋盤設(shè)計(jì)(C#)/283
13.4小結(jié)/291
13.5擴(kuò)展閱讀——AlphaGo/292
附錄AC語言運(yùn)算符優(yōu)先級和結(jié)合性表/295
參考文獻(xiàn)/297