c語言中邏輯運算怎麼做啊

&& 是與操復作。
A&&B,當且公當制AB都為真是,邏輯為真,返回值為1

A||B
或,也就是"||"操作,當且僅當兩AB都為假是,邏輯為假。返回值為0

上面,2&&8,2,8,非零即為真,所以邏輯返回1,1==1為真,所以值為1

0||9,9非零,所以邏輯返回1,1==0為假,所以值為0

Ⅱ c語言邏輯與和邏輯或和邏輯非的運算

邏輯與:p且q 全真則真,有假則假
邏輯或:p或q 有真則真,全假則假
邏輯非:非p p假,則非p真,p真,則非p假

「邏輯與」和「邏輯或」的關系:當「p且q 」真,則「p或q」真;當「p或q」假,則「p且q 」假。

Ⅲ C語言的邏輯運算和按位運算怎麼區分

1、作用的不來同

&&、||是邏輯源運算符,用於從左到右求表達式的真值。假設x=1;y=2;那麼x&&y=1;x||y=1。

&、|是位運算符,是對x,y進行位運算,x,y取值如上,那麼有x&y=0;(x的二進製表示為00,y的二進製表示為10)。

2、判斷這個表達式的真或假的不同

&和|既是邏輯運算符也是位運算符,而&&和||只是邏輯運算符。

當&與&&同為邏輯運算符時,它們都用於連接兩個Boolean類型的表達式,當&和&&的兩端表達式同時為真時,表達式的結果為真,只要有一端為假,那麼表達式結果為假。

例:3>5&3>2;3>5&&3>2;

當|和||的兩端表達式同時為假時,表達式的結果為假,只要有一端為真,那麼表達式結果為真。

3、計算方式不同

當使用&運算符:計算機在判斷表達式的值的時候,先判斷3>5的值為假,然後再判斷3>2的結果為真,於是最後的結果是假&真為假;

但是當我們使用&&運算符的時候:計算機先判斷3>5的值為假,此時表達式的結果一定為假,所以計算機就不再往下判斷了,判定表達式結果為假。

Ⅳ c語言邏輯運算符有哪些,及運算先後順序

邏輯運算有三種,與或非。
1 邏輯與運算,符號為&&,形式為a&&b;
2 邏輯或運算,符號為|專|,形式為a||b;
3 邏輯非運算,符號為!,形式為!a。

當邏輯運算寫在一起的時候,邏輯非!運算優先順序最高,其次為邏屬輯與&&,最低為邏輯或||。
即先計算非,再計算與,最後計算或。
同類運算時,運算順序為從左到右。

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

||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將不參與計算。

Ⅵ C語言中邏輯運算符非"!"與"&&"或"||"的優先順序怎麼說

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

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

運算規則

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

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

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

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

(6)c語言邏輯與運算擴展閱讀

優先順序

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

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

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

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

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

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

邏輯運算最後結合。

Ⅶ C語言中邏輯運算符的規則是什麼

邏輯運算符把各個運算的變數(或常量)連接起來組成一個邏輯表達式。
邏輯運算符有4個,它們分別是:!(邏輯非)、||(邏輯或)、&&(邏輯與)^(異或)。在位運算裡面還有&(位與)、|(位或)的運算。

什麼是邏輯運算--邏輯運算用來判斷一件事情是「對」的還是「錯」的,或者說是「成立」還是「不成立」,判斷的結果是二值的,即沒有「可能是」或者「可能不是」,這個「可能」的用法是一個模糊概念,在計算機裡面進行的是二進制運算,邏輯判斷的結果只有二個值,稱這二個值為「邏輯值」,用數的符號表示就是「1」和「0」。其中「1」表示該邏輯運算的結果是「成立」的,如果一個邏輯運算式的結果為「0」,那麼這個邏輯運算式表達的內容「不成立「。
例 1:通常一個教室有二個門,這二個門是並排的。要進教室從門A進可以,從門B進教室也行,用一句話來說是「要進教室去,可以從A門進『或者』從B門進」
用邏輯符號來表示這一個過程--能否進教室用符號C表示,教室門分別為A和B。C的值為1表示可以進教室,為0表示進不了教室。A和B的值為1時表示門是開的,為0表示門是關著的,列表如下:

說明 C A B 2個教室的門都關著,進不去教室 0 0 0 門B是開著的,可以進去 1 0 1 門A是開著的,可以進去 1 1 0 門A和B都是開著的,可以進去 1 1 1
把表中的過程寫成邏輯運算就是:C = A || B 這就是一個邏輯表達式,它是一個「或」運算的邏輯表達式。這個表達式要表達的是這個意思--如果要使得C為1,只要 A「或」B其中之一為 1即可以達到。所以「||」運算稱為「或」運算。
思考--如果有一個表達式 C = A || B || C怎樣理解這個邏輯表達式?

例2:假設一個房間外面有一個曬台,那麼這個房間就縱向開著二個門,要到曬台去,必須要過這二個門,很明顯這二個門必須都是開著的才行,否則只要其中一個門關著就去不了曬台。列表如下:

