c語言中b a是什麼意思,在C語言中「a b」是什麼意思?

2021-03-28 02:47:09 字數 6096 閱讀 6023

1樓:陽光上的橋

不要這樣寫,這樣寫了程式不報錯,但是執行的效果不是判斷b在a和c之間,而是把a與b比較的結果(true或者false)與c進行比較。

2樓:匿名使用者

+=是複合運算子。 這句意為b=b+a; 注意+=中間沒有空格

3樓:匿名使用者

首先,b++表示對b做自加運算,我們用c代替,c=b++;

然後,a+=b++ 等於 a+=c,即a=a+c,也就是說「==」之前部分是給a賦值的,我們用d代替,即d=a+c;

最後是一個邏輯判斷d==0,也就是判斷前面計算出來的a是否等於0.

這裡要注意的一個地方是b++,不是++b,也就是說在當前這一次判斷的時候b並不自加,而是在當前判斷執行完之後才自加1.

比如初始a=1, b=2,b沒有自加,a=a+b=1+2=3,那麼這句話這次是在判斷「3==0」,下次再判斷的時候b才自加變成了2,a=a+b=3+2=5,相當於在判斷「5==0」,依次類推即可。

4樓:董俊錕

這括號裡面是逗號運算子,它的表示式的值是最後一個表示式的值我也可以這樣寫

7+b;

b++;

f=a+7;

5樓:中械

其實是a=a+b++==0的簡寫;從運算子的優先順序可知:++最高,+次之,==再次之,而=最低,即先進行b++運算,在進行a+(b++)運算,其次進行a+(b++)==0運算,最總吧a+(b++)==0的結果賦給a。這個可以程式設計應正。

6樓:匿名使用者

=是c/c 獨有的複合賦值運算子,實際上是一種縮寫形式,使得變數的改變更為簡潔,b =a原式為b=b a。=是賦值不是等於。複合賦值運算子有下列這些:

=加法賦值,-=減法賦值,*=乘法賦值,/=除法賦值,%=模運算賦值,<<=左移賦值,>>=右移賦值,&=位邏輯「與」賦值,|=位邏輯「或」賦值,^=位邏輯異或賦值。b=b a與b =a的區別在於,前表示式a被計算了兩次,後表示式a僅計算了一次,這對於程式執行無多大影響,但使用普通賦值運算子,當表示式作為函式的返回值時,函式就會被呼叫兩次,會加大程式的開銷,使效率降低。

7樓:

b+=a;相當於b=b+a;

( i++ )=( i+=1 ) =(i = i + 1)

8樓:匿名使用者

b+=a;相當於b=b+a;

9樓:匿名使用者

這個是加賦值:b=b+a.

10樓:匿名使用者

b = b + a;

11樓:匿名使用者

首先你要明白什麼是表示式,還有變數。

a是一個變數。

a++,++a都是a加了1.

比如a原來是1,執行了a++或++a後,a變數的值就是2了

至於a++和++a的區別主要是在表示式上的區別。

++a是先執行了a加1後,參與表示式的計算。

a++是a先參與表示式的計算,後執行自加1.

比如:int a,b;

a=1;//如果你想把a的值1,付給b.那麼,但你又想使得a加1。你就可以這麼做

b=a++;//++在a之後,先把a的值付給b,然後再本身加1 。這時候b=1,a=2了。

//如果你還不懂得話。b=a++;的意思 就是b=a;a=a+1;這兩句意思

//而b=++a 就是 a=a+1;b=a;的意思

至於a++=a+a+1

好像寫錯了吧

是a+=a+a+1

優先順序等於 a=a+(a+a+1)//a+=b 是 a=a+b 的簡化

!= 不等於,是條件運算子,用來判斷真假的。

比如1!=2; 表示式的值就是假,也就是0;

c語言很多式子都是簡化的,這樣雖然可以節省**,卻比較讓人糊塗。

12樓:匿名使用者

a++就是運算後+1,在表示式裡面的時候還是a而++a就是先a+1然後代入表示式計算。

!=是不等於的意思

在c語言中「a^b」是什麼意思?

13樓:匿名使用者

a 異或 b

按位異或

比如 a 為 5 --- 0101

