請問c語言txyz這句話是什麼意思

2021-03-04 05:00:04 字數 5889 閱讀 8503

1樓:秋天

c++x||++y&&++z

++x = 2 , ++y = 2 , ++z = 1(++x||++y)&&++z,可以來

這樣來分源,前面因為++x=2 所以擴號的值bai是1

1&&++z = 1&&1=1

這些都是邏輯判du斷,不要去理會具體zhi等於多少,只要dao看它等於0還是等於1就可以了

c語言中,(x&&y)==(x||z)的意思是?值為?

2樓:匿名使用者

x和y都為非零值時

,(x && y)為真(1),任意一個為零,或都為零時,(x && y)為假(0),&&為邏輯與操作符。

x和z有一個為真(非零)時,或都為真時,(x || z)為真(1),只有x和z都為零時,(x || z)才為假(0),||為邏輯或操作符。

==是比較操作符,如果兩邊都為真或都為假,則返回真,否則返回假。

3樓:匿名使用者

你這個比較亂首先 第一個的意思是比較x與y是否同時為真 跟x與z是否有一個為真

當x為真時 具體最後的結果跟x y z的取值有關當x真y真z真的時候結果是真

當x真y真z假的時候結果是真 。。。。

情況太多了 就不一個一個寫了 第二個是比較x是否不大於y與y是否不等於z 然後再跟後面的取或 你想知道值的話 把x y z 的值告訴我 我再給你看出來吧

最後一個的值是x-y+z+1

執行完以後 x變成x+1 y不變 z變成z+1你這個比較亂 得一步一步來

4樓:匿名使用者

邏輯運算子:&&邏輯與 ||邏輯或 !邏輯非

++ 自增 --自減。。。x++相當於x,x=x+1;++x相當於x=x+1,x;

== 相等 != 不相等

5樓:匿名使用者

例如:x=3 y=5 z=2

3&&5=1;

3||2=1;

表示式(x&&y)==(x||z) 的值為1!(3>5) = 1;

(y!=z)||(x+y)&&(y-z)

(5!= 2)||(3+5)&&(5 -2)= 1;

表示式!(x>y)+(y!=z)||(x+y)&&(y-z)的值為2x++ = 3

++z = 3

3-5+3 =1

在c語言中,設x,y,z,t均為int型變數,則執行以下語句後,t的值為( ) x=y=z=1; t=++x||++y&&++z;求過程。

6樓:匿名使用者

x=y=z=1; //首先執行這一句:把1賦值給z,再把z的值給y,再把y的值給x x,y,z的值都等1

t=++x||++y&&++z; //在這一條語句中,賦值號=的運算級別最低,因此先算++x||++y&&++z

//先算++x後x=2 表達為 x||++y&&++z//++y 後 y=2 表達為 x||y&&++z//++z 後 z=2 表達為 x||y&&z 再運算y&&z因為&&比||運算級別高 運算後為邏輯真即 1 表達為 x||1 運算得到邏輯真 即為1

//最後把1賦值給t=1

如果對你有幫助請設定為最佳答案謝謝

c語言 ++x||++y&&++z

7樓:左左強強峰峰

邏輯運算而已,用於判斷;

1,++x||++y&&++z

先給x + 1,若等於0,計算右邊,分別給y和z +1後若不為0整個表示式不為0,若x +1不等於0則不計算右邊的表示式;

2,++x&&++y&&++z

先給x +1, 若不等於0,計算右邊,給y +1若不等於0,計算右邊,給z +1若不等於0表示式不等於0;否則整個表示式為0;

3,x++&&--y&&z--||--x

先看x 是否為0,如果不為0,x +1;計算右邊,先給y-1,若不為0,計算右邊,判斷z是否為0,不為0,表示式(x++&&--y&&z--)值為1,z-1;右邊不用計算了;若z為0,z-1, 右邊先給x-1若不為0整個表示式為1,若為0整個表示式為1;

8樓:滄海雄風

因為「左結合律」和「 短路求值 」。

c語言保證邏輯運算的求值順序是從左往右的。

