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 不執行如果...