c 邏輯運算子,c 中邏輯運算子的問題。

時間 2021-09-17 08:46:08

1樓:匿名使用者

x=2;y和z的值不變;

邏輯運算++x的值為1,因此後面的語句沒有執行;

參考:短路求值

作為"&&"和"||"操作符的運算元表示式,這些表示式在進行求值時,只要最終的結果已經可以確定是真或假,求值過程便告終止,這稱之為短路求值。這是這兩個操作符的乙個重要屬性。假如expr1和expr2都是表示式,並且expr1的值為0,在下面這個邏輯表示式的求值過程中:

expr1 && expr2

expr2將不會進行求值,因為整個邏輯表示式的值已經可以確定為0。 類似地,如果expr1的值不是0,那麼在下面的這個邏輯表示式的求值過程中:

expr1 || expr2

expr2將不會進行求值,因為整個邏輯表示式的值已經確定為1。

下面是乙個簡單的可能會出現短路求值的例子。假如我們需要處理的字元數量不超過5個。

int cnt =0;

while (++cnt<=5&&(c=getchar())!=eof)

{...

當表示式++cnt<=5的值是假時,下乙個字元就不會被讀取。

2樓:衛策厙繡

a++運算後得2,非零,即為真

||運算為或運算,有乙個為真就返回真,所以直接捨去了後面的運算所以b,c沒有進行自加運算

補充:||與&&的同級運算子,所以聯合運算時從左向右運算,先執行||可以改寫成:

(++a)||(++b&&++c)

所以把後面的部捨去了。

(++運算子的運算級比||和&&都高)

3樓:侯悟可女

在c++中

!結果只有兩種,一種是0,一種是非零,所以當然a=5,!a就是0,相當於

是與否,

&&的話只有當兩個變數都不為零是

結果才為1,其他情況結果為0,||的意思就是只有當兩個變數都為零時結果為零,其他都為1

4樓:晏永衡翠柏

邏輯與2邊表示式的值中有乙個是0,則結果是0

邏輯或2邊表示式的值中有乙個是1,則結果是1

邏輯非的作用是將0變1,將非1變0

5樓:巢寒運向雪

1.a=5,5是非0,非0必真,用1表示真則它的非就是假用0表示。下邊同理你只要弄清非0必真就可以了用1表示。

c++中邏輯運算子的問題。

6樓:

對於邏輯或運算,只要有乙個環節的值為真,那結果就是真

所當m==1時,整個表示式的值必然為1,後面的就沒必要判斷了,所以n=c==d不會被執行,n保持原來的值0

7樓:匿名使用者

因為如果你用if((m=a==b)||(n=c==d)) 你用的是||| 一旦有乙個()運算結果是1 則停止運算。也就是有乙個括號中的運算並沒有進行。

if是從左到右的運算順序吧 這樣在你的值都是0的前提下 值運算了(m=a==b)

c++程式 邏輯運算子&&

8樓:匿名使用者

ch=ch>='a'&&ch<='z'?ch-'a'+'a':ch;

這是乙個三目運算子

等價於// 如果字元大於a並且小於z(即小寫字元)if (ch>='a'&&ch<='z')希望採納,如有不明,請屬繼續提問

9樓:李洲誼

&&是和的意思。||而是或的意思

10樓:彡風君子彡

其中有乙個三目運算子 ?:

這句話的意思就是如果字元ch在a到z之間(包括a,z)ch=ch-a+a否則ch=ch。

c++中呼叫邏輯運算子(即&&,||,!)所需要的標頭檔案是什麼?

11樓:匿名使用者

int main()

12樓:匿名使用者

不需要標頭檔案,這是運算子。

就如同 + - * /  ++  -- & 等等,都不需要標頭檔案,拿來就用。

13樓:

p&&q的意思是當p或q都不為零時為真即輸出1其它情況輸出0。p||q的意思是當p或q有乙個不為零時輸出1當p或q都為零輸出0

14樓:匿名使用者

&& || ! 是c++中的保留符號,沒什麼標頭檔案引用的就像關鍵字一樣被保留

15樓:匿名使用者

#include

using namespace std;

int main()

return 0;}

c++運算子的邏輯

16樓:阿瑟啦

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

符號 功能

&& 邏輯與

|| 邏輯或

! 邏輯非

當表示式進行&&運算時,只要有乙個為假,總的表示式就為假,只有當所有都為真時,總的式子才為真。當表示式進行||運算時,只要有乙個為真,總的值就為真,只有當所有的都為假時,總的式子才為假。邏輯非(!

)運算是把相應的變數資料轉換為相應的真/假值。若原先為假,則邏輯非以後為真,若原先為真,則邏輯非以後為假。

還有一點很重要,當乙個邏輯表示式的後一部分的取值不會影響整個表示式的值時,後一部分就不會進行運算了。例如:

a=2,b=1;

a||b-1;

因為a=2,為真值,所以不管b-1是不是真值,總的表示式一定為真值,這時後面的表示式就不會再計算了。

c++邏輯異或是什麼符號

17樓:聽不清啊

c++中專門的邏輯異或運算。

呆要先取得兩個邏輯值,然後再將這兩個表示邏輯值的量進行二進位制異或運算就可以了。相應的運算符號是「^」。

例如,平面上乙個點p,位於座標軸上但不在原點,它的座標(x,y)必定是:

if(x==0^y==0)printf("點p在座標軸上但不在原點!\n"); --用邏輯異或表示

18樓:匿名使用者

(x!=0)^(y!=0)

19樓:匿名使用者

同沒有邏輯異或,不過換句話說:

1 xor 2 = 3 = true

基本上也差不多吧,如果你限定結果0~1的話就加(bool)吧……

20樓:

int a = 1, b = 0;

int c = ((!a)!=(!b));/*邏輯異或,a,b為任意整數*/

int d = ( a!=b );/*邏輯異或,a,b取值只為0,1*/

21樓:網路反編

沒有邏輯異或這個運算子

22樓:

我覺得可以這麼寫 (a&&!b)||(b&&!a)

C語言邏輯運算子問題,c語言邏輯運算子 我不明白 和 到底是怎麼運算的

c表示式中的操作符按優先順序順序結合,本表示式中運算子的優先順序順序從高到低為 所以表示式計算分解為 temp1 year 4 temp2 year 100 te year 400 temp4 temp1 0 temp5 temp2 0 temp6 te 0 temp7 temp5 temp6 ex...

c語言邏輯運算順序,C語言邏輯運算子順序

k x 0 y 0 z x y 就是這個順序 x 是先使用x的值,再 之後,x的值變為0.所以x 0這個表示式的值為false對於邏輯與運算,如果第乙個表示式為false,則第二個表示式將不驗證所以 y 0 沒有執行,y的值仍然為5對於或運算,若第乙個表示式的值為false,則還要驗證第二個表示式於...

excel中的邏輯運算子和比較運算子是不是一種運算子

問往昔崢嶸歲月 中文excel速成教程2.3認識中文excel的運算子2007 12 25 05 19 p.m.您正在看的excel教程是 中文excel速成教程2.3認識中文excel的運算子。第三講 認識中文excel 2000的運算子 由上可見,公式用於按特定次序計算數值,通常以等號 開始,位...