第一階段回顧
04.21 鄭余玄
小提醒
- 下週是階段考,不能來的要先請假
- 已經公佈去年練習題
第一階段回顧
- 資料存取 - 變數宣告與使用、陣列
- 邏輯運算 - if-else
- 流程控制 - while, for-loop, break, continue
- 字串 - cstring
- 函數 - 呼叫函數、撰寫函數、參數傳遞
- 遞迴
程式進入點 - main
資料相關
談談變數
- 變數,可以想像是一個有大小限制的箱子
- 型態,則是箱子的標籤
- 命名,就是如何稱呼這個箱子
宣告變數
談談 cout
- cout,重點是 out,是 output 的意思
- 因為是 out,所以開口要向外,記得是
cout <<
- 它會把放在 << 後的東西塞到 stdout 中
std::cout
std::cout
using namespace std
using namespace std
談談 cin
- cin,重點是 in,是 input 的意思
- 因為是 in,所以開口要向內,記得是
cin >>
- 它會從 stdin(鍵盤輸入)抓東西塞到 >> 後的東西
std::cin
邏輯運算相關
談談判斷式
- 一個
=
叫做 assign,絕對不是拿來判斷的
==
這個才叫等於,請認明兩個等號
!=
這個是不等於,前面是半形驚嘆號
10 >= b >= 0
會 GG,多可條件要用 &&
||
串起來
比較條件
流程控制相關
談談 while
- while(條件式發生時) { 做事 }
- do { 做事 } while(條件式發生時);
- 條件如果寫爛,BOOM!!無窮迴圈
使用方法
談談 for
- for (初始化; 條件判斷; 迭代步驟) { 做事 }
- 忘記初始化。BOOM!
- 條件判斷錯誤。BOOM!!
- 迭代錯誤。BOOM!!!
- 要寫 for (;;) {} 一定要知道在做什麼
使用方法
小心變數
談談 break
- 跳出現在的 loop
- 不只不做 break 後的東西,更是離開 loop scope
- 但是一次只能跳出一層
談談 continue
- 不做 continue 後的是,回到 loop 開頭
- 沒有離開 loop scope
談談 cstring
- char str[1000];
- 寫題目的時候,大小請開好開滿…
- 不要忘記字串最後由 \0 結尾
cstring 相關函數
- 比較請用
strcmp
- 串接請用
strcat
- 複製請用
strcpy
談談函數
談談 OJ

談談 OJ
- 注意行內空格
- 注意行尾是否換行(例如最後一筆)
- 輸入結束條件
- 只通過範例輸入輸出,但你的程式可能不一定是正確
常見錯誤訊息
免則聲明(?:以下列出是可能解決方向,仍有很高可能是其他錯誤方式
- Wrong Answer:答案錯了,也可能是格式有錯
- Compile Error:編譯錯誤,可能是語法錯誤
常見錯誤訊息
- Time Limit Exceeded:程式跑太久
- 進入無窮迴圈?有結束等待輸入?
- 要更有效率的寫法?
- Runtime Error:程式跑一跑壞了
GLHF