c語言程式wxwzyzx是什麼意思

2021-05-22 17:32:12 字數 6734 閱讀 5173

1樓:

?:是個運算子號,格式是 a>b?c:d, 含義是,如果?前面的條件成立,則取 c做為本式子的結果,否則取d作為式子的結果

你給的題目是個巢狀的表示式,首先判斷w和x哪個更大 如果w>x成立 那麼就返回w,如果w不大於x 就判斷z和y哪個更大 z>y成立 那麼輸出z 否則返回x

2樓:匿名使用者

w>x?w:z>y?z:x

首先判斷w和x哪個更大 如果w>x成立 那麼 結果就是w如果w不大於x 就判斷z和y哪個更大 z》y成立 那麼輸出z 否則結構就是x

這裡面是個巢狀 某些符號的運算級更高 會優先執行 比如 <>符號高於? 所有 會先判斷

c語言中 x

3樓:靠名真tm難起

如果x>y,就把x的值賦給z,否則把y的值付給z。

可以把z=x>y? x : y理解為

if(x>y)else

擴充套件資料:

三目運算子,又稱條件運算子,是計算機語言(c,c++,java等)的重要組成部分。它是唯一有3個運算元的運算子,所以有時又稱為三元運算子。一般來說,三目運算子的結合性是右結合的。

對於條件表示式b ? x : y,先計算條件b,然後進行判斷。

如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。一個條件表示式絕不會既計算x,又計算y。條件運算子是右結合的,也就是說,從右向左分組計算。

例如,a ? b : c ?

d : e將按a ? b :

(c ? d : e)執行。

可以理解為條件 ? 結果1 : 結果2 裡面的?號是格式要求。也可以理解為條件是否成立,條件成立為結果1,否則為結果2。

4樓:南瓜蘋果

?:稱為條件運算子。?:就是表示?前的表示式的值是否為真,是的話取冒號前的值,否則取冒號後的值。

相當於:

if (x>y)

else

擴充套件資料

c語言中條件表示式的通用形式如下:

exp0=exp1?exp2:exp3

如果exp1為真(非0),那麼把exp2的值賦給exp0;如果exp1為假(0),那麼把exp3的值賦給exp0。

2.verilog語法中也有類似c語言中的條件表示式

如下:inout sda;

assign sda=(flag==1)?data_buf:1'bz;

當flag==1時,sda的值等於傳送的資料的data_buf(sda相當於output型別),

當flag==0時,sda的值變成高阻態(sda相當於input型別)。

5樓:匿名使用者

呼叫一個函式p(),傳入的引數是變數x的地址以及變數y,函式的返回值賦給變數z。

好好學習天天向上

6樓:三天打魚

x=1y=3

z=5z>y 條件成立 返回1

然後用返回的值跟後面的x比較 1>x 條件不成立 返回0 所以結果是0

要合併兩個邏輯 應該用&& 與運算子 寫為 z>y && y>x

7樓:匿名使用者

?:是一個三目運算子,他的意思是如果問號前面的表示式為真,則返回:之前的表示式的值,否則返回:之後的表示式的值

這句話可以拆解為

if(x>y)  else

也就是將x、y的較大者賦值給z

8樓:丶菜雞幾雞幾

!(x+y) > z 表示式中:

!的優先順序高,先計算出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 。然後在大於號那裡,又將這個bool型變數轉為了一個整型變數與z進行比較,若表示式結果為真返回true(1), 否則返回false(1)。

9樓:匿名使用者

?:這是一個3目運算子,即條件表示式

問號左邊的表示式為真,就取問號和冒號中間的表示式的值,否則就取冒號右邊的值

我們可以看成是2步,先看左邊

x

取值x,然後再看

由於左邊取值x這是右邊就為x

同理 x值大於w的值,所以x

10樓:匿名使用者

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。

希望對你有些幫助。

11樓:

?:是個運算子號,格式是 a>b?c:d, 含義是,如果?前面的條件成立,則取 c做為本式子的結果,否則取d作為式子的結果

你給的題目是個巢狀的表示式,首先判斷w和x哪個更大 如果w>x成立 那麼就返回w,如果w不大於x 就判斷z和y哪個更大 z>y成立 那麼輸出z 否則返回x

12樓:匿名使用者

? :是三元運算子,整個表示式根據條件返回不同的值,如果x>y為真則返回x,如果為假則返回y,之後=賦值給z。相當於:

if(x>y)

z=x;

else

z=y;

13樓:匿名使用者

並不複雜,考察運算子優先順序。

!z代表z求非;

當z=0的時候,!z=1;當z!=0的時候,!z=0這句話,

也就是當y大於1的時候等效於x+1;

y<0的時候等效於x;

0

這種問題,一個printf語句解決

14樓:丨嗚呼哀哉

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

15樓:匿名使用者

優先順序的問題,由運算子的結合性,+=是右結合的從右邊開始看

首先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

16樓:誓唁詤唁

