1樓:匿名使用者
首先要知道+=運算
來符,是怎麼算的,比如源x+=y,等價為x=x+y;
然後要知道+=的結合性是從右向左;
假如:int x = 1;
int y = 2;
int z = 3;
x+=y+=z執行分為以下幾步:
1、y+=z結果為y=y+z,即y=5
2、x+=y+=z就變為了x+=5,可算出x的值為1+5,即為6
問下,c語言裡x+=y+=z是什麼意思啊?
2樓:丨嗚呼哀哉
1: x+=y+=z
y = y+z = 2; x = y+x = 2 + 3 = 5;
printf: x < y (5<2),錯誤,所以結果是0;
2:z=y=x++*3
y = x*3 = 5*3;x++; x = 6; z=y=15;
printf: y>=z,(15>=15),正確,結果為1;
x = 6;結果為6
所以輸出1,6
3:x = y > z >= 5
首先要知道運算子 < <= > >= 是左結合性的而= *= /= %= += -= <<= >>= &= |= ^= 是右的
z = 15; y = 15; x = 6;
y > z , 錯誤,結果為0
0 >= 5, 錯誤,結果為0
x = 0
所以輸出0,15,15
3樓:匿名使用者
x+=y+=z相當於這個語句:y=y+z,x=x+y;
我寫下執行過程,樓主看看就應該明白了。
x+=y+=z;那麼y=y+z,所以y==2;x=x+y,所以x==5。
執行printf();由於x=z為真,所以輸出1,6\n。
x=y>z>=5;關係運算子優先順序高於賦值運算子,所以先執行y>z>=5,由於y>z為假(上面已經得到y==z==15),所以y>z==1,由於1>=5為假,所以x=0。那麼x==0,y==15,z==15,輸出0,15,15\n。
希望對你有些幫助。
4樓:匿名使用者
優先順序的問題,由運算子的結合性,+=是右結合的從右邊開始看
首先y+=z;也就是y賦值為原來的值增加z即y = y+z;
然後x +=y;
也就是x = x +y;
關於這個**。首先執行了x+=y+=z;之後x、y、z依次為5,2,0
x z>=5;
由運算子的結合性從賦值號右邊看起。首先是y>z這個是錯誤的,所以結果為
x = 0>=5;這個值為假,結果為x = 0;
此時y、z的賦值不變。所以結果為
0,15,15
5樓:我是東門的
答案——絕對正確,我用我華為工程師證擔保!!!
y=y+z;
x=x+y;
6樓:匿名使用者
不難不難 如果是題的話 忍吧
如果是你自己編的 那改吧
c千萬別弄那種看不懂得複雜句法
不過這題不難 從右向左走
等價於y=z+y;
x=y+x;
c語言:x+(y>!z)什麼意思
7樓:匿名使用者
x=1。y=3。z=5。z>y條件成立返回1。返回0,所以結果是0。
!的優先順序高,先計算出x+y的值,若x+y不為0,則!復(x+y)的值為0,反之為1,然後將這個值和z進行比較,如果大於制z返回1,小於z返回0。
具體的,這裡是將x+y的值作為乙個bool型返回了,所有不為0的數都相當於true(1),為0的數也就是false。!將表示式取反,!0==1/!1==0。
擴充套件資料:
c語言中所有格式化型別的定義:
1、%d/i
接受整數值並將它表示為有符號的十進位制整數,i是老式寫法。
2、%o
無符號8進製整數(不輸出字首0)。
3、%u
無符號10進製整數。
4、%x/x
無符號16進製制整數,x對應的是abcdef,x對應的是abcdef(不輸出字首0x)。
5、%f(lf)
單精度浮點數和雙精度浮點數用f(lf在c99開始加入標準,意思和f相同)。
6、%e/e
科學計數法表示的數,此處"e"的大小寫代表在輸出時用的「e」的大小寫。
7、%g/g
有效位數,如:%.8g表示單精度浮點數保留8位有效數字。
8樓:匿名使用者
並不複雜,考察運算子優先順序。
!z代表z求非;
當z=0的時候,!z=1;當z!=0的時候,!z=0這句話,
也就是當y大於1的時候等效於x+1;
y<0的時候等效於x;
0 這種問題,乙個printf語句解決 9樓:與子如初見 先求!z的值,如果z是乙個非零值,則!z為0,如果z為0,則! z為1,然後比較y與!z的關係,若z為非零值,則即為判斷y>0是否成立,成立則y>!z的值為1,否則為0,若z為0. 則即為判斷y>1是否成立,成立則y>!z的值為1,否則為0,。最後用x的值加上y>! z的值。 10樓:好嘞啊啊啊啊 先取z的否定 判斷一是否大於z的否定 再加上x的值 !zz的否定 當z為非0值時 !z =0 z為0時 !z =1 所以最後的值 就是x+0 或者x+1 11樓:或許有點像朋也 根據優先順序計算,先算括號裡面的y>!z,如果z!=0的話,!z就為0,z為0的話!z就為1, 然後y>(!z),判斷y是否大於1或者0(之前已經提到了),大於就返回1,不大於1就返回0,最後再和x相加就行了 舉個例子:x==2,y==2,z==3 得出來的就是3。以上 12樓:匿名使用者 z取反如果y>z的取反則值為1 否則則為0 x再加上0或者1也就是上面的結果 13樓:陽光的 如果 y>!z 則算式等於 x+1 否則,算式等於x+0 c語言中x=y==z是什麼意思 14樓:匿名使用者 y==z 判斷 y 等於 z,結果為真或假,即 1 或 0 所以 x=1或0 15樓:匿名使用者 ==是等於運算子=是賦值運算子 ==的優先順序比=高 所以先算y==z即x=(y==z) 當y==z時式子為true 在c語言中bool值和int值可以轉換 即為1 當y!=z時式子為false 即為0 16樓:匿名使用者 x、y和z相等 如果是整數表示大小一樣;如果是字元表示同乙個字元;如果是指標表示指向同乙個位址 17樓:匿名使用者 ==優先順序高於=,如果y=z,則x=1,否則x=0 18樓:匿名使用者 y等於z,再把y的值賦予x c語言中x|y&~z什麼意思 19樓:唐發雙 | ,&和~都是位運算符號;根據優先順序的順序,~的優先順序最高,所以先是z按位取反;接著&優先順序高於|所以是y和~z做按位與運算,最後是x與後面整塊做按位或運算。 20樓: x按位或上y再與上z的反 c語言中z+=x 21樓:oo沒有蠟 判斷 x 為真 則 z=z+(x++); 為假 則 z=z+(y++); 22樓:匿名使用者 a?b:c 若a真,返回b 若a假,返回c 23樓:不懂就來問高手 把x加z賦值給z,若此時z比y小就將原x加1,否則將原y加1。回答完畢,給點分吧可憐可憐,小主人~~~ c語言中,z=(x++,y++)這語句什麼意思? 24樓:匿名使用者 z=(x++,y++) z 等於 (後自增 x+1, y+1) 前自增是++x 最低0.27元開通文庫會員,檢視完整內 原發布者 醬油灬到處飛 c語言程式設計 複習提綱 一 單項選擇題和填空題的知識點1 函式是c程式的主要組成部分,函式是c程式的基本單位。乙個c語言程式是由乙個或多個函式組成的,其中必須包含乙個main函式 且只能有乙個main函式 2 程式總是從main函式開... c語言是在b語言後出現的,當時叫new b,後改為c。付費內容限時免費檢視 回答1.免疫力低下 如易感冒等 2.毛細血管滲血 常見皮下出血斑,缺乏維生素c的早期體徵 3.輕度疲勞 缺乏維生素c的最早症狀 4.骨折或受傷後癒合緩慢。更多2條 太有才了 computer 牛b 樓上太經典了 頂乙個 c語... o意思是以八進位制整bai型式輸出整du數。c語言zhi中對於不同型別的資料用dao不同的格式字元內。x格式符,以十六進製制數容形式輸出整數。u格式符,用來輸出unsigned型資料,即無符號數,以十進位制形式輸出。c格式符,用來輸出乙個字元。s格式符,用來輸出乙個字串。擴充套件資料 scanfse...c語言裡是什麼意思在C語言裡是什麼意思?
C語言的C是什麼意思,C語言是什麼意思?
c語言中o是什麼意思,C語言中 c是什麼意思