本單元重點回顧
布林型態和邏輯值
bool只有true和false兩個值- 用
boolalpha可以輸出字面意思而不是 1/0
比較運算的結果是布林值
==(比較)和=(指派)是完全不同的- 比較運算子不能連寫;要用
&&或||組合
邏輯運算子的優先順序
!>&&>||- 不確定時,多加括號
if/else if/else 是條件分支的標準做法
- 每個條件互斥時,用
else if避免重複檢查 - 除了「一行講完、沒有
else」的短句,一律加大括號(3.5 的原則),避免 dangling else
- 每個條件互斥時,用
型態轉換有隱性和顯性兩種
- 隱性轉換是 C++ 自動做的,例如
bool和int互轉,或int和long long一起運算時先轉成long long - 顯性轉換(cast)由你自己指定,例如用
(long long)避免整數溢位
- 隱性轉換是 C++ 自動做的,例如
變數範圍由大括號決定
- 內層區塊可以使用外層變數(向外查找)
- 避免變數遮蔽,給變數取有意義的名字
巢狀 if 適合前置條件的檢查
- 但要小心大括號,確保邏輯正確