[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

留言

熱門文章