c中邏輯運算子用法,c語言邏輯運算子我不明白和到底是怎麼運算的

2021-03-03 20:35:31 字數 5873 閱讀 8191

1樓:鬼火狼煙

邏輯與運copy算符&&連線起來的表達

式僅當其bai每一個表示式均為du真(zhic中用非0表示)時,整個表示式才為dao真,只要有一個為假(c中用0表示),整個表示式的值為假。既然這樣,很多編譯器遇到邏輯與運算子連線的表示式時,如果前面的子表示式值為0,則對後面的子表示式不予計算。

在很多地方,&&有特殊用法,比如用邏輯與運算子連線兩個語句或命令,這時只有前面的語句正確執行,系統才會執行後面的語句,如果前面的語句執行失敗或者返回值為0,則不會執行後面的語句或命令。

舉例來說,假設整型變數a=1,b=2,c=3,d=4,m=2,n=2;則執行表示式

(m=a>b)&&(n=c>d)以後,變數m的值變為0(因為a>b不成立),而n的值仍為2,因為前面的子表示式值為0,則對後面的子表示式(n=c>d)不予計算。

c語言邏輯運算子 我不明白&&和||到底是怎麼運算的

2樓:匿名使用者

1 形式:

&&的形式為a&&b。

||的形式為a||b。

2 計算規則:

&&只有當a和b的值均非0時,結果為1,否則結果為0。

||只有當a和b的值均為0時,結果為0,否則結果為1。

3 優先順序:

&&的優先順序比||高,所以在寫在一起時,先計算&& 再計算||。

相同符號時,自左向右計算。

4 短路原則:

對於&&,如果左運算元a為0,那麼結果必然為0, 右運算元b將不參與計算。

對於||,如果左運算元a非0,那麼結果必然為1, 右運算元b將不參與計算。

3樓:匿名使用者

邏輯運算,方式子成立是即為真時整個式子值就為1反之為0,而對於值來說只要不是0就為真,如i&&j&&k=1,i,j=3都為真,所以整個式子為真等於1。另外要注意的是當&&左邊為假時不進行右邊計算,如(i=0)&&(j=3);l為0假右邊j=3不進行運算,所以j還是等於2,手機寫的真不方便。

4樓:**

i&&j&&k,先判斷i&&j,因為i和j都大於0,所以這個命題是真的,所以i&&j這個表示式等於1,再判斷後面的1&&k(ps:如果i&&j這個表示式等於0,後面的就不用判斷了,整個表示式就是0了)

。因為k大於0,所以1&&k就等於1,整個表示式就等於1了。

5樓:匿名使用者

邏輯正即為1,否則就為0,所以i&&j&&k=1

至於後面的就是因為&&這個運算子了,如果它的前一個為0的話那後面的就會直接忽略

不過你的結果貌似有點問題。。。。

&&的作為邏輯操作符的使用方法

6樓:純哥

x&&y

功能描述: 「條件與」:x和y均為true,取值是true,否則取值是false

&和&&都需要兩個運算元的值都是true時,才取值true,但是兩個操作符還是有區別的:

使用方法是int&& rx=x; 例如:(x>y)&&(x>z)

如果x>y的值是false,那麼x>z的值將不再計算,(x>y)&&(x>z)直接取值false;

而(x>y)&(x>z);

即使x>y的值是false那麼x>z的值仍需計算,儘管x>z的值不會影響x>y&x>z的結果。這就是為什麼稱&&為「條件與」的理由:只有在滿足第一個運算元的值為true的條件下,才計算第二個運算元的值。

find \11\ c:\1.txt && echo 成功

(如果找到了「111」字元就顯示成功,找不到不顯示。) 例如:int && ex_1=2*x+3

在這裡rvalue初始化表示式為引用表示式2*x+3的值,它是一個臨時值,即rvalue。lvalue則不能這麼做。但在函式中它的作用才凸顯出來,它可以完成引用形參型別,能夠使表示式作為實參來呼叫函式。

