c語言中或
① c語言中的 與或非運算
C語言中的與、或、非是C語言的邏輯運算符。
1、邏輯與
在C語言中邏輯與用&&表示。
舉例:a&&b(其中a、b都代表一個條件)
如果a和b都為真,則結果為真,如果a和b中有一個條件為假,則結果為假。
2、邏輯或
在C語言中邏輯或用||表示。
舉例:a||b(其中a、b都代表一個條件)
如果a和b有一個或以上為真,則結果為真,二者都為假時,結果為假。
3、邏輯非
在C語言中邏輯非用!表示。
舉例:!a(a代表一個條件)
如果a為假,則!a為真,如果a為真,則!a為假。
(1)c語言中或擴展閱讀
在C 語言中的邏輯運算符及優先順序:
一元:!(邏輯非)。
二元:&&(邏輯與)、||(邏輯或)。
以上三種邏輯運算符中,邏輯非 ! 的優先順序最高,邏輯與 && 次之,邏輯或 || 優先順序最低。即算術、邏輯、賦值運算符的優先順序順序為:
邏輯非 ! >算術 > 邏輯與 &&、邏輯或 || > 賦值=
② C語言中邏輯或的表示方法
在c語言中,沒有專用的布爾型變數。
只要邏輯表達式的值非0,就被認為是「真」;相反,0
則為假。
在c語言中,常以
1
表示
真(也可用別的非0值表示)。但「真」不一定是
1
,它可以是
2
、
-7
等
非0
的數值)
③ c語言中按位或|
這里涉及到的是位操作。
首先你需要了解內存中的數字存儲形式(二進制)。這里的a是一個標識符,用於存儲標記。具體而言,a是一個八個比特長的變數。比如0b00000000,0b00001110等等。用十六進制可以簡寫為0x00, 0x0E等等(這里兩個例子沒有任何含義)
在C語言中「<<」表示移位操作,比如0b00000001左移3位,就會變成0b00001000;左移2位就是0b00000100;等等。
然後你這里沒有給出digitalRead()函數的返回類型,我認為是0或1。在這種情況下,0寫成8位二進制是0b00000000,左移任何位都是0,如果是1的話,左移x位表示把從右往左數第x+1位變成1,比如:1<<3表示0b00001000,從右至左第4位變成1。
接下來,你有4個digitalRead函數,但是你想同時關心4個返回值。怎麼辦呢?我把第x個返回值放在從右往左數第x位上。比如0b00000110,表示第二、三個返回值是1,剩下兩個返回值是0。那麼你按上面的移位操作,可以得到這樣4個數:
0b 0000 0000 (返回值是0)
0b 0000 0100 (返回值是1)
0b 0000 0010 (返回值是1)
0b 0000 0000 (返回值是0)
按位進行「或」操作。「或」操作你肯定明白,有1就是1,沒1才是0
所以根據結果可以知道4個返回值是怎麼樣的。於是在switch語句中的返回值表明,如果是0x00(表示4個返回值是0),或是0x0F(4個返回值都是1)(F是4個1),則進行某種操作。
不知道明白了沒?
④ c語言符號且與或
C語言中的邏輯運算符:&&(與運算)、||(或運算)、!(非運算)。
與運算符(&&)和或運算符(||)均為雙目運算符。具有左結合性。非運算符(!)為單目運算符,具有右結合性。邏輯運算符和其它運算符優先順序的關系可表示如下:
本來沒有錯誤,關系運算符都是按「非與或」順序來運算的。但是,不同的編譯器設計者可能對這個的認識不同,因此,如果不加括弧就會有歧義,因此,編譯器就會提醒應該加括弧(編譯中有警告:waring),但你不加,也不算錯,只是其結果就是按編譯器的運算順序來操作了。
&&是與,||是或;
&是位與,|是位或;
|就是按住shift在按回車上面一個按鈕;
兩下就是||;
這個不是錯誤,是警告warning,編譯器怕記不住操作符優先順序,而導致錯誤,因此提示||的優先順序高於!=。
(4)c語言中或擴展閱讀
C語言內置了豐富的運算符,大體可分為10類:算術運算符、關系運算符、邏輯運算符、位操作運算符、賦值運算符、條件運算符、逗號運算符、指針運算符、求位元組數運算符和特殊運算符。
根據運算符可操作的操作數的個數,可把運算符分為一元運算符、二元運算符和多元運算符(一般三元)。優先順序:當不同運算符優先順序不同時,先計算誰後計算結合性:當不同運算符優先順序相同時,先計算誰後計算誰。
⑤ c語言中「或者」用什麼符號表示
C語言中,表示「或」有兩種:
表示按位或「|」。
表示邏輯或「‖」。
例如:
⑥ C語言中「或者」是怎麼表示的
C語言中「或者」的表示很簡單,就是「||」,「與」是「&&」。
⑦ C語言中"或者"是怎麼表示的
「||」
其它常用運算符:
1、移位運算符
<< 左移運算符;>> 右移運算符。
2、關系運算符
<、<=、>、>=關系運算符。
3、相等運算符
「 == 」等於運算符;「 != 」不等於運算符。
4、位與運算符
「 & 」按位與運算符
5、位異或運算符
「 ∧ 」按位異或運算符(Bitwise exclusive OR operator)。
6、邏輯與運算符
「&&」邏輯與運算符。
(7)c語言中或擴展閱讀
運算符的特性——
1、優先順序:
C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。 在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。
2、結合性:
C語言中各運算符的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。
⑧ C語言里且和或是什麼符號
分別是&&和||。
c語言中的&&有三種使用方式。
1 、取地址操作符。
單目運算,與其後的變數或常量組合,用於獲取該操作數的內存地址。
2 、位操作中的按位與操作
雙目運算符,&&的兩邊的表達式均參與操作。計算時按位計算。對於任意一位,如果兩個操作數該位上的值均為1,則結果該位上為1。否則結果該位上值為0。
3 、當兩個&&符號同時使用,即&&符號。
它的意思是代表邏輯運算中的邏輯與。雙目運算符,&&的兩邊的表達式均參與操作。
當&&兩邊均為真時,結果為真。否則結果為假。&&由於是邏輯運算,結果只有真(1)或假(0)兩種情況。
(8)c語言中或擴展閱讀
1、在使用&的時候進行相與運算,得到的結果一般也是這樣,但是也會有偶然情況,例如10和5相與,即1010&0101,則結果為0,這時候的結果就是不一樣的。2、&&和||卻是邏輯運算符,除了0之外,其他的非零整數都可以看做true,如果10和6相與,結果會是true。
⑨ 關於C語言中 || 和 &&的用法
「||」「&&」表示邏輯運算,「||」表示或者的意思,「&&」表示並且的意思。
&&運算符需要兩個表達式作為操作數,並創建一個表達式,只有當兩個子表達式都為true時,該表達式才為true。
||運算符需要兩個表達式作為操作數,並創建一個表達式,當任何一個子表達式為true時,該表達式為true。只要其中一個子表達式為true,則整體表達式為true,此時另外一個子表達式無論是false還是true都無關緊要。
運算符的優先順序
優先順序與求值順序無關。如a+b && b*c,雖然*優先順序最高,但這個表達式求值順序是從左到右。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。相同優先順序中,按結合性進行結合。大多數運算符結合性是從左到右,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。
基本的優先順序需要記住:
指針最優,單目運算優於雙目運算,如正負號。先算術運算,後移位運算,最後位運算。請特別注意:邏輯運算最後結合。