c語言如果有定義變數int x 3,y 4,z 4則表示式 zyx 1 0的值為什麼

2021-04-17 12:33:17 字數 3549 閱讀 7426

1樓:天雨下凡

(z>=y>=x)?1:0

判斷z>=y>=x的值,如果為1,則值為1,否則為0從左到右運算

z>=y即4>=4,結果為1(true)

然後1>=x,即1>=3,結果為0(false)所以表示式的值為0

2樓:

(z>=y>=x)?1:0 這是個條件表示式,(z>=y>=x)括號裡面是個複合關係表示式,

先比較z>=y,表示式為真,而在內c語言中,

容是用數值1代表「真」,用數值0代表「假」。所以z>=y運算後的結果為1,1>=x,表示式為假,運算後的結果為0,亦即(z>=y>=x)括號裡面的條件為假,所以條件表示式的值就取「:」後面的值,即取數值0。

c語言計算 int x,y,z且x=3,y=-4(是-4),z=5,則表示式(x&&y)==x||z)的值~

3樓:匿名使用者

首先一點

bai, 不管是du什麼值,只要不是0, 在邏輯運算的時候zhi,就是當dao1處理的.

於是 (x&&y)==x||z)

雖然少了一回

個( 但不管這個答(放在**, 一群1做邏輯運算,在沒有邏輯非符號情況下,結果也必然是1.

4樓:匿名使用者

一般的c編譯器認為真為1,假為0,那麼這個題的結果為:

x&&y的值為1

1==x的值為0

0||z的值為1

所以整個表示式的值為1

5樓:匿名使用者

c語言裡認為0為邏輯假,非0就是邏輯真,正負是沒有關係的

6樓:匿名使用者

結果:1

x&&y:只來要x和y中任

源意一個不為0,結果就是1

x||y:除非x和y2個都為0,不然結果就是1&&:其實就是 與

||:就是 或

#include

main()

自己執行下就可以知道了

7樓:

c語言 int x=2,y=3,z=4,則表示式!x+y>z的值為?

8樓:莊政警

"!"優先於"+"優先於">"

!x+y>z 就是(!x+y)>z

那就是(0+3)>4 ,結果是0

9樓:懋靌

x=2,y=3

x+y=5;

5>4;成立 結果是1

c語言題,int y=4,z=5;則表示式x=y=z的值是多少。

10樓:匿名使用者

這是c語言中的簡化寫法,一般我們寫:x=0; y=0; z=0;時可以合寫

成x=y=z=0;

x=y=z;可以分寫成x=z; y=z;執行時cpu取出z的值,然後進行兩次賦值分別被x和y,x和y互相不干擾

11樓:匿名使用者

x=y=z是賦值語句,表示式執行完後x、y、z的值分別是多少。而且條件還要給出int x。

表示式執行完後,x=5,y=5,z=5

理由:先執行y=z,把z的值賦給y,再執行x=y,把y值賦給x。

12樓:關注程式設計

表示式的值是5

執行順序是:

y=z;//執行後y=5

x=y;//執行後x=5

賦值表示式的值為該變數的值,在這裡表示式的值就是x

13樓:王囧囧

執行完後

x與y的值均為5

14樓:其犟如牛

x=y=z=5 因為z把它的值賦給y,y=5,y再把它的值賦給x!

15樓:magic_旭

從左到右看,x等於y,y又等於z,z等於5,那麼y等於5,y賦給x,x就等於5

c語言:已有定義int x=3,y=4,z=5;則表示式 !(x+y)+z-1&&y+z/2的值是?

16樓:

答案是1。

涉及到的運算子: ! () + - && /運算子優先順序為:() ! / + - &&運算過程:

x=3,y=4,z=5

!(x+y)+z-1&&y+z/2

!(3+4)+5-1&&4+5/2

所以表示式計算步驟為

!(3+4)+5-1&&4+5/2 -> !7+5-1&&4+5/2!7為 0

-> 0+5-1&&4+5/2

5/2 整數除整數得整數 2

-> 0+5-1&&4+2

-> 4&&6

邏輯運算 &&

擴充套件資料c語言運算子的優先順序:

如果同一優先順序的運算子,結合次序由結合方向所決定。

17樓:匿名使用者

只是等於1的,我是經過turbo c2.0編譯過的,答案應該沒什麼問題的,程式是:

main()

答案為什麼會等於1呢?那是因為運算級別的問題,根據運算級別,實現算括號裡面的先,所以程式就變成!7+z-1&&y+z/2;

然後就算!運算,由於7是大於1的,也就是真,所以!真就是假,也就是0,所以函式就變成0+z-1&&y+z/2;

然後再算除號的,由於你這裡兩個都是整形的,所以小數點後面的數忽略,所以就變成0+z-1&&y+2;

接著計算加減運算,也就是變成4&&6;

因為4和6都是大於1的數,所以就是真,由於&&兩邊都是真的話,輸出的就是真,所以結果就是1。

要是還有什麼不明白的話,就mm我吧!嘻嘻~~~~~~

18樓:匿名使用者

1優先順序: 算數》條件》關係》賦值

關係中的優先順序: 非》與》或

19樓:匿名使用者

1,把運算子優先順序搞清楚就好了

20樓:匿名使用者

x等於y加4。四家外加1+3+5+4+1等於三五+4+5+1。

21樓:匿名使用者

!(3+4)+5-1&&4+5/2

=!7+4&&4+2

=!11&&6

所以說那個式子的值是:不是11並且是6

.有int x=3,y=-4,z=5;則表示式(x&&y)==(x||z)的值為 ? 。

22樓:代憲亞

(x&&y)結果為1

(x||z)結果為1

只是認為非0為真值,0為假值。

所以結果為1 即真

23樓:聽不清啊

表示式(x&&y)==(x||z)的值為 1

因為x&&y的值為「真」,x||z的值也為「真」

24樓:匿名使用者

true. 在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。

如何在c語言中定義及引用全域性變數

1 全域性變數也稱為外部變數,它是在函式外部定義的變數。它不屬於哪一個函式,它屬於一個源程式檔案。其作用域是整個源程式。在函式中使用全域性變數,一般應作全域性變數說明。只有在函式內經過說明的全域性變數才能使用。全域性變數的說明符為extern。但在一個函式之前定義的全域性變數,在該函式內使用可不再加...

在c語言中,定義了指標變數就分配了記憶體空間嗎

當然有空間啦!比如 p 是指標的代表p 是地址 希望你採納!作圖不容易呀 當然分配記憶體了 只不過此時這個指標的指向未定義!c語言中,定義一個指標的時候為這個指標開闢儲存空間嗎?int p 第一級指標,表示p點所在地址是一個100int型別的值,p被宣告為一個指向整數的指標,並且為這個指標分配了儲存...

C語言題一道,如下 若變數都以正確定義,則以下程式段的輸出是 int a 10 b 50 c

a 10b 30c 10 首先判斷條件那裡沒打括號意味著判斷條件只執行到第一個語句為止a 10 b 50 c 30 判斷a b 否 不執行 a b 執行b c 30 執行c a 10 a 10b 30c 10 因為 if 條件成立的話,沒有花括號的情況預設執行後面的一條語句 a 10b 30c 10...