C語言程式設計——以機器博弈為例(微課版)

C語言程式設計——以機器博弈為例(微課版)

《C語言程式設計——以機器博弈為例(微課版)》是2023年9月1日清華大學出版社出版的圖書,作者:邱虹坤、王亞傑、孫玉霞、劉成、王曉岩、郭建新、楊煦。

基本介紹

  • 中文名:C語言程式設計——以機器博弈為例(微課版)
  • 作者:邱虹坤、王亞傑、孫玉霞、劉成、王曉岩、郭建新、楊煦
  • 出版時間:2023年9月1日
  • 出版社:清華大學出版社
  • ISBN:9787302641711
  • 定價:65 元
  • 印次:1-1
  • 印刷日期:2023.08.29
內容簡介,圖書目錄,

內容簡介

本書以機器博弈為例,系統地介紹了C語言程式設計。本書共13章,主要包括C語言概述、算法基礎、數據類型與表達式,選擇結構、循環結構、數組、函式、預處理與位運算、指針、結構體和鍊表、檔案、面向對象編程基礎等內容,並在每章後附加人工智慧(機器博弈)相關知識的擴展閱讀。 本書可作為高等院校程式設計課程的教材或教輔資料,也可作為機器博弈競賽的入門教材及機器博弈愛好者的參考書。

圖書目錄

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

相關詞條

熱門詞條

聯絡我們