C語言的非運算子「!」怎麼使用? 100

2025-07-22 14:20:08 字數 3879 閱讀 1809

c語言的非運算子「!」怎麼使用?

1樓:醞釀

如果a是整型的話,那麼a/3得到的結果也是整型即5,這樣b==5的結果就是true,!(b==a/3)為false。

如果a是浮點型的話,那麼結果就是相反的了,a/3=,最終的結果是true。

2樓:

表示式的結果為:假。

b==a/3)的意思是」判斷b==a/3是否成立「 結果:true

那麼!(b==a/3)相當於(not true) 結果:false

3樓:魯濱遜_克羅索

那麼,是因為a是int型數,所以a/3是5,捨去小數部分;你應該是這裡想錯了。

4樓:it孤鶩

a/3=16/3=5

5==5 為真。

整數/整數 = 整數。

c語言中與或非的運算方法是什麼?

5樓:夏碧夢

&&與運算時,只有兩邊同時成立時為真的,具有短路效應,即若左邊為假時,就不再判斷右邊的結果了!

或運算時兩邊只要有乙個成立就是真的,也具有短路效應,即若左邊為真時,就不再判斷右邊的結果了!

非運算,結果取反!

6樓:網友

位運算子與& 1&0 為0

位運算子或 1|0 為1

位運算會非 !0 為1

7樓:度百

&&與運算時就是兩邊同時成立時為真,\\或時兩邊乙個成立就是真,!非真就是假,非假就真.

運算級 !>

8樓:網友

& 按位與。

按位或。 按位非。

按位異或。取反。

c語言中按位或,與,非是怎麼用的,怎麼運算?

9樓:厙成盍醜

x是有符號整數,所以。

x的值是。14,而不是242

如果你定義x為無符號整數,就會得到242了。

右移一位。是00000110

右移兩位是。

10樓:聽不清啊

按位或規則:

按位與規則:

非運算規則:

對每乙個二進位位進行相應的運算。

11樓:

很有用 比如說 奇偶檢驗碼 就是 按位與 實現的 還有一些 要計算的 判定條件什麼的 以後寫多了**就知道了。

12樓:網友

位運算子。

c提供了六種位運算運算子;這些運算子可能只允許整型運算元,即char、short、int和long,無論signed或者unsigned。

按位and按位or 按位異或。

左移。 右移。

求反(一元運算)

按位與操作&通常用於掩去某些位,比如。

n = n & 0177;

使得n中除了低7位的各位為0。

按位或操作|用於開啟某些位:

x = x | set_on;

使得x的某些set_on與相對的位變為1。

按位異或操作^使得當兩個運算元的某位不一樣時置該位為1,相同時置0。

應該區分位操作符&、|與邏輯操作符&&、後者從左到右的評價乙個真值。比如,如果x為1、y為2,那麼x & y為0,而x &&y為1。

移位運算子《和》將左側的運算元左移或者右移右運算元給定的數目,右運算元必須非負。因此x <<2將x的值向左移動兩位,用0填充空位;這相當於乘4。右移乙個無符號數會用0進行填充。

右移乙個帶符號數在某些機器上會用符號位進行填充(「算數移位」)而在其他機器上會用0進行填充(「邏輯移位」)。

單目運算子~對乙個整數求反;即將每乙個1的位變為0,或者相反。比如。

x = x & 077

將x的後六位置0。注意x & 077的值取決於字長,因此比如如果假設x是16位數那麼就是x & 0177700。這種簡易型式並不會造成額外開銷,因為~077是乙個常數表示式,可以在編譯階段被計算。

作為乙個使用位操作的例項,考慮函式getbits(x,p,n)。它返回以p位置開始的n位x值。我們假設0位在最右邊,n和p是正數。

例如,getbits(x,4,3)返回右面的位。

getbits: 返回從位置p開始的n位 */

unsigned getbits(unsigned x, int p, int n)

表示式x >>p+1-n)將需要的域移動到字的右側。~0是全1;將其左移n為並在最右側填入0;用~使得最右側n個1成為掩碼。

13樓:網友

你先把所有的運算元換算成二進位,就知道怎麼算了,很簡單。

c語言邏輯或與非的用法

14樓:網友

c語言邏輯或與非用於邏輯運算,可以在一條語句中同時出現,但還有優先順序的限制。

