什麼是複合算術賦值符,求複合算術賦值運算子的詳解

時間 2021-08-13 22:27:37

1樓:板凳也很爽

七個+ - * / % ++ --

加減乘除不用我說了吧

"%"求餘,就是算除法,值是他的餘數

"/"這個是除法,但是有一點注意,兩邊運算元全為整數時,值是取整的。

「++」是自加,比如說i++就是i的值自動加1,規則是i++是鮮賦值再自加,++i是先自加再賦值。舉個例子a=i++這個是先把i的值賦給a,然後i再自加。a=++i是i先自加,然後把自加之後的值賦給a。

「--」是自減,和自加的規則相同,只是值是自動減一。

c語言的運算子可分為以下幾類:

1. 算術運算子:用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。

2. 關係運算子:用於比較運算。包括大於(>)、小於(<)、等於(= =)、大於等於(>=)、小於等於(<=)和不等於(!=)六種。

3. 邏輯運算子:用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

4. 位操作運算子:參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

5. 賦值運算子:用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

6. 條件運算子:這是一個三目運算子,用於條件求值(?:)。

7. 逗號運算子:用於把若干表示式組合成一個表示式(,)。

8. 指標運算子:用於取內容(*)和取地址(&)二種運算。

9. 求位元組數運算子:用於計算資料型別所佔的位元組數(sizeof)。

10. 特殊運算子:有括號(),下標,成員(→,.)等幾種。

2樓:聽不清啊

在賦值運算子當中,有一類c/c++獨有的複合賦值運算子。它們實際上是一種縮寫形式,使得對變數的改變更為簡潔。

total=total+3;

它的意思是本身的值加3,然後在賦值給本身。為了簡化,上面的**也可以寫成:

total+=3;

同樣,x*=y+7 等價於x=x*(y+7) r%=p 等價於r=r%p

複合賦值運算子有下列這些:

符號 功能

+= 加法賦值

-= 減法賦值

*= 乘法賦值

/= 除法賦值

%= 模運算賦值

<<= 左移賦值

>>= 右移賦值

&= 位邏輯與賦值

|= 位邏輯或賦值

^= 位邏輯異或賦值

那麼看了上面的複合賦值運算子,有人就會問,到底total=total+3;與total+=3;有沒有區別?答案是有的,對於a=a+1,表示式a被計算了兩次,對於複合運算子a+=1,表示式a僅計算了一次。一般的來說,這種區別對於程式的執行沒有多大影響,但是當表示式作為函式的返回值時,函式就被呼叫了兩次(以後再說明),而且如果使用普通的賦值

運算子,也會加大程式的開銷,使效率降低。

什麼是複合賦值運算子

3樓:匿名使用者

+=、-=、*=等等,這些都是複合賦值運算子具體作用如下:

a += b等同於a = a + b

其他類同

賦值運算子的意思

4樓:學雅思

賦值運算子的意思是將運算子右側的物件或者數值傳遞給左側的物件或者變數。

基本的賦值運算子是「=」。一開始可能會以為它是「等於」,其實不是的。它實際上意味著把右邊表示式的值賦給左邊的運算數。

賦值運算表示式的值也就是所賦的值。也就是說,「$a = 3」的值是 3。

擴充套件資料賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中一個並不影響另一個。這也適合於在很密集的迴圈中拷貝一些值例如大陣列。

1、= 賦值運算子:變數=表示式如:a=3;將a的值賦為32、/= 除後賦值:

變數/=表示式 如:a/=3;即a=a/33、*= 乘後賦值:變數*=表示式 如:

a*=3;即a=a*34、%= 取餘後賦值:變數%=表示式 如:a%=3;即a=a%35、+= 加後賦值:

變數+=表示式 如:a+=3;即a=a+36:-= 減後賦值:

變數-=表示式 如:a-=3;即a=a-3

5樓:哇哎西西

1、= 賦值運算子:變數=表示式,如:a=3,將a的值賦為3;

