c語言中x y和x y有什麼區別啊

時間 2021-08-11 17:19:59

1樓:匿名使用者

**執行先後順序的區別

++代表+=1,在變數前面例如++x-1代表著直接在這裡將變數值加上1,故y=6-1=5

而在變數後面,x++-1代表著在執行完這一行再予以加1,故y=5-1=4

#include

int main(){

int x=5,y=10;

printf("%d %d\n",x,y);

y=++x-1; // => 在這裡意味著 變數x直接+1,y=變數x -1

printf("%d %d\n",x,y);

x=5;y=10;

y=x++-1; // => 在這裡意味著變數x 現在暫時不變,y=變數x -1

printf("%d %d\n",x,y); // => 執行完上一句**後,x值才+1

2樓:聽不清啊

x=y 是一個賦值表示式,將y的值賦給x

x==y是一個邏輯表示式,判斷x是否等於y,其值為1(真)或0(假)

3樓:匿名使用者

x=y,是將y的值賦給x

比如原先x是3,y是5

如果執行x=y,

那麼x現在值是5,y是5

x==y是判斷x和y是否相等。

如果x和y相等則返回真(非0,常常用1表示),否則返回假(0)比如原先x是3,y是5,則返回假(0)

4樓:天宇微蟻

“=”是賦值運算子,意思是將y的值給x,x=y後,x的值會與y一樣。“==”是比較運算子,是比較x與y兩個值是否相等,一般用在判斷語句中,整個語句返回true或false,執行x==y後,x、y的的值不變。

5樓:匿名使用者

等於號是賦值,把y的值賦給x,雙等號是判斷是否相等

6樓:止為專注你

x=y,是將y的值賦給x,而x==y是x的值等於y

7樓:依依離人照落花

x = y 是賦值運算,把y的值賦值給x;

x==y 是比較運算,比較x和y是否相等;

8樓:9就是唯

《俠客行》:趙客縵胡纓,吳鉤霜雪明。銀鞍照白馬,颯沓如流星。

十步殺一人,千里不留行。事了拂衣去,深藏身與名。……眼花耳熱後,意氣素霓生。

救趙揮金錘,邯鄲先震驚。千秋二壯士,烜赫大梁城。縱死俠骨香,不慚世上英。

9樓:baby凱旋城住戶

前者,x=y,表示的是將變數 y 的值賦值給變數 x,即 x 和 y 表示的完全相同。

後者,x==y,表示的是一個數學邏輯,x等於y,對於這個式子,如果x 的值真的和 y 相等,則x==y就為真,整個式子表示的是真值,反之如果x 的值和y 不等,則x==y就不成立,整個式子表示的是假值。

如果還不理解,建議你仔細學習c語言,從頭開始學起,《c語言小白變怪獸》這本書適合你。

c語言中 y=x++ -1和 y=++x -1有什麼區別?

10樓:匿名使用者

**執行先後順序的區別

++代表+=1,在變數前面例如++x-1代表著直接在這裡將變數值加上1,故y=6-1=5

而在變數後面,x++-1代表著在執行完這一行再予以加1,故y=5-1=4

#include

int main()

11樓:匿名使用者

你可以觀察啊

x++是先引用x,再++

++x 則是 先做++再引用x

12樓:匿名使用者

加在後面慢動作 比如x=3,前面y=4,後面是5,運算先後問題

c語言中x+=y,x-=y分別表示什麼意思

13樓:匿名使用者

x+=y 等價於

x = x + y

x-=y 等價於 x = x - y

同理x*=y 等價於x = x * y。

如以下**:

int main()

結果圖:

14樓:匿名使用者

+=; -= 是複合的賦值運算子

x += y; 等價於 x = x + y;

x -= y; 等價於x = x - y;

c語言採用複合運算子 一是簡化程式。二是為了提高編譯效率,能產生質量較高的目標**

15樓:千鋒教育

x+=y 就是x=x+y的簡寫

x-=y 就是x=x-y的簡寫

延伸知識點

x*=y 就是x=x*y的簡寫

依次類推

16樓:匿名使用者

x+=y 就相當於 x=x+y 其他的類似

17樓:匿名使用者

1、+=; -= 是複合的賦值運算子。

18樓:誰課桌上的青春

x=x+y

x=x-y

請問c語言中(x-y)?x:y是什麼意思

19樓:匿名使用者

?:是3目運算子,語法是:

表示式1 ? 表示式

2 : 表示式3;

如果表示式1的測試結果為真(即為非0),則返回表示式2的值,否則返回表示式3的值。

所以,(x-y) ? x:y;的意思就是如果x-y不等於0(即x不等於y),就返回x,否則返回y。

20樓:匿名使用者

這個是三元運算

true=非零 false =0

當x-y的值不等於0時,結果為x;

當x-y的值等於0時,結果為y;

21樓:束驥兆山雁

“!”是“非”操作符,對於非零的數取非為0,對於零取非為1。例如!0*

!0=1*

1=1!2

*!(-1)=0

*0=0

!0*!7=

1*0=

0所以,只有當x和y都為0時,結果為1;取其他任何值時,結果都是0。

22樓:盈彗張繡

這句話的意思是:

如果x>y為真,那麼把x的值賦給z,否則把y的值賦給z。

?在這裡起判斷作用。

:和?一起是c語言裡一起用的,是基本語法,書上有的。。

你好好找找書上,以後的c++和c#裡也有這種寫法

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

23樓:南瓜蘋果

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

相當於:

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型別)。

