c語言賦值運算子,C語言賦值運算子

2021-03-03 20:40:32 字數 5896 閱讀 4115

1樓:韓和立南婉

a+=a-=a*a

分步:1 a-=a*a ,a*a=9 ,a-=9 ,a=a-9,a=-6

2 a+=-6 a=-6+(-6) a=-12a+=a-=a*=a

1 a*=a a=9

2 a-=9 a=9-9 a=0

3 a+=0 a=0

在c語言中11種賦值運算子的具體含義,用法?

2樓:木子青耶

1.六個變數=表示式的賦值:

=是賦值運算子,/=是除後賦值,*=是乘後賦值,

%=是取模後賦值,+=是加後賦值,-= 是減後賦值,

2.<<=是左移後賦值,變數<<=表示式 左移就是將左邊的數的二進位制各位全部左移若干位,右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當於乘以2的幾次方。

3.>>=是右移後,變數》=表示式,右移運算子是用來將一個數的各二進位制位右移若干位,移動的位數由右運算元指定(右運算元必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0。

對於有符號數,某些機器將對左邊空出的部分用符號位填補(即「算術移位」),而另一些機器則對左邊空出的部分用0填補(即「邏輯移位」);

對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。

如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統,系統移入0或系統移入1。

移入0的稱為「邏輯移位」,即簡單移位;移入1的稱為「算術移位」。

4.&= 按位與後,變數&=表示式,按位與是指:參加運算的兩個資料,按二進位制位進行「與」運算。

如果兩個相應的二進位制位都為1,則該位的結果值為1;否則為0。

5.^= 按位異或後賦值,變數^=表示式,參與運算的兩個量按照對應的位進行異或運算,且

0^0→0, 0^1→1, 1^0→1, 1^1→0

一個數與0異或仍保持不變,如a^0=a

一個數與自己異或結果為0,如a^a=0

11.|=是按位或後賦值,變數|=表示式,參與運算的兩個量按照對應位進行或運算,且0|0→0, 0|1→1, 1|0→1, 1|1→1。

3樓:逍遙子家

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;

7、<<= 左移後賦值: 變數<<=表示式,左移就是將《左邊的數的二進位制各位全部左移若干位,《右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當於乘以2的幾次方;

8、>>= 右移後賦值:變數》=表示式,右移運算子是用來將一個數的各二進位制位右移若干位,移動的位數由右運算元指定(右運算元必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0;

對於有符號數,某些機器將對左邊空出的部分用符號位填補(即「算術移位」),而另一些機器則對左邊空出的部分用0填補(即「邏輯移位」);

9、&= 按位與後賦值:變數&=表示式,按位與是指參加運算的兩個資料,按二進位制位進行「與」運算。如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0;

10、^= 按位異或後賦值:變數^=表示式,參與運算的兩個量按照對應的位進行異或運算,且0^0→0、0^1→1、 1^0→1、 1^1→0。此外,一個數與0異或仍保持不變,即a^0=a,一個數與自己異或結果為0,即a^a=0;

11、|= 按位或後賦值: 變數|=表示式,參與運算的兩個量按照對應位進行或運算,且

0|0→0、0|1→1、1|0→1、1|1→1。

簡單的最常用的運算子是「=」,它的作用是將一個表示式的值賦給一個左值,一個表示式或者是一個左值,或者是一個右值。所謂左值是指一個能用於賦值運算左邊的表示式,左值必須能夠被修改,不能是常量。一般用變數作左值,指標和引用也可以作左值。

在基本賦值運算子之外,還有適合於所有二元算術和字串運算子的"組和運算子",這樣可以在一個表示式中使用它的值並把表示式的結果賦給它,例如: <?php。

c語言中規定 賦值運算子的左邊必須是什麼?

4樓:**ile灬微光丶

賦值運算子的左邊必bai須是變數。

簡單du賦值運zhi算符記為「=」,由「= 」連線的式dao子稱為賦值表專達式。其一

屬般形式為:

變數=表示式

例如:x=a+bw=sin(a)+sin(b)y=i+++--j

賦值表示式的功能是計算表示式的值再賦予左邊的變數。賦值運算子具有右結合性,因此a=b=c=5可理解為a=(b=(c=5))。

在其它高階語言中,賦值構成了一個語句,稱為賦值語句。 而在c中,把「=」定義為運算子,從而組成賦值表示式。 凡是表示式可以出現的地方均可出現賦值表示式。

例如:式子x=(a=5)+(b=8)是合法的。它的意義是把5賦予a,8賦予b,再把a,b相加,和賦予x,故x應等於13。

擴充套件資料

賦值運算子的作用是把右側表示式的值存入左側變數中,c語言中賦值操作是作為一種表示式來處理的。

賦值運算子(=)可以和算術運算子(+,-,*,/,%)及雙目運算子(&,|,^,>>,<<)組合成一個複合賦值運算子。但需要注意的是複合賦值運算子的兩個組成符號之間不能有空白字元。

5樓:fanfeng雙魚

須變數,不能是常量bai

。例如:int i=1;

dui就是一個變數。zhi

賦值操作符(=)用於對變數賦dao值,左邊必須是變數,右邊是可以當成數字使用的內容,賦值操作符的優先順序很低,但是比,優先順序高。

多個賦值操作符從右向左計算。

複合賦值操作符(+=,-=,*=,/=),其優先順序和賦值操作符的優先順序一樣。

swap.c

#include

int main()

6樓:匿名使用者

必須是變數名(如a=2),也可以是 *指標變數名(這相當於給指定的記憶體地址賦值,如*p=2)

c99或者c++還允許引用名寫在賦值號左邊

7樓:千鋒教育

左邊必須是變數,而且是跟所要賦的值型別相同。

8樓:匿名使用者

左邊必須是一個變數,型別可以不同。

兩邊的型別不同也可以賦值,強制轉型比如:

char s[20];

int x=(int)s

9樓:自由的風的我

賦值運算子左邊必須是一個變數,不可以是一個常量,也不可以是一個表示式,如a+b=c是非法的。

10樓:s如詩如夢

必須是變數

因為要賦值給左邊,所以左邊必須是一個可以儲存東西的單元

這是規定的,必須是變數

11樓:誰也整不了你

只有可修改的變數或者 」運算結果是可修改的變數的表示式「才可以作為左值。

12樓:陳士晟

左邊不能是一個確定的數,比如「a=3「不能寫成「3=a「

13樓:剛慢打老虎

賦值運算子左側只能是變數,而不能是

常量或者表示式。右側可以是表示式包括賦回值表示式答。規定最左邊變數所得到的新值,就是整個賦值表示式的值,

如果賦值運算子的兩側型別不一致,在賦值前系統將自動先把右邊的表示式所求得的數值按賦值號左側變數的型別進行轉換,

就這麼多了,**不完全待修改還請指正。

14樓:匿名使用者

答:變數。

因為只有變數才有空間來存放運算的結果。表示式是不行的。

15樓:匿名使用者

賦值運算子的左側必須是變數

16樓:匿名使用者

以上答抄案都不對,請

bai參考權威:

actually, the left side must refer to a storage location. the ******st way is to use the name of a variable, but, as you will see later, a 「dupointer」 can be used to point

to a location.

以上內容來自zhi

《c primer plus (第六版)》dao

17樓:程式設計大亨

變數.能夠改變的值,不是在常量區的值.

18樓:匿名使用者

變數int a=2;

19樓:匿名使用者

運算子左邊必須是變數

20樓:hjc_臥龍待天

可以被賦值的變數名稱

賦值運算子:= += -= *= /=

21樓:尚學堂科技****

關於上面的運算子作如下解釋:

public class test}

c語言,位符合賦值運算子, <<=,>>=,&=,^=,!=, 分別什麼含義啊?

22樓:

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

7.<<= 左移後賦值 變數<<=表示式 左移就是將《左邊的數的二進位制各位全部左移若干位,《右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當於乘以2的幾次方

8.>>= 右移後賦值 變數》=表示式 右移運算子是用來將一個數的各二進位制位右移若干位,移動的位數由右運算元指定(右運算元必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0。對於有符號數,某些機器將對左邊空出的部分用符號位填補(即「算術移位」),而另一些機器則對左邊空出的部分用0填補(即「邏輯移位」)。

注意:對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統。

有的系統移入0,有的

系統移入1。移入0的稱為「邏輯移位」,即簡單移位;移入1的稱為「算術移位」。

9.&= 按位與後賦值 變數&=表示式 按位與是指:參加運算的兩個資料,按二進位制位進行「與」運算。

如果兩個相應的二進位制位都為1,則該位的結果值為1;否則為0。這裡的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其實與邏輯上「與」的運算規則一致。

邏輯上的「與」,要求運算數全真,結果才為真。若,a=true,b=true,則a∩b=true

10. ^= 按位異或後賦值 變數^=表示式 參與運算的兩個量按照對應的位進行異或運算,且

0^0→0, 0^1→1, 1^0→1, 1^1→0

此外,一個數與0異或仍保持不變,即a^0=a

一個數與自己異或結果為0,即a^a=0

11.|= 按位或後賦值 變數|=表示式 參與運算的兩個量按照對應位進行或運算,且

0|0→0, 0|1→1, 1|0→1, 1|1→1

這些位運算都是與二進位制碼有關的,所以多弄弄也就會了

C 複合賦值運算子問題,c語言,複合賦值運算子

執行順序 1 a 1 2 2.a被替換為31 31 1 23.計算後得到 31 2 15 小數被忽略 4.a a 1 31 1 32最後a 32,表示式a 1 2 15 a x等價與a a x 所以a a a a就等價於a a a a a a x等價與a a x 所以,又有a a a a a 等價於...

c語言中規定賦值運算子的左邊必須是什麼

賦值運算子的左邊必bai須是變數。簡單du賦值運zhi算符記為 由 連線的式dao子稱為賦值表專達式。其一 屬般形式為 變數 表示式 例如 x a bw sin a sin b y i j 賦值表示式的功能是計算表示式的值再賦予左邊的變數。賦值運算子具有右結合性,因此a b c 5可理解為a b c...

c語言運算子 和各有什麼功能,C語言運算子 和 各有什麼功能?

表示按位或,規則是一個為1或二個都為1,結果為1,表示按位異或,規則是相同為0,相異為1。首先把兩個運算元化成二進位制,然後按位進位制操作 5 35的二進位制00000101 3的二進位制00000011 00000111 化為十進位制是7 5 35的二進位制00000101 3的二進位制00000...