c語言中 b a》3 2 1 是什麼意思

2021-12-20 06:35:06 字數 5000 閱讀 8552

1樓:

> ? :這個是三目運算子

就是如果a大於3,則返回2

否則返回1

c語言中 b=a<3?3:2 是什麼意思?

2樓:匿名使用者

b=a<3?3:2 的意義是,如果a的值小於3,那麼把3賦值給b,否則把2賦值給變數b。

?:是一個條件運算子。

相當於:

if(a<3)

b=3;

else

b=2;

3樓:弦訴相思

b接收一個返回值,這個值的條件是,判斷a<3是否成立,成立則b=3,否則b=2,這是一個三元運算子,a

4樓:不能說的_祕密

判斷a<3是否成立,成立則表示式值為3賦給b,即b=3;如果不成立,則表示式值為2賦給b,即b=2;

5樓:紅葉聯隊

如果a<3成立,b=3,否則b=2

在c語言中: a=b>2?1:2 如果b=3,則a=?

6樓:匿名使用者

a= b>2 ? 1 : 2

上面的表示式,將三目運算後的結果賦值給 a。

如果b=3,由 3>2,則b>2 ? 1 : 2的結果=1,將結果賦值給 a,因此:a=1

c語言中,a^b是什麼意思?

7樓:匿名使用者

^按位異或,

例如#include

int main()

輸出結果是8;

1010//10

0010//2

——^1000//8

8樓:夜風輕吹

位運算:按位異或運算子

看運算子左右值的二進位制數字,一一對應,若相同(即:1-1或者0-0)就為0若不同(1-0或者0-1)則為1

結果得到的二進位制就是結果

9樓:匿名使用者

a的b次方

如2^3就是2的3次方,就是8

c語言中a=(0<<2)|(1<<3)是什麼意思

10樓:楓璽

"="是賦值運算子,可以將右邊的運算結果賦值給左邊的變數。"<<"是左移運算子,將數左移一位即相當於擴大2倍。"|"是位或運算子,即按二進位制儲存資料的位進行或運算。

a=(0<<2)|(1<<3) 中有括號,先運算括號中的表示式,0<<2 結果還是0,1<<3 結果為1*2*2*2=8,而0|8=8。所以結果為:a= 8。

擴充套件資料c語言的運算子:

1、算術運算子:* - + / %

2、關係運算子: > < == != >= <=3、邏輯運算子:! && ||

4、位運算子:<< >> ~ | ^ &

5、賦值運算子:=及擴充套件賦值運算子

6、條件運算子:?:

7、逗號運算子:,

8、指標運算子:*和&

9、求位元組數運算子:sizeof

10、強制型別轉換運算子:(型別)

11、分量運算子:. ->

12、下標運算子:[ ]

13、其他:如函式呼叫運算子:()

11樓:匿名使用者

=賦值運算子 將右邊的運算結果賦值給左邊的變數<<左移運算子 左移一位,相當於擴大2倍|位或運算子 按二進位制儲存資料的位進行或運算,有1則1,全0為0

a=(0<<2)|(1<<3) 中有括號,先運算括號中的表示式0<<2 結果還是0

1<<3 結果為1*2*2*2=8

0|8=8

所以結果為:a= 8

12樓:煙火夜空

c語言的移位運算,從數學角度講,就是 乘法 的一種特殊情況,左移1 = ×2,左移 2= ×4,左移n,就是 × 2的n次方。於是,題目就可以理解為:

把 0 ×4, 把 1 × 8 後,把前面2個結果,按位 或 運算。

因為 0 × 4 的結果是 0,而 0 或上 任何數,都等於 任何數 本身,所以 結果 又 為 1×8=8,

13樓:永遠de青春

0 二進位制表示 0000 <<2表示向左移動2位右端補0 但還是01 二進位制表示 0001 <<3表示向左移動3位右端補0 是1000 為 8

|表示按位或操作,1或1的1, 1或0得1, 0或1的1,0或0得00000

1000

——10008

14樓:匿名使用者

《位移運算子 , | 位的或運算子

a<

1<<3相當於1乘以2的3次方,即1*8=8;

所以a=(0<<2)|(1<<3)=0|8=8

15樓:匿名使用者

<<表示向左移,低位補0 比如一個二進位制數整數1111 1111 1110 1000向左移動

4位1111 1110 1000 0000 |表示取或 1111 1110 1000 0000 |1111 1111 1110 1000則為 1111 1111 1110 1000有1則為1 倆個都是0則0

16樓:苦行僧

x<表示將一個數x的所有二進位制位全

