CCF GESP直通車:C++二級三級精講精練

沈根成

  • 出版商: 清華大學
  • 出版日期: 2026-03-01
  • 售價: $534
  • 語言: 簡體中文
  • ISBN: 7302710643
  • ISBN-13: 9787302710646
  • 相關分類: C++ 程式語言
  • 下單後立即進貨 (約4週~6週)

  • CCF GESP直通車:C++二級三級精講精練-preview-1
  • CCF GESP直通車:C++二級三級精講精練-preview-2
  • CCF GESP直通車:C++二級三級精講精練-preview-3
CCF GESP直通車:C++二級三級精講精練-preview-1

商品描述

"本書針對GESP 二級和三級的 C++ 考試大綱量身定制。全書知識講解深入淺出,例題豐富,還有一些延伸閱讀,旨在增加趣味性和擴展知識面。 全書分為六部分:第一部分為編程輔助工具,介紹計算機網絡、流程圖、數據類型轉換、ASCII編碼及數學函數;第二部分為數組與嵌套,介紹一維數組、多層分支、多層循環,以及它們在字母矩陣、數字三角形方面的應用;第三部分為遞推與枚舉,介紹遞推、疊代和枚舉的解題方法,並舉例說明如何應用;第四部分為進制轉換、數據編碼和位運算,舉例說明位運算在加密方面的應用;第五部分為字符串,分為 C 語言風格的字符串和 C++ 風格的字符串;第六部分為集合、字典和其他,介紹集合、字典及算法的概念,同時也初步介紹函數的概念。 本書的適讀人群為自學編程的學生,以及從事中小學生編程教育的老師,特別適合準備參加GESP 考試的學生。 "

作者簡介

沈根成,1995年畢業於復旦大學數學系,獲得復旦大學優秀畢業生稱號,後面試直升至東華大學攻讀碩士學位。1998年碩士畢業後,在軟件行業工作20余年,在多家跨國公司歷任開發工程師、技術經理、部門經理等職位,精通 C、C++、Java 等編程語言。2024年初,嘗試青少年編程培訓工作,對中小學生的學習特點有充分的了解,對編程培訓也有自己獨特的見解。

目錄大綱

目錄

CONTENTS

· 二級 ·

第一部分 編程輔助工具

第1章 計算機網絡與存儲 / 4

1.1 計算機網絡 / 4

1.1.1 資源共享 / 4

1.1.2 信息傳遞 / 5

1.1.3 拓撲結構 / 5

1.1.4 網絡分類 / 7

1.1.5 互聯網 / 7

1.1.6 因特網協議 / 8

1.2 計算機地址 / 8

1.2.1 IP地址 / 9

1.2.2 域名地址 / 10

1.3 數據的存儲 / 11

1.3.1 RAM、ROM、Cache / 11

1.3.2 存儲介質 / 12

1.3.3 存儲單位 / 13

  課後作業 / 13

 延伸閱讀:128位的二進制數到底有多少個 / 13

第2章 程序設計語言與流程圖 / 15

2.1 程序設計語言 / 15

2.1.1 機器語言 / 16

2.1.2 匯編語言 / 16

2.1.3 高級語言 / 16

2.1.4 C++語言的特性 / 17

2.1.5 代碼質量 / 17

2.2 流程圖 / 18

2.2.1 順序結構的流程圖 / 19

2.2.2 分支結構的流程圖 / 19

2.2.3 循環結構的流程圖 / 20

  課後作業 / 22

第3章 數據類型轉換 / 24

3.1 為什麼需要數據類型轉換 / 24

3.2 強制類型轉換 / 25

3.3 隱式類型轉換 / 25

3.3.1 賦值時的隱式類型轉換 / 25

3.3.2 表達式中的隱式類型轉換 / 26

3.3.3 兩種隱式類型轉換同時發生 / 28

3.4 數值越界 / 28

3.5 除數為0 / 29

  課後作業 / 30

 延伸閱讀:數值越界的本質 / 31

第4章 字符編碼與ASCII編碼系統 / 33

4.1 字符編碼的概念 / 33

4.2 ASCII編碼 / 33

4.2.1 ASCII編碼的字符集 / 34

4.2.2 ASCII編碼字符與數字的對應關系 / 34

4.2.3 ASCII編碼表的規律 / 38

4.2.4 ASCII編碼的應用 / 39

4.3 其他編碼 / 41

4.3.1 定長編碼 / 42

4.3.2 不定長編碼 / 42

4.4 實現你自己的編碼 / 43

  課後作業 / 43

第5章 初級數學函數 / 45

5.1 科學記數法 / 45

5.2 數學庫函數 / 46

5.2.1 絕對值函數 / 46

5.2.2 取整函數 / 46

5.2.3 冪函數 / 48

5.2.4 平方根函數 / 48

5.3 隨機數 / 50

5.3.1 隨機數函數 / 50

5.3.2 隨機數種子函數 / 51