不對不對,邏輯非運算子「!」優先順序要高於「>」,這裡的意思是,如果w不為0,那麼就成了0>z,說明z小於0是表示式成立;當w為0時,!w就是1,那麼就成了1>z了……。

總的來說這裡就是判斷0>w還是1>w。

麻煩採納,謝謝!

17樓:匿名使用者

w>x?w:z>y?z:x

首先判斷w和x哪個更大 如果w>x成立 那麼 結果就是w如果w不大於x 就判斷z和y哪個更大 z》y成立 那麼輸出z 否則結構就是x

這裡面是個巢狀 某些符號的運算級更高 會優先執行 比如 <>符號高於? 所有 會先判斷

18樓:與子如初見

先求!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的值。

19樓:或許有點像朋也

根據優先順序計算,先算括號裡面的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。以上

20樓:好嘞啊啊啊啊

先取z的否定

判斷一是否大於z的否定

再加上x的值

!zz的否定

當z為非0值時 !z =0

z為0時 !z =1

所以最後的值

就是x+0 或者x+1

21樓:匿名使用者

相當於if(x

else if(z

else

22樓:

z=x>y? x : y; 條件賦值語句x > y 時 z=x;

x < y 時 z=y;

x == y 時 z=x;

23樓:匿名使用者

z取反如果y>z的取反則值為1 否則則為0

x再加上0或者1也就是上面的結果

m=xz?x:z:w在c語言中什麼意思?求解釋,詳細點的。。謝謝了!

24樓:匿名使用者

加括號後就清楚了

m=(xz?x:z):w).

意思是if(xz)

else

}else

希望採納!

25樓:陳龔

其實這是一個條件表示式的複合句最後再賦值~條件表示式其一般形式是x>y?x:w 其意思是x與y比較大小,若x>y成立,則這個表示式的值為x,反之為w。

本題中,相當於是把第一個?後的x用x>z?x:z來代替而已!

不知道明白沒~

26樓:手機使用者

拆開來就是這樣:

a=x>z?x:z;

m=x

c語言float x,y;是什麼意思

27樓:天雨下凡

定義兩個變數,變數名為x和y,型別都是float型。

28樓:森林海洋

定義兩個變數x,y 型別為浮點型

29樓:素樹芳花

宣告兩個浮點型變數x,y

30樓:匿名使用者

宣告x,y兩個float型別的變數。

c語言中z=x>y?x:y是什麼意思?

31樓:南瓜蘋果

?:稱為條件運算子。?:就是表示?前的表示式的值是否為真,是的話取冒號前的值,否則取冒號後的值。

相當於:

if (x>y)

else

擴充套件資料

c語言中條件表示式的通用形式如下:

exp0=exp1?exp2:exp3

如果exp1為真(非0),那麼把exp2的值賦給exp0;如果exp1為假(0),那麼把exp3的值賦給exp0。

2.verilog語法中也有類似c語言中的條件表示式

如下:inout sda;

assign sda=(flag==1)?data_buf:1'bz;

當flag==1時,sda的值等於傳送的資料的data_buf(sda相當於output型別),

當flag==0時,sda的值變成高阻態(sda相當於input型別)。

32樓:尤永修喻辰

c中x+(y>!z)這種表示式寫的其實很不好解釋:括號中優先順序

!高於》

先求!z

也就是表示式

的邏輯取反

z非01!z

=0;z=0則!z=1

然後判斷y的值

是否大於!z

最後用x+上上一步判斷的值

這樣寫的不好處在於

混用邏輯表示式和整型變數

(假定xyz是int之類)

寫法不嚴格,很容易編譯器警告(雖然不會報錯)。屬於習慣不好的寫法,儘量避免

c語言程式開發的步驟是什麼,C語言程式開發的四個步驟是什麼

輸入與編輯源程式 對源程式進行編譯 與庫函式連線 執行可執行的目標程式。開發一個c語言程式要經過哪四個步驟 除錯程式 連結處理 執行程式 編寫,編譯,連線,執行 問題分析 演算法設計 程式編寫 執行維護 提供 計算機考試題庫 的答案 填空 開發 個c語言程式需要經過 和 四個基本過程。答案 編輯 編...

c語言程式問題,C語言程式問題?

1.在你打算學習c語言之前,你要下一個狠狠地決心.因為許多電腦愛好者在學習c語言的過程中,都會遇到困難,從而沒有堅持到最後.只有你下定狠狠地決心,才能學會c語言,才能學好c語言.2.要想學習好c語言,就要學會細心,耐心.c語言程式的編寫需要非常細心,因為一個標點符號的錯誤,可能導致程式的無法執行.3...

c語言秒錶程式,C語言秒錶程式

下面程式你試下,延時函式自己加一下,幾毫秒到幾十毫秒 include quot reg51 h quot unsigned char i,j,m,xa 4 unsigned char table1 0x01,0x02,0x04,0x08 unsigned char table2 0x3fev0x06...