b 為 7 ----0111

______________

0010

對應位相同為0, 不同為1

希望對你有幫助。謝謝

c語言中:a+++b是什麼意思?

14樓:湛藍水晶

就近原則,與編譯器無關,很容易記的。

相當於(a++)+b;

但是太多+號就不行了,

比如a+++++b,雖然一看就知道意思是(a++)+(++b);但是編譯就通不過,出錯資訊大概是:迷失在加號空間?

15樓:幸巴達

呵呵,不用管,結果是一樣的

都等於a+b

#include "stdafx.h"

#include "stdio.h"

int main(int argc, char* argv)結果 a=2,b=2,c=3

16樓:匿名使用者

是(a++)+b如果是a+(++b)的話答案應該是4,前者答案才是3

17樓:天曼安周聖

這是(a%b)?b:a

其中a%b

是a除以b取餘數,

若不等於0

(也就是b不整除a)就當成立,

整個式子是取b的值.

若等於0

(也就是b整除a)就當不成立,

整個式子是取a的值.

c語言中語句a+=b++是什麼意思

18樓:匿名使用者

先解釋一下 += 和 ++ 是

什麼意思+= 的意思是 左值和右值相加結果賦值給左值如 a=1;b=2;a+=b;後,a=3;b=2。++ 的意思是變數自加1,如a=1;a++;a的值是2,在c中,++有前置和後置如 ++a;a++;,單獨使用的時候是沒有區別的,都是自加1,在有運算時就有區別了,前置的++是自加後才參與運算,後置的++是參與運算後在自加1。如題的畫,假定a=1,b=2,a+=b++的意思就是b=2先參與a+=b運算a=3,然後b自加1,b=3;如果b++換成前置++b,a+=++b就是b先自加1,b=4,然後參與a+=b運算,a=4。

19樓:白蘿蔔

a+=b++要先進行a+=b的運算,然後再進行b的自運算舉例a=1,b=2,則a+=b++,有a=a+b=1+2=3,b=b+1=3.

20樓:匿名使用者

a+=b++的意思是a=a+b,然後b=b+1,就是這樣,你應該是初學c吧!!

21樓:匿名使用者

a+=b++等價於a=a+(b++) 運算時,先計算括號裡面的b++即可。 有疑問提出。 望採納

22樓:哀韶蕭貝晨

要說在c語言中這充其量只能算作是「偽**」。

在vb、pascal等程式設計語言中,<>是「不等於」的意思。

在c中,「不等於」的關係應表示為「!=」

if(a

!=b+c)

printf("a不等於b+c\n");

else

printf("a等於b+c\n");

c語言中a!=b 什麼意思呢

23樓:匿名使用者

這個叫三目運算式.標準格式是如下

num=a>b?x:y; 簡單解決.a>b是一個表示式,如果這個表示式成立.也就是返回是真的.那麼就將冒號前面的x交給num,否則就把y交給num.

意思就是說.問號前面的關係表示式如果為真就取冒號前面的變數,如果為假就取後面的,當然這裡的表示式也可以為其它型別.比如

num='\0'?x:y;這樣也是可以的.'\0'返回是0也就是假,所以最後num=y;

你這個表示式,我想不用我再告訴你是什麼意思了吧?

我又回來補充了.a*=如果你是問這個是什麼意思,這個是乘等的意思,比如a*=i;意思就是a=a*i;

你的這個表示式答案我給你寫最下面,你行自己用我說的理解一下,看對不.

t=a*=a>b?a:b的意思就是,先比較a和b如果a大於b那麼就取a的值,否則取b的值,然後將取出來的值與a相乘,最後再賦給a然後再賦給t

24樓:匿名使用者

a=b!=0;

左邊第一個等號,是賦值運算;

!=是關係運算,進行「不等於」運算;

關係運算的結果是一個邏輯值,c語言把false轉換成0,把truee轉換成1。

這個語句,先進行判斷b是否「不等於」0,如果b為0,給a賦值0,;如果b不為0,給a賦值1。

25樓:匿名使用者

!b在c語言中表示不等於,你這句意思就是說「a != b ,a 不等於 b」就是一個運算子,和加減乘除一樣,只不過在c語言中不等於號表示為這個「!