24樓:尤永修喻辰

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

!高於》

先求!z

也就是表示式

的邏輯取反

z非01!z

=0;z=0則!z=1

然後判斷y的值

是否大於!z

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

這樣寫的不好處在於

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

(假定xyz是int之類)

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

25樓:玩轉困難

這句話的意思是:

如果x>y為真,那麼把x的值賦給z,否則把y的值賦給z。

?在這裡起判斷作用。

:和?一起是c語言裡一起用的,是基本語法,書上有的。。

你好好找找書上,以後的c++和c#裡也有這種寫法

26樓:依夏青蘭晨

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

27樓:愈升榮其寒

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

28樓:郯媛女秦丁

先取z的否定

判斷一是否大於z的否定

再加上x的值

!zz的否定

當z為非0值時

!z=0

z為0時

!z=1

所以最後的值

就是x+0

或者x+1

29樓:張簡元芹是群

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

否則則為0

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

30樓:匿名使用者

?:是個三元運算子

a?b:c 的意思是,如果a等於0結果就是c,否則結果是b

x>y?x:y的意思是,如果x>y 這個式子結果是x, 否則式子結果是y

31樓:匿名使用者

相當於:

if x>y

z=x;

else

z=y;

?就是表示?前的表示式的值是否為真,是的話取冒號前的值,否則取冒號後的值。

32樓:匿名使用者

?:是唯一一個三元運算子。意思是,先判斷?號前的表示式x>y,如果為真,則x>y?x:y這一整個表示式的值為x,否則為y。

z=x>y?x:y的意思是,如果x>y,則z=x;否則z=y。即將x和y中較大的一個值賦給z。

33樓:匿名使用者

假如z=x是真的話! 就是z和x相不相等!等就是真

(x:y)真就輸出x的值假的話輸出y。

c語言中a=(--x==y++)?--x:++y;什麼意思

34樓:漠影歌

這是一個三目運算子,如果 --x 與 y++相等的話,把--x的值賦給a,否則,將++y的值賦給a;

在這裡,--x是先對x進行自減1再執行語句,y是再執行完語句再執行y自加1,也就是說現在解析出來的表示式為 x - 1 == y ,後面同理!

35樓:鱷魚與德德

中文版 就是 判斷 --x 是否等於y (y++是算完後加 忽律) 假如等於 就 a=--x, 假如不等於 a=++y

36樓:麼麼噠

x=x-1;

if(x==y)

else

大概和這個差不多

37樓:匿名使用者

--x就是x減一;++y就是y加1,這個主要考察c語言語句優先順序

38樓:匿名使用者

如果 x=y+1 執行 x-1 否則 y+1

39樓:歧凌蝶肇戈

x=a+b表示式使得x=6,其返回值為x(x,b+c)是逗號表示式,逗號表示式的值為最後一個子表示式的值所以

y=b+c

y=10

40樓:匿名使用者

這個是c語言中唯一的三目運算子。

string1 ?a : b

意思是說:當string語句判斷是真的時候,該語句使用結果a,否則是用結果b。

41樓:匿名使用者

這個是一個條件語句的簡寫

就相對於:

if aa

belse

c如果aa為真,則執行b,否則執行c

42樓:匿名使用者

(!x++||y--)

這個邏輯大概就是

x等於0或者y不等於0最後表示式結果為1

++和--是後做的

還有如果x為0,y就不--了

*x=&y是什麼意思,代表什麼?c語言中的.

43樓:湯菊孝嬋

*x是定義的一個指標變數,也是記憶體上的一塊空間,只不過空間裡面存放的是回

地址。其中*是指標的答一個標誌。y是一個變數,加上&後表示取得了此塊空間的地址,因此兩者是等價的。意思就是把y的地址賦值給x。

int*x,y;

*x=y;/*此時*x和y是等價的*/

c語言x y和x y有什麼區別,c語言 x y與 x y有什麼區別?x 3,y 4,!(x 0)是什麼意思啊?

石孝柴詩 x y是一個賦值表示式,將y的值賦給x x y是一個邏輯表示式,判斷x是否等於y,其值為1 真 或0 假 c的函式中的形參接收的都值拷貝。用x y後使x指向了y,但x和y都是fun中的區域性變數,退出後都不存在了,影響不到主函式中的變數值。而 x y 是把y的值 也就是主函式中的b的值 賦...

c語言中if和switch有什麼區別

布依秋 總體來說,if語句由於在英語字面上意思比較直觀,就是 如果 所以比較容易理解。就是對 如果 情況的判斷和處理。而 switch 的功能其實和if差不多,但是比較容易出錯的地方就是,在switch語句中,如果在分支中不加break。容易造成邏輯的錯誤。新手很容易犯這個錯誤 湯贊悅 if 用於單...

c語言中和有什么區別,c語言中「 」和「 」有什麼區別?

c語言中,表示賦值 如a b,表示把b的值賦給a 表示等於 如a b,表示a與b相等!等號是 賦值號是 int a 1,是把1賦值給a,a 1,就是a是常值1 有區別 是 賦值語句,用來判斷是否相等 如 if x 10 x如果等於10 則括號裡的值是1執行,x不等於10 則括號裡的值是0 不執行如果...