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的運算子 由上可見,公式用於按特定次序計算數值,通常以等號 開始,位...