c語言中邏輯運算子的規則是什麼C語言中邏輯運算子的規則是什麼

2021-03-07 21:50:32 字數 5483 閱讀 2802

1樓:匿名使用者

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

|| 或:比

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

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

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

2、邏輯運算子是根據表示式的值來返回真值或是假值。其實在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。下為c語言邏輯運算||和&&的真值表:

2樓:匿名使用者

邏輯運算子把各個運算的變數(或常量)連線起來組成一個邏輯表示式。

邏輯運算子有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

void main()

邏輯量和邏輯值

在邏輯表示式裡有參加邏輯運算的邏輯量及邏輯運算最後的結果(邏輯值),把這二個概念區分開來和記住它們是很重要的。

什麼是邏輯量--凡是參加邏輯運算的變數、常量都是邏輯量。

我們來仔細分析一下哪些是邏輯量,哪些是邏輯值。

要表達一件事情是否成立是這樣描述的:「如果他來了,這件事情一定能成功」。用程式語句描述就是 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) a+=10; if(b) if(b)a=0;

c語言中進行邏輯運算時要注意的問題:

例1:現在要判斷一個變數的值是否在12到30之間,很自然想到了這樣一個表示式:

scanf("%d",&a);

if(1212則為真,否則為假。設a的值為14,些時表

3樓:匿名使用者

達式結果為邏輯真,那麼整個表示式if(12這個新的表示式中的1是12,可以看到當變數a的值大於12的時候總有1<30,所以後面的<30這個關係表示式是多餘的了。另外假設a的值小於12也會出現這樣的情況。由些看來這樣寫法肯定是錯的。

正確的寫法應該是:

if((12

這樣不但編譯通過,執行結果也是對的了。

c語言中邏輯運算子用法是什麼?

4樓:夏日絕

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

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

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

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

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

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

c語言c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

c語言中邏輯運算子的規則是什麼?

5樓:cufe姐啦

c語言中的邏輯運算子使用規則如下:

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

2、邏輯運算子運算規則:|| 或:兩個條件中,只要有一個成立,則結果就成立;&& 與:

兩個條件中,兩個同時成立,則結果成立,否則不成立;!  非:取反之意,如果是真,結果是假,如果是假,結果是真。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

c語言中邏輯運算子「&&、||、!」的用法是什麼?

6樓:百度使用者

&&,表示兩邊的條件成立才行,如

我愛你&&你愛我,同時成立的話就容易走到一起。

||,表示兩邊有一個條件成立就行,如

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

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

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樓:

c語言中的邏輯或運算子可以按住shift鍵,接著按兩下enter上面的鍵就能打出來,接下來具體的演示一下:

1、按住shift鍵不鬆手,接著按兩下enter上面的鍵,如下圖所示2、然後邏輯或運算子就打出來了,如下圖所示3、打邏輯或運算子的時候不需要區分大小寫,在中英文輸入法中按照上面的步驟都能打出來

13樓:匿名使用者

c語言的邏輯或運算子為||,這並不是一個字元,而是由兩個|組成的。

所以在打||的時候,需要連續打兩個|。

|在鍵盤右上角,backspace下面有一個印有|和\的鍵。按住shift同時按這個鍵,就可以打出|了。

在打||的時候,可以按住shift,再按|鍵兩次,然後抬起shift鍵即可。

邏輯或的運算形式為:

expr1 || expr2

其運算規則為:

當expr1與expr2均為假時,結果為假。

否則結果為真。

c語言中邏輯運算子用法,C語言中邏輯運算子用法

1 邏輯運算子bai是根據du表示式的值來返zhi回真值或是假值dao。在c語言中沒有專版門的真值和假值,認定權非0為真值,0為假值。2 邏輯運算子運算規則 或 兩個條件中,只要有一個成立,則結果就成立 與 兩個條件中,兩個同時成立,則結果成立,否則不成立 非 取反之意,如果是真,結果是假,如果是假...

C邏輯運算子,C程式邏輯運算子

邏輯與2邊表示式的值中有一個是0,則結果是0邏輯或2邊表示式的值中有一個是1,則結果是1邏輯非的作用是將0變1,將非1變0 在c 中 結果bai只有兩種du 一種是 zhi0,一種是非零,所以當然a 5,a就是0,相dao當於專 是與否,的話只有當兩個屬變數都不為零是 結果才為1,其他情況結果為0,...

c邏輯運算子

有 但是跟你想的不一樣。你說的大概是 就是邏輯與。而且 的短路規則是如果前一個是false後一個就不用算,前一項是true後一項當然必須算 號是運算子 要求對兩個數進行 運算 比如 1101 a b同時不同時為0都可以運算 而 不同 a b 在c語言裡面來說,當 前面一個為0的時候,就不再執行 後面...