c語言中 b 2 3 b 的值是多少 怎麼算的

2025-06-20 10:15:25 字數 3502 閱讀 6846

1樓:ok小葡萄

b左移兩位再與3相除,或運算中,前者成立的話就不用看後著是否成立了。

2樓:網友

b位運算向左移2位。

3||b 與運算(結果0,或者1)

最後前兩者相除法。

3樓:網友

計算過程如下:

1、先求表達 式(b <<2), 將b向左移2位;

2、然後計算表達 (3||b)。3||b 是邏輯表示式。

這裡要注意乙個概念:在處理「邏輯或」表示式的過程中,只要表示式中有乙個參與「邏輯或」運算的子表示式為真,則整個表示式為真。運用這個概念:

1)表示式 3 ||b 是邏輯與運算表示式;

2)參與邏輯運算的兩個子表示式分別為常數3和變數 b(3)顯然,常數表示式3 ≠ 0,所以常數3表示式為」真「(4)運用上面說的概念,表示式 3||b 為」真「(5)邏輯表示式為真,即表示式的值為 1;

3、這個表示式的的結果是 4b,即向左移2位的結果。

c語言:int b=2 b<<2/(3||b)是什麼意思?

4樓:網友

你的寫法有問題:

如果這樣寫的結果為:

int b;

b=b<<2/(3||b);

c語言運算子優先順序詳細列表請參看。

從此表可以看出:/運算子比左移運算子《級別高。而左移運算子《比邏輯或||運算子級別高,但此處邏輯或運算子被小括號()擴起來了,故該表示式的詳解為:

3||b:由於3為非零值故該表示結果為真,即結果為1由於除法運算級別高,故先執行除法,即2/1結果為2.

然後執行左移運算:將b的值左移2位,十進位2的二進位格式為0010,左移兩位為1000,故結果為8.

5樓:匿名使用者

int b=2;

3||b)即3與b進行 「或」 運算,(3||2)為真,即(3||b)的結果為1;

算術運算子優先順序高於移位運算子,所以先進行算術運算,即b<<(2/1);

最後b左移2位,b=2,二進位表示為0010,左移2位,則為1000,即為十進位的8。

6樓:雲飄青峰上

《是左移運算子 /是算術運算子 ||是邏輯運算子 且優先順序() / 《所以(3||b)=1 然後2/1=2 最後b<<2相當於b乘以2的2次方即b<<2=8

7樓:武曉瑤

這題的入手點是考運算子的優先順序 ||是邏輯或運算,《是左移運算。

8樓:漆雕孤萍宦漪

b!=2

是判斷b是否為2。是,結果為0,不是,結果為1。

c--!=3

是判斷c是否為3。是,結果為0,不是,結果為1。

然後c自減1.

整體看((b!=2)||c--!=3))|是或運算子,兩邊只要有乙個是非零,結果就是1.

如果前面是非零,則系統不會再去處理後面部分,這樣的話,c值不變。

c語言問題,b=2,表示式(b<<)/(3||b)的值是多少,為什麼。 (3||b)為什麼等於

9樓:網友

(3||b)並不是位運算而是或操作,因為3就是true所以是1;

前面b《是位運算表示左移先轉成2進位 2 就是 10 左移一位 就是 100 換算成十進位就是4

答案就是 4

在c語言中 int a=1,b=2,c=3; 表示式(a&b)||(a|b) 的值是

10樓:網友

子表示式a&b值為0,a|b值為3

所以(a&b)||a|b)整體值為1

c語言(b!=2||c--!=3)是什麼意思

11樓:一瓢獨取三千

這是個邏輯與表示式,該表示式中有乙個判斷成立,表示式就成立。就是在你定義b時,如果b不等於2(即b!=2為真),這個語句就結束。否則繼續判斷c--是否等於3.

12樓:青檬護膚

//b不等於2 或者 c自減1後不等於3

表示或 c--就等同於c=c-1

請問樓主**還不懂呢?

c語言 若有定義語句 int b = 2; 則表示式 ( b<<2 ) / ( 3 || b )的值是

13樓:網友

我感覺這題答了以後 採納率又會下來。。。

2 的二進位形式 0010

b<<2 = 1000 = 8;

3||b =3||2 =1;

所以最後的表示式的值就是 8

至於你說的為什麼3||b =1.。。

首先你得分清 ||與 | 運算。

是按位或 就是你說的 011 | 010 後結果為 011

而在|| 的世界裡,只認兩個值 0 和 1。 即真和假。

所有非零值 都會 被當成1 來 運算,零就是零。

所以 3||b 3被認為是1來進行運算的,即真值。乙個真||(真/假)均為真。

所以3||b的值就是 真,就是1. 這個高中數學裡都用的吧。。那叫什麼邏輯命題來著。真真假假的,其實是乙個東西。

另外if while 裡面的判斷條件 也和上面類似。

if(b) 那麼b只要是非零都被認為是真 就是1 就會執行,0就不執行。

例如 while(3)

這也是個死迴圈,而不是 只有while(1)才會無限執行。。。3也是非零值,就被當做真值。

可能初學時候你們if的判斷還只寫作表示式的形式。

if(a==b) 其實也是一樣的 。 a==b a>b abool 其實就是char型別 佔8位元組。只不過這裡的值 只能有 0和1.兩個。

為了拿到採納率 所以多寫點,雖然比較無關。。。

bool c;

c =(a==b);

會判斷 如果a和b相等,那麼值就為1,賦值給c 不等就為0 賦值給c。

這也是if (a==b) 如果相等就執行的乙個原因。

14樓:網友

搞定運算子的意思即可,8

c語言中b=2,為什麼b||3=1?

15樓:賴睿範欽密

這是逗號表示式,逗號表示式的值取最後一項表示式的值,例如(3,4,5)則表示式的值為5,(b=1,c=2,d=3)的值取表示式d=3的值。複雜點(3,(4,5))的值為5,因為(3,(4,5))的值為(4,5)的值。

c語言中b<<2,是什麼意思?如果b=2,結果是多少?

16樓:網友

b<<2的意思是b向左移動2個bit。

如果b是2,那麼向左移動2個bit後,是8。

c語言中1+(2<3)的值是多少?

17樓:小黑跳大不解釋

2<3 是乙個布林判斷 為真 所以取值為1

然後1 + 1 = 2;

c語言中a1,b2,c43的值為多少

逗號表示式的返回值是最後一個值 因此是43 逗號表示式的一般形式是 表示式1,表示式2,表示式n。其求解過程是 先計算表示式1,最後計算表示式n,最後整個逗號表示式的值為表示式n的值。因此,a 1,b 2,c 43 的值為43.在c語言中 int a 1,b 2,c 3 表示式 a b a b 的值...

c語言中x的初始值是0b01111010,執行了x 0x20之後x是多少?x 0x20是什麼意思

x 0x20 吧?x 0x20 即 x x 0x20 0b01111010 0b00100000 0b01111010 運算子 是 或 運算子,0 0 0,0 1 1,1 0 1,1 1 1,c語言中沒有 這個運算子號。是不是筆誤?是不是 如果是的話,那麼答案是 x的值不變。因為0x20就等於0b0...

c語言中,x的絕對值怎麼表示,C語言中 絕對值 怎麼表示?

c語言中bai 通過相應的函式得du到x的絕對值,因zhi為資料資料型別不同 dao,相應的函內數不同。整型型別容 變數 整數 取絕對值 int abs int x long int labs long x long long int llabs long long x 浮點型別變數 小數 取絕對值...