說明 C A B 二個門都關著,去不了曬台 0 0 0 門A關著,去不了曬台 0 0 1 門B關著,去不了曬台 0 1 0 門A與門B都開著,可以去曬台 1 1 1
把表中的過程寫成邏輯運算式就是: C = A && B && C ,用一句話來描述這個表達式--如果要使得C為1,必須A『與』B都為1才行,否則其中任一個為0,C就為0。所以「&&」運算符稱為「與」運算。
思考--如果有一個表達式 C = A && B && C 怎樣理解這個邏輯表達式?

例3:有一個問題如下,有一個晚會,對參加晚會的人有一定的條件限制,教師可以參加,學生當中只有年齡達到16歲以上的男生才能參加,怎樣用上面所講的邏輯運算來表達這樣的邏輯關系?
設能夠參加晚會為D,教師為A,男生為B,16歲以上為C,可以用下式來描述:
D = A || ( B && C ) /*這個表達式可以理解嗎,可以參照上面表格用0、1來寫一下*/

例4:下面是一個程序,用到了if判斷語句(if是如果的意思)
#include<stdio.h>
void main()
{
int a=0,b=0,c=0;
scanf("%d%d%d",&a,&b,&c); /*從鍵盤輸入參加者的條件*/
if((a||(b&&c)) /*如果是教師或者是16歲以上的男生*/
printf("你可以參加這個晚會。"); /*輸出可以參加的信息*/
else /*否則*/
printf("你不能參加這個晚會。"); /*輸出不能參加的信息*/
}

邏輯量和邏輯值
在邏輯表達式里有參加邏輯運算的邏輯量及邏輯運算最後的結果(邏輯值),把這二個概念區分開來和記住它們是很重要的。
什麼是邏輯量--凡是參加邏輯運算的變數、常量都是邏輯量。
我們來仔細分析一下哪些是邏輯量,哪些是邏輯值。
要表達一件事情是否成立是這樣描述的:「如果他來了,這件事情一定能成功」。用程序語句描述就是 if(a!=0)在這個語句里用變數a來表示他來與不來這件事,變數的值為1說明他來了,為0就是不來。在C語言中,一般不寫成這樣(如果一定要寫成if(a!=0),別人一看你的程序就知道你是編程菜鳥),而是寫成 if(a)。括弧裡面的變數a就是邏輯量。當該邏輯量的邏輯值為1時,if表達式為真,這時可以執行if 後的的程序語句。當該邏輯量的邏輯值為0時,if表達式為假,就不能執行if後面的程序語句。可以看出,if表達式能否成立是要看「邏輯量」最後的「邏值值」是否為1來判斷的。
什麼是邏輯值--邏輯量、邏輯表達式其最後的運算結果的值就是邏輯值。邏輯值只能是「0」和「1」這二個數。「1」表示邏輯真(成立);「0」表示邏輯假(不成立)。
一切非「0」的邏輯量其邏輯值都為真。正確理解這句話很重要。例:if(-1),這一句可以這樣來分析--首先「-1」是一個非「0」的邏輯量,它的邏輯值為「1」,那麼這個if語句就成為 if(1),這個if表達式成立。

思考:下面的式子中,哪個語句不被執行
int a=0,b=10; if(a) {b++;a++} a+=10; if(b) {a=10;b=-10;} if(b)a=0;

C語言中進行邏輯運算時要注意的問題:
例1:
現在要判斷一個變數的值是否在12到30之間,很自然想到了這樣一個表達式:
scanf("%d",&a);
if(12<a<30) /*這樣的寫法對嗎*/
printf("%d".a);
把這樣的語句放在程序里編譯一下,沒有什麼不正常的,編譯通過。
但是在運行的時候就會出問題。下面仔細分析一下if語句的運行過程:
表達式12<a<30中首先進行12<a的判斷,如果a>12則為真,否則為假。設a的值為14,些時表

Ⅷ 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為假。

(8)c語言邏輯與運算擴展閱讀

在C 語言中的邏輯運算符及優先順序:

一元:!(邏輯非)。

二元:&&(邏輯與)、||(邏輯或)。

以上三種邏輯運算符中,邏輯非 ! 的優先順序最高,邏輯與 && 次之,邏輯或 || 優先順序最低。即算術、邏輯、賦值運算符的優先順序順序為:

邏輯非 ! >算術 > 邏輯與 &&、邏輯或 || > 賦值=

Ⅸ c語言中邏輯與的符號是什麼

&&邏輯與,||邏輯或,!邏輯非

運算舉例如下:

a&&b,若a,b為真內,則a&&b為真

a||b,若a、容b之一為真,則a||b為真

!a,若a為真,則!a為假;若a為假,怎!a為真。

C語言編譯系統在表示邏輯運算結果時,以數值1代表「真」,以0代表「假」。即將一個非零的數值認作為「真」。