如果直接用lvalue則不能這麼做。

c語言中邏輯運算子非"!"與"&&"或"||"的優先順序怎麼說?

7樓:a羅網天下

邏輯非的優先順序最高,邏輯與次之,邏輯或最低,即:!(非) → &&(與) → ||(或)

記憶口訣:not(非) and(與) or(或)

運算規則

1)&&:當且僅當兩個運算量的值都為"真"時,運算結果為"真",否則為"假"。

2) || :當且僅當兩個運算量的值都為"假"時,運算結果為"假",否則為"真"。

3) ! :當運算量的值為"真"時,運算結果為"假";當運算量的值為"假"時,運算結果為"真"。

例如,假定x=5,則(x>=0) && (x<10)的值為"真",(x<-1) || (x>5)的值為"假"。

優先順序

優先順序與求值順序無關。如a+b && b*c,雖然*優先順序最高,但這個表示式求值順序是從左到右。

優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。

相同優先順序中,按結合性進行結合。大多數運算子結合性是從左到右,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。

基本的優先順序需要記住:

指標最優,單目運算優於雙目運算。如正負號。

先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 & 7等價於 (1 << (3 + 2))&7.

邏輯運算最後結合。

8樓:喜歡種蘑菇

同一優先順序的運算子,結合次序由結合方向所決定。簡單記就是:! > 算術運算子 > 關係運算子 > && > || > 賦值運算子。

9樓:飛雪射鹿笑倚鴛

c語言中邏輯運算子優先順序非"!"與>"&&">"||",建議混合使用的時候加上括號,這樣的**便於自己和其他人維護。

10樓:我喜歡蘆潔

「!」>「&&」>「‖」

11樓:

不知道的就加括號,這是常識,不必記

c語言運算子 &和 &&的區別

12樓:匿名使用者

& 是位運算子,也就是二進位制計算

07h = 111b

fch = 11111100b

07h & fch = 100b = 4h&& 是邏輯運算子,0代表false,其他數值代表true(一般用1表示)

07h 不是0,所以為true

fch 不是0,所以為true

true && true 的結果為 true,用1表示,所以07h && fch = 1h

13樓:

&是按二進位制位的與運算,比如兩個數的二進位制表示分別為101和110,那麼著兩個數進行&運算之後的只應該是100(1&1=1,0&1=0,1&0=0);

&&是邏輯與運算,兩個數a,b,只有他們同時為真(true)的時候進行&&運算得出的結果才為真(true),否則為假(false),例如 1 && 0 = 0, 1&&1 = 1

14樓:匿名使用者

&是位與,&&是與。位與就是說把一個數換算成2進位制,每一位分別與。是07就是換算成十進位制為4。

與就是兩個數變換成真假來算,c裡面非0即為真,所以結果

15樓:兔子和小強

&是按位與

&&是邏輯與

07(h) = 0000 0111(b)

fc(h) = 1111 1100(b)

07(h)&&fc(h) = 1

16樓:匿名使用者

&&: 邏輯與:07(h)&&fc(h) = 1

&: 算術與

17樓:憨豆阿呆

&是按位與運算子,&&是邏輯與運算子

c#中運算子&& 和 ||用法

18樓:匿名使用者

^算術運算子 + - * / %

邏輯運算子 & | ^ ~ && || !

字串連線運算子 +

增量和減量運算子 ++ --

移位運算子 << >>

比較運算子 == != < > <= >=賦值運算子 = += -= *= /= %= |= ^= <<= >>=

成員訪問運算子(用於物件和結構) .

索引運算子(用於陣列和索引器)

資料型別轉換運算子 ()

條件運算子(三元運算子) ?:

委託連線和刪除運算子 + -

物件建立運算子 new

型別資訊運算子 sizeof(只用於不安全的**) is as typeof

溢位異常控制運算子 checked unchecked間接定址運算子 * -> &(只用於不安全的**)名稱空間別名限定符 ::

