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提供了六種位運算運算符;這些運算符可能只允許整型操作數,即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)返回右面的4、3、2位。
/*
getbits:
返回從位置p開始的n位
*/
unsigned
getbits(unsigned
x,
int
p,
int
n)
{
return
(x
>>
(p+1-n))
&
~(~0
<<
n);
}
表達式x
>>
(p+1-n)將需要的域移動到字的右側。~0是全1;將其左移n為並在最右側填入0;用~使得最右側n個1成為掩碼。
③ 求c語言,與,或,非運算函數
按位「與」、「或」和「非」運算是C/C++中標准運算符,不需要另外編寫函數。
與運算: c = a & b;
或運算: c = a | b;
非運算: ~a;
非運算: ~b
另外,!是邏輯運算符,對於a,如果a 為 0,!a = 1,如果a 不為 0,則!a = 0。
④ c語言邏輯與和邏輯或和邏輯非的運算
邏輯與:p且q
全真則真,有假則假
邏輯或:p或q
有真則真,全假則假
邏輯非:非p
p假,則非p真,p真,則非p假
「邏輯與」和「邏輯或」的關系:當「p且q
」真,則「p或q」真;當「p或q」假,則「p且q
」假。
⑤ 計算機C語言中邏輯運算符「與」「或」「非」優先順序是怎樣的
非的優先順序最高(它是一個單目操作符)
與的優先順序次之
或的優先順序最低
單目操作符的優先順序最高。
⑥ 與或非三種運算規則是什麼
「與」、「或」、「非」邏輯的基本運算公式是and、or、not。
有三種最基本的邏輯運算:
1)邏輯與 -- 用AB表示:當A,B都為1時,其值為1,否則為零。
2)邏輯或 -- 用 A+B 表示:當A,B都為0時,其值為0,否則為1。
3)邏輯非 -- 用 A上'¯'表示,當A=0時,A的非為1,A=1時,A的非為0。
邏輯表達式的作用:
用邏輯運算符將關系表達式或邏輯量連接起來的有意義的式子稱為邏輯表達式,邏輯表達式的值是一個邏輯值,即「true」或「false」。
C語言編譯系統在給出邏輯運算結果時,以數字1表示「真」,以數字0表示「假」,但在判斷一個量是否為「真」時,以0表示「假」,以非0表示「真」,可以將邏輯表達式的運算結果(0或1)賦給整型變數或字元型變數。
⑦ C語言邏輯或與非的用法
C語言邏輯或與非用於邏輯運算,可以在一條語句中同時出現,但還有優先順序的限制。
基本應用:
邏輯與,符號為「&&」,只有兩個操作數都是真,結果才是真。邏輯或,是邏輯運算符,符號是「||」。表示當兩個條件中有任一個條件滿足,「邏輯或」的運算結果就為「真」。「!」(邏輯非)邏輯運算符。「邏輯非」就是指本來值的反值。
優先順序:
C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。邏輯與運算符 13級「&&」邏輯與運算符。邏輯或運算符 14 級,「 || 」邏輯或運算符。邏輯否「!」單目/一元運算 3級。因此優先順序為:邏輯非高於邏輯與高於邏輯非。
運算方向:
在C語言中,只有4個運算符規定了運算方向,它們是&&、| |、條件運算符及賦值運算符。&&、| |都是先計算左邊表達式的值,當左邊表達式的值能確定整個表達式的值時,就不再計算右邊表達式的值。如 a = 0 && b; &&運算符的左邊位0,則右邊表達式b就不再判斷。
(7)c語言邏輯與或非擴展閱讀:
相關規則及應用:
1、邏輯運算符:a=1,b=1;a||b-1;因為a=1為真值,所以不管b-1是不是真值,總的表達式一定為真值,這時後面的表達式就不會再計算了。
2、短路原則:
在邏輯表達式的求解過程中,任何時候只要邏輯表達式的值已經可以確定,則求解過程不再進行,求解結束。表達式中優先順序最低的邏輯運算符,以這些運算符為准將整個邏輯表達式分為幾個計算部分。最左邊一個計算部分開始,按照算術運算、關系運算和邏輯運算的規則計算該部分的值。
每計算完一個部分就與該部分右邊緊靠著的邏輯運算符根據真值表進行邏輯值判斷。如果已經能夠判斷出整個邏輯表達式的值則停止其後的所有計算;只有當整個邏輯表達式的值還不能確定的情況下才進行下一個計算部分的計算。
⑧ 與 或 非 三種邏輯運演算法則是什麼
「與」、「或」、「非」邏輯的基本運算公式是and、or、not。
用邏輯運算符將關系表達式或邏輯量連接起來的有意義的式子稱為邏輯表達式。邏輯表達式的值是一個邏輯值,即「true」或「false」。C語言編譯系統在給出邏輯運算結果時,以數字1表示「真」,以數字0表示「假」,但在判斷一個量是否為「真」時,以0表示「假」,以非0表示「真」。
布爾用數學方法研究邏輯問題,成功地建立了邏輯演算。他用等式表示判斷,把推理看作等式的變換。這種變換的有效性不依賴人們對符號的解釋,只依賴於符號的組合規律 。這一邏輯理論人們常稱它為布爾代數。
邏輯運算解釋:
1、邏輯常量與變數:邏輯常量只有兩個,即0和1,用來表示兩個對立的邏輯狀態。邏輯變數與普通代數一樣,也可以用字母、符號、數字及其組合來表示,但它們之間有著本質區別,因為邏輯常量的取值只有兩個,即0和1,而沒有中間值。
2、邏輯運算:在邏輯代數中,有與、或、非三種基本邏輯運算。表示邏輯運算的方法有多種,如語句描述、邏輯代數式、真值表、卡諾圖等。
3、邏輯函數:邏輯函數是由邏輯變數、常量通過運算符連接起來的代數式。同樣,邏輯函數也可以用表格和圖形的形式表示。
4、邏輯代數:邏輯代數是研究邏輯函數運算和化簡的一種數學系統。邏輯函數的運算和化簡是數字電路課程的基礎,也是數字電路分析和設計的關鍵。