部左移n位,x>>m表示將一個數x的所有二進位制位全部右移m位,由此可知,0<<2還是0,1<<3就是8了,「|"是按位或的運算子,兩個相應的二進位制位中只要有一個為1,該位的結果就是1。所以最後的a的二進位制位是00001000,用十進位制數表示a=8.問題解決。

17樓:匿名使用者

《左移操作; | 逐位或操作

0<<2 = 0;

1<<3 = 8;

0|8 = 8;

所以 a = 8;

c語言中:k= (a++==b) ? 2:3什麼意思

18樓:唯愛丶等憂傷

如果a等於b,則k=2,否則k=3

然後 a=a+1;

相當於if(a===b)

k=2;

else k=3;

a=a+1;

19樓:新小圈崛起了

如果a++(++是自增運算子)的值等於b那麼k=2,不等於b,k=3。

d=a?b:c; 是三目運算子

20樓:

如果a++==b,則k=2,否則k=3

21樓:蒿飇睢菡

後面是一個逗號表示式

最終的結果是k=3

c語言中,若a=3,b=2,c=1 為什麼表示式a>b>c不成立?

22樓:初試鋒芒天啊

首先,這麼寫是有問題的,我覺得你應該寫成 a > b && b > c,這才是你要表達的意思。

你上面的寫法,也就是a>b>c,其真正的判斷過程是這樣的,首先是a>b,它們比較的結果為真,所以結果為1,然後與c比較,也就是1>c,而1顯然不大於1,所以不能為真。

23樓:

a>b為真,則表示式a>b的值為1則a>b>c為1>c不成了,在c中,a>b>c和數學中不同,正確的表達方式是a>b&&b>c

24樓:校花丶窼頿齔

因為c語言裡表示式是不可以連不等於的 c語言不允許這樣的語法 在c語言裡 你可以表示為a>b&&b>c

25樓:太原大海

c表示式成立!

a>b>c=3>2>1=1>1=0

c語言中int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf

26樓:匿名使用者

c語言copy提供一種特殊的運算子——逗號運算子。用它將兩個表示式連線起來。如:

3+5,6+8

稱為逗號表示式,又稱為「順序求值運算子」。逗號表示式的一般形式為表示式1,表示式2

逗號表示式的求解過程是:先求解表示式1,再求解表示式2。整個逗號表示式的值是表示式2的值。例如,上面的逗號表示式「3+5,6+8」的值為14。又如,逗號表示式

a=3*5,a*4

對此表示式的求解,讀者可能會有兩種不同的理解:一種認為「3*5,a*4」 是一個逗號表示式,先求出此逗號表示式的值, 如果a的原值為3,則逗號表示式的值為12,將12賦給a, 因此最後a的值為12。另一種認為:

「a=3*5」是一個賦值表示式」,「a*4」是另一個表示式,二者用逗號相連,構成一個逗號表示式。這兩者哪一個對呢?賦值運算子的優先順序別高於逗號運算子, 因此應先求解a=3*5(也就是把「a=3*5」作為一個表示式)。

經計算和賦值後得到a的值為15,然後求解a*4,得60。整個逗號表示式的值為60。

27樓:匿名使用者

c=(a+=a+2),(a=b,b+3);

->c=(a+=a+2);(a=b,b+3);

->c=(a+=a+2);a=b;b+3;

28樓:焚香木弋

int a=1,b=2,c=3;

c=(a+=a+2),(a=b,b+3);

相當於兩個順序語句:

先執行了c=(a+=a+2)這個語句得出c=a=a+1+2=4;

然後執行a=b,b+3;得出a=b=2;後面專的b+3單純是迷惑人

屬而已,不起作用。

所以輸出的答案是a=2,b=2,c=4;

29樓:沫宸萱

樓主自己敲下**執行結果不就知道了?

30樓:康康

2,2,4

可以自己編譯跑一下啊,比來問以後效率得多

c語言中c什麼意思,c語言中!是什麼意思?

c表示取c的邏輯非,例如if c 表示如果c 0,則語句成立。不曉得你要問什麼 如果想要更確切的解釋,請貼出相關 一種計算機程式語言,是現在運用最廣泛的語言,用於編寫程式 邏輯運算子,取反的意思 真 假 假 真 你確定歎號是中文狀態的嗎?c語言中!是什麼意思?include stdio.h main...

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

詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷一件事情是 對 的還是 錯 的,或者說是 成立 還是...

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

是一個整體,它是用於指向結構體子資料的指標,用來取子資料。換種說法,如果我們在c語言中定義了一個結構體,然後申明一個指標指向這個結構體,那麼我們要用指標取出結構體中的資料,就要用到 問題中的p p next 意思是將p指向的一個結構體例項中的自資料next賦值給p。c語言中,是 邏輯或 操作符。其左...