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。至少看兩篇不同作者的說明,比較哪種說法比較合理;仍有疑惑就把整理好的問題帶來和老師討論。

可參考:

  • 官方文件cppreferencecplusplus.com
  • 線上課程:YouTube 有很多 C++ 教學
  • 與同學討論:比較自己和別人的寫法,互相學習

❹ 聚焦競程常見語法

C++ 是個巨大的語言,有上千個細節。但競程只用到其中的 5%。語法班只會教解題與基礎邏輯必要的語法,其他規則就讓有興趣的人以後自己研究。不要被全部細節淹沒——聚焦在這本書教的、比賽常用的部分

❺ 競程是馬拉松,不是百米衝刺

資訊奧林匹亞等競程比賽涵蓋的演算法博大精深,遠超教科書篇幅。按照學校數學課節奏,三年都講不完,更別說實戰。

  • 不要期望一天就掌握所有東西
  • 重質不重量:比起盲目追求題目數量,更重要的是照順序、慢慢去挑戰對你來說有點難的題目、把每一題真正弄懂,並定期複習。狂刷一堆早就會的簡單題,其實進步很有限
  • 有時候一道題想不出來,就先放著,過幾天再看,往往豁然開朗