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語言中,是 邏輯或 操作符。其左...