0.6 學習心態提醒
¶❶ 先入境隨俗,暫忘其他語言
如果你已經寫過 Python、JavaScript… 請先把那些語法規則放一邊。不同語言在整數除法、索引習慣、型別系統等處差異很大;硬把舊習慣套到 C/C++ 只會 debug 到天荒地老。
例:Python 的
-3 // 2會得到-2,而 C++ 的-3 / 2結果是-1,差一就可能讓你除錯除到天荒地老。
¶❷ 先求「跑起來」,別急著鑽每個字的原理
初學時你一定會疑惑:「為什麼程式開頭要寫 #include <iostream>?」「為什麼一定要 using namespace std;?」——這些現在先照著範例寫就好,讓程式能跑起來、看到結果最重要。等你寫熟了,這些細節之後自然會懂;一開始就逐字鑽研每個符號的原理,反而會卡住進度、打擊信心。
¶❸ 多源學習,主動查證
本講義只是導覽,不是百科全書。當你搞不清 '\n' 與 endl 有什麼差別時,就搜尋「C++ 換行 endl 與 '\n'」或翻閱 cppreference。至少看兩篇不同作者的說明,比較哪種說法比較合理;仍有疑惑就把整理好的問題帶來和老師討論。
可參考:
- 官方文件:cppreference、cplusplus.com
- 線上課程:YouTube 有很多 C++ 教學
- 與同學討論:比較自己和別人的寫法,互相學習
¶❹ 聚焦競程常見語法
C++ 是個巨大的語言,有上千個細節。但競程只用到其中的 5%。語法班只會教解題與基礎邏輯必要的語法,其他規則就讓有興趣的人以後自己研究。不要被全部細節淹沒——聚焦在這本書教的、比賽常用的部分。
¶❺ 競程是馬拉松,不是百米衝刺
資訊奧林匹亞等競程比賽涵蓋的演算法博大精深,遠超教科書篇幅。按照學校數學課節奏,三年都講不完,更別說實戰。
- 不要期望一天就掌握所有東西
- 重質不重量:比起盲目追求題目數量,更重要的是照順序、慢慢去挑戰對你來說有點難的題目、把每一題真正弄懂,並定期複習。狂刷一堆早就會的簡單題,其實進步很有限
- 有時候一道題想不出來,就先放著,過幾天再看,往往豁然開朗