1樓:象長順居念
+=指的是
x=x+?*=
指的是x=x*?
c語言的執行順序是從右到左
x+=(
x*=2
)先計算右邊的
x*=2再用
結果帶入到x+=()中.
2樓:廉秀雲班環
x+=a等價於x=x+a
賦值運算子當中,有一類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僅計算了一次。一般的來說,這種區別對於程式的執行沒有多大影響,但是當表示式作為函式的返回值時,函式就被呼叫了兩次(以後再說明),而且如果使用普通的賦值
運算子,也會加大程式的開銷,使效率降低。
c語言中,x*=2是什麼意思?
3樓:匿名使用者
「*=」是複合賦值來運算子
自。x*=y
等價於x = (x) * (y)
上述表示式等價於
x = x * 2
樣例:int x = 2, y = 1;
x *= y - 1;
printf("%d", x);
輸出:0
因為x *= y - 1等價於x = x * (y - 1)擴充套件資料如果一個變數宣告時在前面使用 * 號,表明這是個指標型變數。換句話說,該變數儲存一個地址,而 *(此處特指單目運算子 * ,下同。c語言中另有 雙目運算子 *) 則是取內容操作符,意思是取這個記憶體地址裡儲存的內容。
指標是 c 語言區別於其他同時代高階語言的主要特徵之一。
指標不僅可以是變數的地址,還可以是陣列、陣列元素、函式的地址。通過指標作為形式引數可以在函式的呼叫過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
指標是一把雙刃劍,許多操作可以通過指標自然的表達,但是不正確的或者過分的使用指標又會給程式帶來大量潛在的錯誤。
4樓:邰長青吳釵
--x是前置自減,還有
**x++後置自減。--x把x-1然後返bai回x,也就是說返回的是一du個變數,是個zhi左值,可以賦值,--x=2的效果就dao是x加1後又等於了2,加1白加了。x--返回x的值,然後x加1,這個返回的是個右值,不能放在=的左邊,也就是說x--=2是錯的。
5樓:匿名使用者
說一下原理:bai
x=x*2;
編譯器在語法翻du譯的時候最終zhi會用逆dao波蘭式來表示(其他的也回
可以的)
也就是翻答譯成x*=2的形式。
所以我們書寫的時候把x=x*2寫成x*=2,可以提高程式的效率。
大三的時候編譯原理有講的。
祝你好運!
c語言中x*=3+2 什麼意思?
6樓:匿名使用者
c語言運算子優先順序先算3+2=5再算x*=5,這個的意思就是x=x*5懂了吧?
7樓:匿名使用者
就是把3+2的值放到指標型變數x中
8樓:匿名使用者
x * = 3 + 2 等價於x = x * (3 + 2)就是賦du值運算子前面的變zhi量乘以後面的變數後再賦值給dao前面的變數。
專相似的屬運算子還有
+=;前面的變數加上後面的變數後再賦值給前面的變數-=;前面的變數減去後面的變數後再賦值給前面的變數/=;前面的變數除以後面的變數後再賦值給前面的變數
9樓:天堂丨禁區
先加再乘後賦值,符號優先順序的問題。所以是x = x * (3 + 2);
10樓:
x * = 3 + 2 等價於
x = x * (3 + 2)
11樓:匿名使用者
x先乘以3,再加上2
c語言x+=x*=2什麼意思
12樓:追憶似水__流年
+= 指的是 x=x+?
* = 指的是x=x*?
c語言的執行順序是從右到左
x+= ( x*=2 )
先計算右邊的 x*=2 再 用 結果帶入到x+=()中.
13樓:匿名使用者
x = x + (x*2)
提醒你一句,這東西應該是考試弄得,再實際程式設計中不要這麼寫,可讀性很差
c語言中 x+=y/2是什麼意思啊
14樓:匿名使用者
x+=y/2 就相當於 x=x+(y/2)+=是c中提供的一個自變運算子,其左右兩邊的資料分別叫左運算元和右運算元,右運算元可以是表示式,也可以是一個常量,不需要加括號,系統會自動按優先順序進行先後運算。如:
x += a+b*c 就相當於 x=x+(a+b*c)相類似的運算子還有很多,如:
-= *= /= %= >>= <<= 等
15樓:秋簫逐荷
x+=y/2就相當於樓主所說的 x=x+y/2 x*= x-= x/= 都是一樣的
16樓:小北在北國
運算子都是有優先順序的。。。正確的演算法就是你的第一種。。。
17樓:匿名使用者
你去看看符號的優先順序 x+=y/2 ==> x = x +y/2
c語言 x+=x-=x*x 是啥意思
18樓:菜鳥學c加加
首先,是執行x*x;
接著x = x - x*x,然後得到x的值,
最後x = x + x;
19樓:防禦
等號從右側開始算!
x-=就是x=x-;
x+=同理
c語言,,!x與x!分別表示什麼意思
20樓:四舍**入
c語言中只有!x沒有x!,!x的意
思就是x!=0。
!x的意思就是x!=0;當版x=0時執行while迴圈;權!即取反,當x!=0時不執行;若x=0,則!x非零;
若x不等於零,則!x=0;一般用if(!x)來做判斷式。
21樓:偷個貓
c語言,
!x 是 對x 的「邏輯非」運算。
當 x 不等於0 時,x 為真,!x 就為 假。
當 x 等於0 時,x 為假,!x 就為 真。
c語言裡 沒有內 x! , 可以 有類似 x!=0 形式。 != 是 「不等於」。
22樓:匿名使用者
c語言中只有!
baix沒有x!,!x的意du思就zhi
是x!=0。
!x的意思就是x!=0;當x=0時執dao行while迴圈回;
!即取反答,當x!=0時不執行;若x=0,則!x非零;
若x不等於零,則!x=0;一般用if(!x)來做判斷式。
擴充套件資料
c語言賦值運算
1、賦值運算子:a=5;
a=b=0;
第一個賦值語句把5賦給變數a;第二個賦值語句的意思是把0同時賦值給兩個變數。這是因為賦值語句是從右向左運算的,也就是說從右端開始計算,先b=0,然後a=b。
2、複合賦值運算子:a=1;a+=3;
上面第二個賦值語句等價於a=a+3;即a=4。
3、算術運算子:area=height*width;num=num1+num2/num3-num4;
第一個賦值語句height和width相乘結果賦給變數area;第二個賦值語句先完成num2與num3的整除運算,然後與num1相加,再減去num4,結果賦給num。運算子運算順序先算乘除再算加減。單目正和單目負最先運算。
23樓:折木靜風
x!為的階乘,如3!=3*2*1
!x意思是「非x」非運算子'!'是c語言邏輯運算子,若x=0,則!x非零若x不等於零,則!x=0一般用if(!x)來做判斷式
24樓:匿名使用者
只有!x沒得x!,!x是對x做非運算,如果x為真,!x則為假,反之成立
在C語言中是什麼意思,C語言中 c 是什麼意思?
勢如雲 這是c語言的邏輯運算子 異或 這個 講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷...
C語言中 0x11是什麼意思,C語言中 0x11是什麼意思
小夏在深圳 0x11是十六進位制的11的意思。11前面的0是忽略的。十六進位制的一位就是二進位制的四位。在c語言中,十六進位制的數字常常以 0x 或者 0x 字首開頭,c語言中的八進位制是以字首 0 開頭的,例如04524 就表示一個八進位制數字,它等於十進位制的 2388。在上世紀 60 年代,流...
C語言中 是什麼意思,C語言中 和 是什麼意思
藝蝸楓 c語言中 是複合賦值運算子。複合賦值運算子就是在簡單賦值符 之前加上其它運算子構成,例如 即 a 1 等價於a a 1。的意思就是把左邊的第一個符號移到右邊,其實就是b b c的意思。直接把b c的b 移到右邊,將b的值取出再取出c的值,相加然後賦給b,儲存在b開闢的記憶體空間中,類似的還有...