A. 在c語言中與或非的非符號怎麼寫
c語言運算符號指的是運算符號。C語言中的符號分為10類:算術運算符、關系運算符、邏輯運算符、位操作運算符、賦值運算符、條件運算符、逗號運算符、指針運算符、求位元組數運算符和特殊運算符。
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成為掩碼。
B. C++與或非的符號
|是按位或運算符,10級優先順序,左結合。
||是邏輯或運算符,12級優先順序,左結合。
C. 求c語言,與,或,非運算函數
按位「與」、「或」和「非」運算是C/C++中標准運算符,不需要另外編寫函數。
與運算: c = a & b;
或運算: c = a | b;
非運算: ~a;
非運算: ~b
另外,!是邏輯運算符,對於a,如果a 為 0,!a = 1,如果a 不為 0,則!a = 0。
D. c語言中同或、異或怎麼表示
同&&
或||
異!
拓展資料:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
E. C語言邏輯或與非的用法
C語言邏輯或與非用於邏輯運算,可以在一條語句中同時出現,但還有優先順序的限制。
基本應用:
邏輯與,符號為「&&」,只有兩個操作數都是真,結果才是真。邏輯或,是邏明廳輯運算符,符號是「||」。表示當兩個條件中有任一個條件滿足,「邏輯或」激槐睜的運算結果就為「真」。「!」(邏輯非)邏輯運算符。「邏輯非」就是指本來值的反值。
優先順序:
C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。邏輯與運算符 13級「&&」邏輯與運算符。邏輯或運算符 14 級,「 || 」邏輯或運算符。邏輯否「!」單目/一元運算 3級。因此優先順序為:邏輯非高於邏輯與高於邏輯非。
運算方向:
在C語言中,只有4個運算符規定了運算方向,它們是&&、| |、條件運算符及賦值運算符。&&、| |都是先計算左邊表達式的值,當左邊表達式的值能確定整個表達式的值時,就不再計算右邊表達式的值。如 a = 0 && b; &&運算符的左邊位0,則右邊表達式b就不再判斷。
(5)c語言的與或非的符號擴展閱讀:
相關規則及應用:
1、邏輯運算符:a=1,b=1;a||b-1;因為a=1為真值,所以不管b-1是不是真值,總的表達式一定為真值,這時後面的表達式就不會再計算了。
2、短路原則:
在邏輯表達式的求解過程中,任何時候只要邏輯表達式的值已經可以確定,則求解過程不再進行,求解結束。表達式中優先順序最低的邏輯運算符,以這些運算符為准將整個邏輯表達式分為幾個計算部分。最左邊一個計算部分開始,按照算術運算、關系運算和邏輯運算的規則計算該部分的值。
每計算完一個部分就與該部分右邊緊靠著的邏輯運算符根據真值表進行邏輯值判斷。如果已經能夠判斷出整個邏輯表達式的值則停止其後的所有計算;只有當整個邏輯表達式的值還不能確定的情況下才進行下明歲一個計算部分的計算。
F. c語言符號且與或
C語言中的邏輯運算符:&&(與運算)、||(或運算)、!(非運算)。
與運算符(&&)和或運算符(||)均為雙目運算符。具有左結合性。非運算符(!)為單目運算符,具有右結合性。邏輯運算符和其它運算符優先順序的關系可表示如下:
本來沒有錯誤,關系運算符都是按「非與或」順序來運算的。但是,不同的編譯器設計者可能對這個的認識不同,因此,如果不加括弧就會有歧義,因此,編譯器就會提醒應該加括弧(編譯中有警告:waring),但你不加,也不算錯,只是其結果就是按編譯器的運算順序來操作了。
&&是與,||是或;
&是位與,|是位或;
|就是按住shift在按回車上面一個按鈕;
兩下就是||;
這個不是錯誤,是警告warning,編譯器怕記不住操作符優先順序,而導致錯誤,因此提示||的優先順序高於!=。
(6)c語言的與或非的符號擴展閱讀
C語言內置了豐富的運算符,大體可分為10類:算術運算符、關系運算符、邏輯運算符、位操作運算符、賦值運算符、條件運算符、逗號運算符、指針運算符、求位元組數運算符和特殊運算符。
根據運算符可操作的操作數的個數,可把運算符分為一元運算符、二元運算符和多元運算符(一般三元)。優先順序:當不同運算符優先順序不同時,先計算誰後計算結合性:當不同運算符優先順序相同時,先計算誰後計算誰。
G. c語言邏輯運算符有哪些
C語言邏輯運算符分別是:或(||)、且(&&)、非(!),分別對應於命題邏輯中的 OR、AND、NOT運算。
邏輯運算符:或 ||。在命題邏輯中,當P=1或Q=1時,P||Q等於1。
邏輯運算符:且 &&。在命題邏輯中,當P=1且Q=1時,P&&Q才等於1。
邏輯運算符:非 !。在命題邏輯中,當P等於0時,!P等於1,反之亦然。
C語言的運算符號
比較特別的是,比特右移(>>)運算符可以是算術(左端補最高有效位)或是邏輯(左端補0)位移。例如銷做,將11100011右移3比特,算術右移後成為11111100,邏輯右移則為00011100。因算術比特右移較適於處理帶負號整數,所以幾乎所有的編譯器都是算術比特右移。
運算符的優先順序從高到低大致是:單虧段衡目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運燃鄭算符(=)和逗號運算符。
以上內容參考網路-C語言