5.4 最值函數 / 52

  課後作業 / 53

 延伸閱讀:“宏”的本質 / 54

第6章 代碼的時間效率 / 55

6.1 時間效率 / 55

6.2 素數判斷的幾種解法比較 / 55

6.3 完全平方數判斷的幾種解法比較 / 57

  課後作業 / 60

編程輔助工具總結 / 61

 知識點總結 / 61

  課後作業 / 65

第二部分 數組與嵌套 / 67

第7章 一維數組 / 68

7.1 什麼叫數組 / 68

7.2 定義數組 / 68

7.3 數組的初始化 / 69

7.4 數組所占的空間 / 70

7.5 訪問數組元素 / 70

7.5.1 為什麼下標從0開始 / 71

7.5.2 可以直接對數組賦值嗎 / 71

7.6 遍歷數組 / 72

7.7 數組的應用 / 73

  課後作業 / 74

第8章 多層分支 / 76

8.1 switch的妙用 / 76

8.2 多層分支的概念 / 78

8.3 給整數分類 / 79

8.4 數字重排 / 80

8.5 連環進位 / 82

  課後作業 / 84

第9章 多層循環 / 86

9.1 雷劈數判斷 / 86

9.2 自冪數判斷 / 88

9.3 自守數判斷 / 90

  課後作業 / 92

第10章 字形矩陣 / 94

10.1 輸出字母矩陣 / 94

10.2 輸出字母三角形 / 97

10.3 輸出數字等腰三角形 / 99

10.4 輸出漢字圖案 / 101

  課後作業 / 102

數組與嵌套總結 / 105

 知識點總結 / 105

  課後作業 / 106

第三部分 遞推與枚舉 / 109

第11章 遞推 / 110

11.1 什麼叫遞推 / 110

11.2 遞推問題的解答方法 / 110

11.3 用遞推法求解斐波那契數列 / 115

11.4 用遞推法求階乘 / 118

11.5 遞推法和數組法的區別 / 119

  課後作業 / 120

 延伸閱讀:斐波那契數列和黃金分割率的關系 / 121

第12章 遞推應用 / 123

12.1 爬樓梯問題 / 123

12.2 整數構建 / 124

12.3 回文數判斷 / 127

12.4 位增數判斷 / 128

  課後作業 / 129

第13章 疊代 / 131

13.1 疊代問題的解答方法 / 131

13.2 黑洞數495 / 131

13.3 角谷猜想 / 133

13.4 求平方根 / 134

  課後作業 / 135

第14章 枚舉 / 136

14.1 用枚舉解題的方法 / 136

14.2 韓信點兵 / 136

14.3 完全平方數 / 138

14.4 百雞問題 / 139

  課後作業 / 142

遞推與枚舉總結 / 144

 知識點總結 / 144

  課後作業 / 146

二級綜合練習 / 149

· 三級 ·

第四部分 進制轉換、數據編碼和位運算 / 161

第15章 N進制數與十進制數的轉換 / 162

15.1 二進制數轉十進制數 / 162

15.1.1 整數部分 / 162

15.1.2 小數部分 / 163

15.2 八進制數轉十進制數 / 164

15.3 十六進制數轉十進制數 / 164

15.4 十進制數轉二進制數 / 165

15.4.1 整數部分 / 165

15.4.2 小數部分 / 165

15.5 浮點數的不精確性 / 166

15.6 十進制數轉八進制數和十六進制數 / 167

15.7 任意進制數與十進制數的互轉 / 167

  課後作業 / 167

第16章 N進制數之間互轉 / 169

16.1 十六進制數轉二進制數 / 169

16.2 二進制數轉十六進制數 / 169

16.3 八進制與二進制互轉 / 170

16.4 八進制與十六進制互轉 / 170

16.5 不同進制的數的比較 / 170

16.6 用代碼進行進制轉換 / 171

16.7 用進制控制符進行進制轉換 / 175

  課後作業 / 175

第17章 數據編碼 / 177

17.1 數據編碼的概念 / 177

17.2 原碼 / 177

17.3 反碼 / 179

17.4 補碼 / 179

17.4.1 從十進制數求補碼的步驟 / 180

17.4.2 從補碼求十進制數的步驟 / 181

17.4.3 二進制常數 / 181

17.5 機器數 / 182

17.6 無符號數 / 182

17.6.1 無符號數的取值範圍 / 182

17.6.2 無符號數的二進制表示 / 182

17.6.3 無符號數與有符號數的轉換 / 183

  課後作業 / 184

 延伸閱讀:補碼的本質 / 184

第18章 位運算 / 187

18.1 位運算的概念 / 187

18.2 4個“定位”運算符 / 187

18.2.1 “按位與”運算& / 187

18.2.2 “按位或”運算| / 188

18.2.3 “異或”運算^ / 189

18.2.4 “按位非”運算~ / 189

18.2.5 復合形式 / 190

