[C++] 運算子
運算子 ( Operators )
• 用來操作變數,變數類型不同操作會不同。• 數字 + 數字 vs 字串 + 字串 vs 數字 + 字串
• 運算子三要素:功能、優先次序和順序關聯性
• 功能 (Function) : What does it do? What data type(s) does it operate on? What is the resulting type?
• 優先次序 ( Precedence ) : In which order are operators combined?
• Example :
• "a * b + c * d" is the same as "(a * b) + (c * d)"
• 先乘除、後加減 ( 加減法的 precedence < 乘除的 precedence )
• 順序關聯性 ( Associativity ) : In which order are operators of the same precedence combined?
• Example :
"a - b - c" is the same as "(a - b) - c"
因為加/減法是從左到右 ( associate left - to - right )
• 變數與運算子組成表達式 ( expressions ) 與陳述式 ( statements )
表達式 ( Expression )
• 定義 : 變數、常數、運算子與函式呼叫的任意組合• 本身有 type 也有 value
陳述式 ( Statement )
• 定義 : 一個完整的執行單元• Expression + 分號
• 簡單陳述式 ( Simple statement ) : 分號 ( semicolon ) 結尾
• y = y + 1 ;
• z = x * y + 5 ; // NOT z = xy + 5 ;
• y++ ; // same as y = y + 1 ;
• y += 1 ; // same as y = y + 1 ;
• x = abs (y) ; // 把回傳值存在變數 x 裡
• abs (y) ; // 不把回傳值存起來
• ; // null statement
• 通常一行一個 simple statement
留言
張貼留言