1樓:小飛
在賦值運算子當bai中,還有du一類c/c++獨有的復合賦值運zhi算符。它們實dao
際上是一種縮寫形式,使專
得對變數的改屬變更為簡潔。
total=total+3;
乍一看這行**,似乎有問題,這是不可能成立的。其實還是老樣子,'='是賦值不是等於。它的意思是本身的值加3,然後在賦值給本身。為了簡化,上面的**也可以寫成:
total+=3;
復合賦值運算子有下列這些:
符號 功能
+= 加法賦值
-= 減法賦值
*= 乘法賦值
/= 除法賦值
%= 模運算賦值
<<= 左移賦值
>>= 右移賦值
&= 位邏輯與賦值
|= 位邏輯或賦值
^= 位邏輯異或賦值
上面的十個復合賦值運算子中,後面五個我們到以後位運算時再說明。
那麼看了上面的復合賦值運算子,有人就會問,到底total=total+3;與total+=3;有沒有區別?答案是有的,對於a=a+1,表示式a被計算了兩次,對於復合運算子a+=1,表示式a僅計算了一次。一般的來說,這種區別對於程式的執行沒有多大影響,但是當表示式作為函式的返回值時,函式就被呼叫了兩次(以後再說明),而且如果使用普通的賦值運算子,也會加大程式的開銷,使效率降低。
C語言中算數運算子,關係運算子,邏輯運算子的優先級別
1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 運算高於關係高於邏輯高於付值 去看一下教材,譚浩強 第三版 c語言的運算子的優先順序 邏輯運算子 條件運算子 賦值運算子 關係運算子 算術運算子。它們之間的優先順序 1 最高端 出現同級別運算子時的結合方向是從左往右 下面級別沒寫結合順...
c語言邏輯運算子 關係運算子 算術運算子的優先順序是怎麼樣的
邏輯運算子裡的非運算 算術運算子 關係運算子 邏輯運算子裡的與運算 邏輯運算子裡的或運算 優先順序 算數運算 關係運算 邏輯運算。按等級高到低排列 1 非運算。2 算數運算子,例如a b,進行運算。版 3 關係運算子,例如a b,進行比 權較。4 和 也就是與運算和或運算。5 賦值運算子,例如a b...
C語言運算子都有那些,c語言中有哪些運算子,各有什麼功能?
運算子的種類c語言的運算子可分為以下幾類 1.算術運算子 用於各類數內值運算。包括加 減 乘容 除 求餘 或稱模運算,自增 自減 共七種。2.關係運算子 用於比較運算。包括大於 小於 等於 大於等於 小於等於 和不等於 六種。3.邏輯運算子 用於邏輯運算。包括與 或 非 三種。4.位操作運算子 參與...