空接合運算子 ??

19樓:匿名使用者

a!=0 且b!=0 :a!=0 && b!=0

a!=0 或b!=0:a!=0 || b!=0

20樓:就是大熊貓

a!=0 & b!=0 ;a和b都為真,則為真,有一個為假,則為假;

a!=0 && b!=0 ;如若第一個a為假,就不會再運算第二個b,直接輸出為假;

a!=0 | b!=0 ;a和b有一個為真,則為真,兩個為假,則為假;

a!=0 || b!=0 ;如若第一個a為真,就不會再運算第二個b,直接輸出為真;

c語言中邏輯運算子用法

21樓:匿名使用者

1、邏輯運算子bai是根據du表示式的值來返zhi回真值或是假值dao。在c語言中沒有專版門的真值和假值,認定權非0為真值,0為假值。

2、邏輯運算子運算規則:

|| 或:兩個條件中,只要有一個成立,則結果就成立;

&& 與:兩個條件中,兩個同時成立,則結果成立,否則不成立;

! 非:取反之意,如果是真,結果是假,如果是假,結果是真。

下為c語言邏輯運算||和&&的真值表:

22樓:健康聰明寶貝

c語言程式設計中的邏輯運算子使用詳解

23樓:匿名使用者

&& 邏輯與,不過來一旦左邊源的表示式

為假,不進行右邊表示式的運算。相當於我們的「並且」|| 邏輯或,相當於我們日常生活中使用的「或」,也是左邊的一旦為真,後面的也不判斷。!,取反,是單目運算子,將後面表示式的值取反。

若後面的為真(非零),則取反後為假(0);後面的為假(0),取反後為真(1)

24樓:匿名使用者

首先邏輯運算

copy符的優先順序是非 與 或,bai對於「與」只有運算du符兩邊同時為真zhi

(如果兩邊是表dao達式則結果都為非0)結果為真即為1,例如:5+3 && 1 結果就為1,1-1 && 1結果就為0;對於「或」有一個為真結果就為真即結果為1;例如:2+1 || 0結果為1;3-3 || 2-2結果為0非沒有什麼好說的就是取反

25樓:匿名使用者

&&,表示兩邊的條件

bai成du立才行,如

我愛zhi你&&你愛我,同時dao成立的話就容易走到一起。專||,表屬示兩邊有一個條件成立就行,如

我不愛你||你不愛我,只要有一個不成立,就不可能走到一起!,表示相反,如

!男,就是非男,即表示女

C中運算子和用法,c 中邏輯運算子 是或的意思

算術運算子 邏輯運算子 字串連線運算子 增量和減量運算子 移位運算子 比較運算子 賦值運算子 成員訪問運算子 用於物件和結構 索引運算子 用於陣列和索引器 資料型別轉換運算子 條件運算子 三元運算子 委託連線和刪除運算子 物件建立運算子 new 型別資訊運算子 sizeof 只用於不安全的 is a...

請問C語言的條件運算子和邏輯運算子哪個優先

優先bai級順序 邏輯與 邏du輯或 條件zhi運算子?可以參dao見 若有內不解,歡迎容追問。的優先順序比 高一級。c語言中邏輯運算子非 與 或 的優先順序怎麼說?邏輯非的優先順序最高,邏輯與次之,邏輯或最低,即 非 與 或 記憶口訣 not 非 and 與 or 或 運算規則 1 當且僅當兩個運...

C語言中邏輯非是什麼意思,C語言中邏輯運算子非與或的優先順序怎麼說

邏輯與 是 邏輯非 否 比如 李宇春是男人,這句話就是 邏輯非 陳冠希是男人,這句話就是 邏輯與 邏輯非bai 是c語言中邏輯運算中的一種du,其運算子號zhi為英文半形嘆dao號,即 運算回為單目運算,即只有答一個運算元,與其後面的常量或變數相結合進行運算。c語言中的邏輯運算結果均只有真和假兩種,...