=」等於號是這個「==」,希望能對你有所幫助。

26樓:匿名使用者

(a-b)條件成立(a-b不等於0則成立),則等於a ,反之等於 b

三目運算子

《表示式1>?《表示式2>:《表示式3>; "?

"運算子的含義是: 先求表示式1的值, 如果為真, 則執行表示式2,並返回表示式2的結果 ; 如果表示式1的值為假, 則執行表示式3 ,並返回表示式3的結果。

27樓:匿名使用者

一般做一個條件

例如if(a!=b )

結果wei真和假

如果a、b不相等,結果真【真用1表示】

如果a=b,則結果假【假用0表示】

28樓:戀戀土豆絲

首先,你要知道==操作符

的優先性是比=高的。

所以a=b==c,先運算b==c,這個表示式的含義是,若b與c相等,那麼得出的值為1,若不等則為0.而根據你的定義,b=2,c=3,顯然兩個數不等,所以a=0.

29樓:天雨下凡

x=(x,b,c);就是把變數c的值賦給變數x

(x,b,c)是逗號表示式,值是最右邊的值,即c的值。

30樓:匿名使用者

說明b是一個指標變數,其定義應該是這樣:int *b,a;

*是取值運算子,*b就是取b指向儲存空間的值;

&是取地址運算子,&a表示取變數a的地址。

*運算子後面應該跟指標;而&後面應該跟變數名(或陣列元素,或結構體變數.成員名)。

31樓:匿名使用者

int a=04,b; a是八進位制數,把a的值轉換成二進位制為:100,補齊8位則是0000 0100

b=a<<1

把a的二進位制形式左移1位,最右邊補1個0

則結果為: 0000 1000

所以b的二進位制形式是:0000 1000

把b轉換成十進位制 則是8

32樓:秋楓

*b=&a這種寫法只有在定義時這麼寫才對,例如 int *b;*b=&a;是錯誤的,正確的是int a=1;int *b=&a;意思是說定義一個指標b,b裡存的是a這個變數的地址。如果定義好了一個這真b,那麼*b就指b這個變數裡存的地址裡的值(有點繞口,慢慢理解),&為取地址符,&a就是a這個變數的地址。

33樓:匿名使用者

朋友,>是比較運算子,!=是邏輯運算子!其優先順序低於比較運算子所以先判斷a>b是否成立,如果成立,則a>b 整體就為1,不成立則為0,

然後判斷a>b 整體是否等於c,如果不等於a>b!=c這個式子整體為1,

如果等於c,則a>b!=c

這個式子整體為0.應該是用來判斷c的值是1或是0的

34樓:

先判斷k是否小於a,如果是,k的值不變,否則k的值為c然後判斷k是否小於b,如果是,k的值為c,否則k的值為a整個相當於k取a,b,c中的最小值

。。。。。。。。。。。。。。。。。。。。。。。。

算了,感覺條件不足。

C語言中a 2是什麼意思,在C語言中b a 2 是什麼意思?

a 表示a自增1,就是bai給a 1然後du賦值給a,zhi相當於daoa a 1。在c c 等高階語言中,是自增運算子,它有版兩種用法 1 i 使用權i之前先使i加一 2 i 使用i之後再加一。擴充套件資料 程式例項 include using namespace std int main 執行結...

c語言中extern是什麼意思,在C語言中標頭檔案的extern是什麼意思呢?

extern 宣告的函式是在外部定義的函式例項,最常見的就是通過extern定義在win32 dll定義的非託管函式。就是全域性變數的意思,在建立工程的情況下,其他檔案也可以呼叫這個變數。用了extern,就表示這個變數是全域性的和動態的,不存在使用哪一個的問題.比如3號檔案的int a變成289了...

c語言中的,c語言中 是什麼意思

c語言中的 是邏輯運算中的非運算。是c語言中的非運算子,在變數前面使用它,會構建非運算表示式,表示式的返回結果是個布林值 也就是隻有true或false 對變數使用時,如果變數不是布林資料型別,將會強制轉化為布林型別再使用,如整形變數123將被轉化為true,整形變數0將被轉化為false。擴充套件...