18.3 4個“定位”運算符的特性 / 190

18.3.1 數值的特性 / 190

18.3.2 交換性和結合性 / 191

18.3.3 優先級 / 192

18.4 位運算的應用 / 192

18.4.1 “按位與”運算的應用 / 192

18.4.2 “異或”運算的應用 / 194

18.4.3 “按位非”運算的應用 / 194

  課後作業 / 196

第19章 移位運算 / 199

19.1 左移運算<< / 199

19.2 右移運算>> / 200

19.3 復合形式 / 201

19.4 移位運算符的優先級 / 201

19.5 利用位運算實現數據加密 / 203

19.5.1 使用“異或”運算加密 / 203

19.5.2 使用移位運算加密 / 205

  課後作業 / 207

進制轉換、數據編碼和位運算總結 / 209

 知識點總結 / 209

  課後作業 / 213

第五部分 字符串 / 215

第20章 再談一維數組 / 216

20.1 數組的長度 / 216

20.2 數組的初始化 / 216

20.3 數組越界訪問 / 217

20.4 動態獲取數組的長度 / 220

20.5 求數組元素的最值 / 220

20.6 數組應用 / 221

20.6.1 平衡序列 / 221

20.6.2 小格的儲蓄 / 223

  課後作業 / 224

 延伸閱讀:怎麼求復合條件相反的條件 / 226

第21章 C語言風格的字符串 / 227

21.1 C語言風格的字符串的表示 / 227

21.2 C 語言風格的字符串的長度 / 228

21.3 C語言風格的字符串的輸入 / 230

21.4 C語言風格的字符串函數 / 231

21.4.1 字符串比較函數 / 232

21.4.2 字符串復制函數 / 233

21.4.3 字符串轉整數 / 233

21.4.4 大小寫轉換函數 / 234

  課後作業 / 234

第22章 C++風格的字符串 / 236

22.1 定義C++風格的字符串 / 236

22.2 C++風格的字符串的輸入 / 236

22.3 string的函數 / 237

22.3.1 長度函數 / 237

22.3.2 字符串比較 / 237

22.3.3 字符串復制 / 238

22.3.4 字符串拼接 / 238

22.3.5 字符串查找 / 238

22.3.6 字符串替換 / 239

22.3.7 字符串插入 / 239

22.3.8 取子字符串 / 239

22.3.9 用下標訪問字符 / 240

22.4 兩種字符串混合使用 / 241

  課後作業 / 242

 延伸閱讀:面向對象的編程語言的特性 / 244

第23章 字符串應用 / 245

23.1 字母求和 / 245

23.2 字符串轉整數 / 246

23.3 進制判斷 / 247

23.4 打印數字 / 249

23.5 回文拼接 / 251

23.6 拆分字符串 / 253

  課後作業 / 256

字符串總結 / 258

 知識點總結 / 258

  課後作業 / 259

第六部分 集合、字典和其他 / 263

第24章 集合 / 264

24.1 什麼是集合 / 264

24.2 定義set變量 / 266

24.3 使用set / 266

24.3.1 插入元素 / 266

24.3.2 求元素的個數 / 267

24.3.3 其他函數 / 267

24.3.4 遍歷 set / 269

  課後作業 / 269

第25章 字典 / 272

25.1 什麼是字典 / 272

25.2 定義map變量 / 273

25.3 使用map / 274

25.3.1 添加鍵值對 / 274

25.3.2 讀取鍵值 / 274

25.3.3 判斷鍵是否存在 / 275

25.3.4 其他函數 / 276

25.3.5 遍歷 map / 278

  課後作業 / 279

第26章 倒推 / 282

26.1 倒推問題的解答方法 / 282

26.2 猴子摘桃子 / 283

26.3 小貓分魚 / 284

26.4 小格存錢 / 287

  課後作業 / 288

第27章 算法 / 290

27.1 算法的概念和特征 / 290

27.2 算法的描述 / 291

27.3 算法的優劣 / 292

27.3.1 空間復雜度 / 292

27.3.2 時間復雜度 / 293

27.4 入門算法 / 294

27.4.1 枚舉法 / 294

27.4.2 模擬法 / 294

27.5 基礎算法之遞推法 / 295

27.6 解答編程題的流程 / 295

  課後作業 / 299

第28章 函數初探 / 300

28.1 函數的概念 / 300

28.1.1 函數的組成部分 / 300

28.1.2 函數的調用 / 301

28.1.3 參數傳遞 / 302

28.2 定義自己的函數 / 302

28.2.1 閏年判斷 / 303

28.2.2 求三角形的面積 / 304

28.3 實際應用 / 304

28.3.1 單位轉換 / 304

28.3.2 密碼合規檢測 / 307

  課後作業 / 309

 延伸閱讀:頭文件的本質 / 310

集合、字典和其他總結 / 312

 知識點總結 / 312

  課後作業 / 314

三級綜合練習 / 317