用括號顯示優先順序是這樣的:

(++x) || (++y && ++z)個人覺得,在不影響語意的前提下,把運算過程看成這樣∶(1 && ++x) || (++y && ++z)c中對於邏輯或的運算是隻要第一個表示式為真,就不會去算後面的表示式了

9樓:

這樣分解:++x||++y&&++z , 這個表示式中++x 與 ++y&&++z 兩者構成「或」表示式。或表示式中兩者有一個為真,表示式即為真。

在c中,對於或表示式,當第一個表示式為真是,就可以認為真個表示式為真,沒必要去計算後面的表示式的值。

如果你真的想要知道到底是為什麼?計算機為什麼要這樣做。建議你看看編譯原理中的表示式的翻譯方案,你就會懂的。

10樓:匿名使用者

首先從c語言運算子優先順序來看, && 高於||

所以上面表示式相當於 ( (x>=2 && y<'z') || !y)) 就是((1 && 1) || 0) , 最後就是(1 || 0)=1

11樓:宋文婷

|答案是c

x>z && y < 'z' || !y把變數替換就是45 > 0 && 'a' < 'z ' || !y45 > 0為真,'a' < 'z' 也為真,所以45 > 0 && 'a' < 'z '為真,變為1 || !

y1與什麼值相或都為1,所以答案為1

12樓:匿名使用者

||||||運算時把後面的所有表示式當成它右邊的一個表示式上面那句等價於++x||(++y&&++z )

且得到x>0後||有邊的表示式不會進行運算而直接退出

要達到你說的意思講表示式修改為(++x||++y)&&++z 即可

13樓:

看來你對優先順序的理解有點問題。優先並不決定運算順序,它的實質是結合

性,是說++是與y結合在一起而不是和||結合在一起;前面的++也是與x結合在一起。而||是連線(++x)和(++y)運算子而不是連線x和++的運算子。c/c++中表示式的運算順序一律從左至右!

14樓:匿名使用者

++x 已經為true了

15樓:匿名使用者

||號,是第一個條件滿足就不管第二個條件,所以不做++y。

16樓:反叛的神明

原題=++x || (++y && ++z)++級運算高 =++x || 1 = 1||1=1

c語言:!(x+y)+z-1 && y+z/2 跪求高手解答 不勝感激。 謝謝!!

17樓:我是果瘋

算數運算子優先於邏輯運算子。

先算(x+y),再算(x+y)-z,再算(x+y)-z-1。

若(x+y)-z-1的結果為非零數,則!(x+y)-z-1的值為0。

(x+y)-z-1的值為0,則!(x+y)-z-1的值為1。

先算z/2,再算y+z/2。

若y+z/2的值為0,那麼整個表示式的值為0。

若左邊(x+y)-z-1的結果為1 ,y+z/2的結果非零值,那麼整個表示式的結果為1。

其他情況,&&左右兩邊出現一個零,則整個表示式的結果為0。

18樓:匿名使用者

這個語句大部分是用在if()裡面當作條件表示式的,因為c語言沒有真正意義的bool型別,而是定義了 0 為 false, 非 0 為true,所以條件表示式可以是算術表示式

先計算 (x+y) 再取 非 (這裡注意,任何非零的值取非,結果是0, 但是 0 取非,值為1,這是c語言定義的), 值再 +z -1 , 結果如果為零,則不 執行 && 後面的 y+z/2, 因為 0&&任意值 都是 0 即為 false,只有在 && 前面為 true的時候才會去執行 && 後面的語句

這裡考查的是 運算子的優先順序,以及 && 的細節,如果是考試中的話可能會出現 x++ && x++ 或者 x++ || x++ 然後問x的值 之類問題

19樓:匿名使用者

參考人家的,這種題知道運算優先順序就萬事ok了

1級優先順序 左結合

() 圓括號

下標運算子

-> 指向結構體成員運算子

. 結構體成員運算子

2級優先順序 右結合

! 邏輯非運算子

~ 按位取反運算子

++ 字首增量運算子

-- 字首增量運算子

+ 正號運算子

- 負號運算子

