信息學競賽:C++一本通
張森
商品描述
本書打破了傳統教材中的分章模式,采用按知識點組織課程的形式,講解C++語言的語法知識,力求更適合中小學教師在人工智能時代背景下的教學以及學生學習。
全書包括22課和2個附錄。第1~3課介紹C++基本語法,包括程序格式、數據定義和輸入輸出等;第4~6課講解各種運算符及表達式;第7~12課介紹選擇和循環程序結構;第13~15課講解數組及其應用;第16~18課介紹字符數組與字符串以及文件操作;第19~20課講解函數及其應用;第21課介紹結構體及其應用;第22課介紹類和對象。本書還為讀者提供了兩個附錄(電子版),附錄A介紹C++集成開發環境的相關內容,附錄B為課後練習的參考答案。
本書適合作為信息學競賽的培訓教材,也適合對C++感興趣的中小學生自學。
作者簡介
張森 中國科學院自動化研究所工程師,中國圖象圖形學學會機器視覺專委會、競賽與培訓工委會和科普與教育工委會委員。北京市青少年科技創新大賽評審專家。主要從事生物特征識別技術研究與人工智能科普相關產品研發等工作。先後出版《哇塞機器人》《趣說機器人》《C++案例趣學》等多部著作。獲 2021 年吳文俊人工智能科技進步獎。
目錄大綱
第 1課 夢想啟航:初識C++ / 001
1.1 什麼是程序設計 / 002
1.2 為什麼要學程序設計 / 003
1.3 第 一個C++程序及程序框架 / 004
第 2課 奇妙的計算:程序格式與數據定義 / 008
2.1 程序格式 / 010
2.2 定義數據 / 011
第3課 生日的考驗:輸入與輸出 / 019
3.1 輸入輸出 / 020
3.2 變量輸入——cin / 021
3.3 結果輸出——cout / 022
3.4 其他形式的輸入/輸出 / 024
第4課 簡單的任務:賦值運算和算術運算 / 032
4.1 基本賦值運算(“=”的妙用) / 034
4.2 算術運算七兄弟 / 035
4.3 運算簡寫和混合運算 / 037
第5課 卡路的蘋果:3種程序結構 / 042
5.1 3種程序結構 / 044
5.2 系統函數 / 045
5.3 順序結構程序舉例 / 046
第6課 艱難的任務:程序格式與數據定義 / 059
6.1 關系運算 / 061
6.2 邏輯運算 / 062
6.3 其他常用運算 / 064
6.4 混合運算 / 065
第7課 隊長的計劃:選擇結構 / 070
7.1 選擇結構 / 072
7.2 if-else語句 / 073
7.3 switch-case語句 / 077
第8課 卡路的歷練1:選擇程序舉例 / 082
第9課 路西的美夢:for循環 / 094
9.1 循環結構 / 096
9.2 for循環 / 097
9.3 循環結構的4個要素 / 100
第 10課 卡路的歷練2:for循環舉例 / 105
第 11課 神奇的圓周率:當型循環與直到型循環 / 116
11.1 當型循環 / 119
11.2 直到型循環 / 122
11.3 break和continue / 123
第 12課 卡路的歷練3:循環綜合舉例 / 128
第 13課 美味的石榴:一維數組 / 139
13.1 數組的概念 / 141
13.2 一維數組的定義 / 141
13.3 一維數組的初始化 / 142
13.4 一維數組的使用及舉例 / 143
第 14課 魔術工廠的庫存:多維數組 / 150
14.1 多維數組的定義(以二維數組為例) / 152
14.2 多維數組的初始化 / 153
14.3 多維數組的使用(以二維數組為例) / 155
第 15課 卡路的歷練4:數組舉例 / 161
第 16課 有趣的回文:字符數組與字符串 / 177
16.1 字符數組 / 180
16.2 字符串類型 / 182
第 17課 超級數字反轉:文件操作 / 192
17.1 文件概述 / 194
17.2 創建文件和查看文件 / 195
17.3 源程序中的文件操作 / 199
第 18課 卡路的歷練5: 字符串及文件舉例 / 204
第 19課 逐個擊破的階乘和:函數 / 215
19.1 函數的定義和聲明 / 217
19.2 函數的調用與返回 / 219
19.3 函數的嵌套與遞歸 / 221
19.4 局部變量與全局變量 / 224
第 20課 卡路的歷練6:函數舉例 / 230
第 21課 誰是狀元:結構體 / 248
21.1 結構體類型概述 / 250
21.2 定義結構體類型及變量 / 250
21.3 結構體成員調用 / 252
21.4 自定義數據類型名—typedef / 256
第 22課 超級矩形面積:類和對象 / 262
22.1 自定義數據類型—類 / 263
22.2 構造函數與析構函數 / 265
22.3 類類型的變量—對象 / 265
附錄A Dev-C++的安裝和使用 / 271
A.1 Dev-C++的安裝 / 271
A.2 Dev-C++的使用 / 274