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=x 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語言程式需要經過 和 四個基本過程。答案 編輯 編... 1.在你打算學習c語言之前,你要下一個狠狠地決心.因為許多電腦愛好者在學習c語言的過程中,都會遇到困難,從而沒有堅持到最後.只有你下定狠狠地決心,才能學會c語言,才能學好c語言.2.要想學習好c語言,就要學會細心,耐心.c語言程式的編寫需要非常細心,因為一個標點符號的錯誤,可能導致程式的無法執行.3... 下面程式你試下,延時函式自己加一下,幾毫秒到幾十毫秒 include quot reg51 h quot unsigned char i,j,m,xa 4 unsigned char table1 0x01,0x02,0x04,0x08 unsigned char table2 0x3fev0x06...c語言程式開發的步驟是什麼,C語言程式開發的四個步驟是什麼
c語言程式問題,C語言程式問題?
c語言秒錶程式,C語言秒錶程式