2、/= 除後賦值:變數/=表示式,如:a/=3,即a=a/3;

3、*= 乘後賦值:變數*=表示式,如:a*=3,即a=a*3;

4、%= 取模後賦值:變數%=表示式,如:a%=3,即a=a%3;

5、+= 加後賦值:變數+=表示式,如:a+=3,即a=a+3;

6、-= 減後賦值:變數-=表示式,如:a-=3,即a=a-3。

6樓:匿名使用者

a+=b  等同於 a = a+b

a-=b  等同於 a = a-b

a*=b  等同於 a = a*b

a/=b  等同於 a = a/b

a%=b  等同於 a = a%b

a&=b  等同於 a = a&b   &表示按位與a>>=b 等同於 a = a>>b  >>表示右移a<<=b 等同於 a = a<

一開始可能會以為它是「等於」,其實不是的。它的作用是將一個表示式的值賦給一個左值。一個表示式或者是一個左值,或者是一個右值。

所謂左值是指一個能用於賦值運算左邊的表示式。左值必須能夠被修改,不能是常量。我們現在是用變數作左值,以後還可以看到,指標和引用也可以作左值。

複合的賦值運算子,又稱為帶有運算的賦值運算子,也叫賦值縮寫。

例如:i=i+j;可表示為 i+=j;這裡+=是複合賦值運算子。

同樣的共有10種這樣的運算子,它們是:

+= 加賦值;

-= 減賦值;

*= 乘賦值;

/= 除賦值;

%= 求餘賦值;

&= 按位與賦值;

| = 按位或賦值;

^= 按位異或賦值;

<<= 左移位賦值;

>>= 右移位賦值。

7樓:匿名使用者

是將=後的數字與前面進行運算後複製給前面的變數a+=b相當於a=a+b的意思

至於複合位運算子也是一樣的,資料進行與或非後進行賦值!

複合賦值運算子 += 到底怎麼運算的

8樓:聽不清啊

若a+=3+4

它的操作是先計算3+4的值為7,然後將7加到a中。

它在功能上等價於a=a+(3+4),但執行效率比a=a+(3+4)要高。

c語言,複合賦值運算子

9樓:匿名使用者

首先+=和*=優先順序相同,且都是右結合,所以上述語句等價於:

k += ( i *= k);

等價於:

i *= k; // i = i*k

k += i; // k = k+ i;

10樓:戶哲茂

k+=(i*=k)

也就是先

i = i+k;

然後k=k+i;

C語言中賦值運算子的含義,C語言中 amp是什麼意思

閔琛不和美 a b的意思是a a b,a和b位運算相 與 後賦給a。類似的還有 a b,a b.a b,a b,a b,a b,a b,a b,a b,跟上面的意思一樣。你儘管放心我的答案吧,我是照著教科書寫的。 雷霖姬清霽 算術自反賦值運算子有加賦值 雙目中綴 減賦值 雙目中綴 乘賦值 雙目中綴 ...

為什麼C 過載賦值運算子必須要用成員函式而不能用普通或者友元

1 既然是操作符過載,就必然會訪問類的私有成員變數,根據類的封裝性要求,除了友元函式外,其他任何外部操作都是違規的,所以不能用普通函式來過載操作符。2 賦值操作符的過載函式在沒有顯式定義的情況下,編譯程式會自動生成,即使類成員變數包含有指標,也會將指標的值給予複製,所以往往會造成多個例項共享一個儲存...

什麼是賦值法,行測的賦值法是什麼?

賦值法是給代數式 或方程或函式表示式 中的某些字母賦予一定的特殊值,從而達到便於解決問題的目的 實際上賦值法所體現的是從一般到特殊的轉化思想,在高考題中屢見不鮮,特別是在二項式定理中的應用尤為明顯,現以例說明 例1 若 1 3x 9 a0 a1x a2x2 a9x9,則 a0 a1 a2 a9 解 ...