(型別) 型別轉換運算子

* 指標運算子

& 地址與運算子

sizeof 長度運算子

3級優先順序 左結合

* 乘法運算子

/ 除法運算子

% 取餘運算子

4級優先順序 左結合

+ 加法運算子

- 減法運算子

5級優先順序 左結合

<< 左移運算子

>> 右移運算子

6級優先順序 左結合

<、<=、>、>= 關係運算子

7級優先順序 左結合

== 等於運算子

!= 不等於運算子

8級優先順序 左結合

& 按位與運算子

9級優先順序 左結合

^ 按位異或運算子

10級優先順序 左結合

| 按位或運算子

11級優先順序 左結合

&& 邏輯與運算子

12級優先順序 左結合

|| 邏輯或運算子

13級優先順序 右結合

? : 條件運算子

14級優先順序 右結合

= += -= *= /= %= &= ^= |= <<= >>= 全為賦值運算子

15級優先順序 左結合

, 逗號運算子

優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。

所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。其它的都是從左至右結合。

具有最高優先順序的其實並不算是真正的運算子,它們算是一類特殊的操作。()是與函式相關,與陣列相關,而->及.是取結構成員。

其次是單目運算子,所有的單目運算子具有相同的優先順序,因此在我認為的 真正的運算子中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。

另外在c語言裡 沒有前置後置之分 因為++ -- 是右結合所以 右側優先運算 表現為 "後置優先順序比較高" 的假象 前置和後置的區分是因為運算子過載而後加入c++的

接下來是算術運算子,*、/、%的優先順序當然比+、-高了。

移位運算子緊隨其後。

其次的關係運算子中,< <= > >=要比 == !=高一個級別,不大好理解。

所有的邏輯操作符都具有不同的優先順序(單目運算子出外,!和~)

邏輯位操作符的"與"比"或"高,而"異或"則在它們之間。

跟在其後的&&比||高。

接下來的是條件運算子,賦值運算子及逗號運算子。

在c語言中,只有4個運算子規定了運算方向,它們是&&、| |、條件運算子及賦值運算子。

&&、| |都是先計算左邊表示式的值,當左邊表示式的值能確定整個表示式的值時,就不再計算右邊表示式的值。如 a = 0 && b; &&運算子的左邊位0,則右邊表示式b就不再判斷。

在條件運算子中。如a?b:c;先判斷a的值,再根據a的值對b或c之中的一個進行求值。

賦值表示式則規定先對右邊的表示式求值,因此使 a = b = c = 6;成為可能。

請問這句話的意思是什麼?請問這句話是什麼意思 謝謝

這句話的意思就是決心很大,當決定了去做一件事情後,做事就要行動果斷。當去做一件事情,一旦下了決心就馬上行動,不再瞻前顧後猶疑不定,即使錯了也可作為經驗教訓,絕不再後悔。甜言蜜語只能說是畫餅充飢,只是精神上得到的一絲安慰吧了,沒有實際意義。所以,找物件談戀愛不能只相信甜言蜜語,山盟海誓,那是霧裡看花,...

C語言 預處理是什麼意思?就是看不懂這句話的解釋!越具體越好,也可以通俗一點

預處理,再編譯前需要做的工作。預處理主要處理兩部分東西,標頭檔案和巨集。對於標頭檔案,做操作。比如再某個.c中include了一個標頭檔案,這一行預處理時就會被替換為標頭檔案的內容。對於巨集,比如你define了一個巨集。這裡就會把程式裡面所有用到這個巨集的地方替換掉。當然巨集還有其他操作,但是它們...

請問這句話什麼意思啊,請問這句話是什麼意思呢?謝謝

這句話的意思我舉行婚禮。覺得這個女生她應該是小學生了,而且因為今年開學延期的原因,他在家這段時間應該也認識了一個不錯的小男孩,和他成為好朋友了。而且剛巧她和這個小男孩應該是同一所學校的了!她說雙方父母決定下個月31號星期八舉行婚禮,她應該是想說那天是他們開學的日子了。這段話是她上個月說的嗎?因為這個...