基本應用:邏輯與,符號為「&&只有兩個運算元都是真,結果才是真。邏輯或,是邏輯運算子,符號是「||表示當兩個條件中有任乙個條件滿足,「邏輯或」的運算結果就為「真」。

」(邏輯非)邏輯運算子。「邏輯非」就是指本來值的反值。

優先順序:c語言中,運算子的運算優先順序共分為15 級。1 級最高,15 級最低。邏輯與運算子 13級「&&邏輯與運算子。

邏輯或運算子 14 級,「 邏輯或運算子。邏輯否「!」單目/一元運算 3級。

因此優先順序為:邏輯非高於邏輯與高於邏輯非。

運算方向:在c語言中,只有4個運算子規定了運算方向,它們是&&、條件運算子及賦值運算子。&&都是先計算左邊表示式的值,當左邊表示式的值能確定整個表示式的值時,就不再計算右邊表示式的值。如 a = 0 &&b; &運算子的左邊位0,則右邊表示式b就不再判斷。

15樓:計0劃0環0境

「!」邏輯非)、「邏輯與)、「邏輯或)是三種邏輯運算子。

邏輯與」相當於生活中說的「並且」62616964757a686964616fe59b9ee7ad9431333337613165,就是兩個條件都同時成立的情況下「邏輯與」的運算結果才為「真」。

邏輯或」相當於生活中的「或者」,當兩個條件中有任乙個條件滿足,「邏輯或」的運算結果就為「真」

邏輯非「就是指本來值的反。

邏輯運算子把各個運算的變數(或常量)連線起來組成乙個邏輯表示式。

邏輯運算子有4個,它們分別是: !邏輯非)、 邏輯或)、&邏輯與) ^異或)。在位運算裡面還有 &(位與)、|位或)的運算。

什麼是邏輯運算--邏輯運算用來判斷一件事情是「對」的還是「錯」的,或者說是「成立」還是「不成立」,判斷的結果是二值的,即沒有「可能是」或者「可能。

不是」,這個「可能」的用法是乙個模糊概念,在計算機裡面進行的是二進位運算,邏輯判斷的結果只有二個值,稱這二個值為「邏輯值」,用數的符號表示就是。

1」和「0」。其中「1」表示該邏輯運算的結果是「成立」的,如果乙個邏輯運算式的結果為「0」,那麼這個邏輯運算式表達的內容「不成立「

例項:#include

int main()

16樓:匿名使用者

請寫出你的「bai不可以一起使用du

的程式。zhi

呵呵!你的邏輯有問題dao啦!

x>0和x<-1怎麼可能同時專。

成立屬?不能同時成立,(x>0&&x<-1)就會出錯!而且你寫的括號是中文的括號,在程式設計時要改成英文的括號。

17樓:tn瓶邪

可否定邏輯值,常用作條件和迴圈語句中的邏輯表示式的組成部分c語言中的邏輯值內只有真(1)假(0)兩種。

容,非真即假,非假即真如if (a) dosomething();表示當a成立時呼叫dosomething,而if (!a) dosomething();則表示當a不成立時呼叫dosomething.

c語言運算子,C語言 運算子 是怎麼運算的

9除以5商1餘4 不是說小數最後位是餘數 餘數就是在整數的除法中,只有能整除與不能整除兩種情況。當不能整除時,就產生餘數,所以餘數問題在小學數學中非常重要。餘數有如下一些重要性質 a,b,c均為自然數 1 餘數小於除數。2 被除數 除數 商 餘數 除數 被除數 餘數 商 商 被除數 餘數 除數。3 ...

c語言中位移位運算子C語言中位移位運算子

位移運算子 符號 描述 左移 右移 位移運算子作用於其左側的變數,其右側的表示式的值就是移動的位數,運算結果就是移動後的變數結果。b a 2 就是a的值左移兩位並賦值為b。a本身的值並沒有改變。向左移位就是在低位補0,向右移位就是在高位上補0。右移時可以保持結果的符號位,也就是右移時,如果最高位為1...

c語言中邏輯運算子用法,C語言中邏輯運算子用法

1 邏輯運算子bai是根據du表示式的值來返zhi回真值或是假值dao。在c語言中沒有專版門的真值和假值,認定權非0為真值,0為假值。2 邏輯運算子運算規則 或 兩個條件中,只要有一個成立,則結果就成立 與 兩個條件中,兩個同時成立,則結果成立,否則不成立 非 取反之意,如果是真,結果是假,如果是假...