if語句中這個符號代表且樹上寫著(表示式1表示式2)表示式1和2都為非0是條件成立

2021-03-26 11:40:32 字數 6119 閱讀 5316

1樓:匿名使用者

你仔細看書了嗎?

(y%4==0)這是條件表示式,是判斷y對4取餘的值是不是等於0,如果等於0,這個表示式的值為1,不等於0表示式的值為0,然後才是&&

2樓:匿名使用者

(((y%4==0)&&(y%100))||(y%400==0))是y能整除4且y不能整除100時整個表示式為真,或y能整除400時整個表示式為真吧……

3樓:風之谷天之城

4 和100的最小公倍數是200

c語言if(1)&&(2) 怎麼解釋?

4樓:夏天的小紅花

這個bai寫法是錯誤的。在duc語言中整個邏輯表示式應zhi該被完整地寫在一dao個圓括號中。

所以,上回述表示式應答

當寫為:

if(1 && 2)

實際上,如果真就直接這麼寫的話,因為1和2都不為0,都是作為「真」來解讀的,所以,括號內的值就是「真」,條件總是滿足,這一部分就等同於沒寫,即直接執行後面所跟的語句。

如果是兩個不同的邏輯表示式,則表示,如果 條件1 滿足的條件下,條件2也同時滿足,才執行後面的語句。

5樓:匿名使用者

如果(1)成立並且(2)成立則。。。

如果(1)不成立,(2)就不做判斷直接算不成立

6樓:匿名使用者

1和2都表示邏輯真,所以if(1)&&(2)跟if (1)等價,if後面的語句要執行。

在c語言中,if(a==1&&b++=2)是什麼意思?

7樓:

若a=1並且b=2(執行該步操作後,b的值加1為3)。

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

符號 功能

&& 邏輯與

|| 邏輯或

! 邏輯非

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

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

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

a=2,b=1;

a||b-1;

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

這是一類特殊的運算子,自增運算子++和自減運算子--對變數的操作結果是增加1和減少1。例如:

--couter;

couter--;

++amount;

amount++;

看這些例子裡,運算子在前面還是在後面對本身的影響都是一樣的,都是加1或者減1,但是當把他們作為其他表示式的一部分,兩者就有區別了。運算子放在變數前面,那麼在運算之前,變數先完成自增或自減運算;如果運算子放在後面,那麼自增自減運算是在變數參加表示式的運算後再運算。這樣講可能不太清楚,看下面的例子:

num1=4;

num2=8;

a=++num1;

b=num2++;

a =++num1;這總的來看是乙個賦值,把++num1的值賦給a,因為自增運算子在變數的前面,所以num1先自增加1變為5,然後賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算子在變數的後面,所以先把num2賦值給b,b應該為8,然後num2自增加1變為 9。

那麼如果出現這樣的情況我們怎麼處理呢?

c=num1+++num2;

到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以後的程式設計當中,應該盡量避免出現上面複雜的情況。

8樓:匿名使用者

就是如果a的值是一,而b的值是2的話就為真,然後b的值自已加一羅

c語言中b=(-1)&&(0,1)是什麼意思?

9樓:示申僉

(0,1)是逗號表示式,這個表示式的值就應該是最右邊這項的值1

b=(-1)&&(0,1)

就相當於b=(-1)&& 1;由於-1和1都是非0值&&運算之後肯定為真,為真則值為1所以b=1;

10樓:匿名使用者

&&是與運算子,如果兩邊都是非0運算結果才是1這應該知道吧。-1就是乙個非零常量,(0,1)這個考得主要是「,」運算子,不管括號內有多少個數都取最後乙個值作為&&運算右邊的量,所以兩邊都是非0,運算結果為1.基本就是這樣,有問題可以再提問。

11樓:匿名使用者

(-1)就是-1沒什麼特殊含義。

(0,1)就是1,(a,b)=b。小括號運算就是取後面乙個。

a&&b,a和b都不為零時結果為1

12樓:夜光隨行

對於乙個邏輯表示式,其值只要不是0就被設定為1,(-1)不是0,所以就認為是1,

對於乙個逗號表示式,它的值取最後乙個表示式的值,即x = (0,1,2,3);

則x的值為3,所以這裡(0, 1)的值為1,所以b = (-1)&&(0, 1)等價於b = 1 && 1

所以b的值為1。

13樓:匿名使用者

(1):

/和%優先順序相同,但是結合順序是從左往右

a=d/100%9

等價於:

a=(d/100)%9

因為d是int  所以

d/100=2,

2%9=2

a=2;

(2):

(0,1)是逗號表示式,結果是1

(-1)&&1結果是1

b=(-1)&&(0,1)=1

14樓:匿名使用者

-1沒什麼意思啊,

(0,1)是逗號表示式。其值等於最後表示式的值。即1;

-1&&1的結果自然是true。

所以b為1;

15樓:匿名使用者

都好表示式 表示式1,表示式1,其求解過程先求表示式1,後求表示式2,整個表示式值是表示式2的值,所以(0,1)的值是1,(-1)加括號是為了調整結合順序。

16樓:匿名使用者

好的,其實這題很簡單的,你不要對數值 過於敏感。看到 && 這個符號 就應該想到 它左右兩邊的值是 」0「 還是」 1「 換句話說 ,是」真「還是」假「。然後很容易明白 -1 ,非0,是 」真「然後 後面的逗號表示式的值是1 就是」真」。

而邏輯表示式&&的意義是 兩個為真 就為真。所以是真 或者說 是 「1」你明白了嗎?

for(表示式1;表示式2;表示式;)分別省略表示式1,2,3都什麼意思?

17樓:猶林伏碧白

表示式1是進入第一次for迴圈之前執行了,並且只會執行一次表示式2是for迴圈的執行條件,滿足這個條件後才能進入迴圈裡面的語句表示式3是在執行一次迴圈後執行的語句

比如for(i=0;i<5;i++)

i=0只在第一次執行

i<5則是判斷是否繼續迴圈,為真則繼續迴圈,為假則迴圈結束

i++就是每次執行完大括號裡面後執行的語句如有幫助,請採納

18樓:匿名使用者

1、可有可無,一般用來設定初始值 2 判斷表示式,為真繼續迴圈,為假退出迴圈 3、可有可無,一般用來計算迴圈增量

19樓:哇啊啊啊哇o啊

表示式1:初始化;

表示式2:迴圈範圍;

表示式3:迴圈增量;

c語言b=2&&(-1)=?是什麼意思

20樓:天府第一寶

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

符號 功能

&& 邏輯與

|| 邏輯或

! 邏輯非

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

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

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

a=2,b=1;

a||b-1;

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

這是一類特殊的運算子,自增運算子++和自減運算子--對變數的操作結果是增加1和減少1。例如:

--couter;

couter--;

++amount;

amount++;

看這些例子裡,運算子在前面還是在後面對本身的影響都是一樣的,都是加1或者減1,但是當把他們作為其他表示式的一部分,兩者就有區別了。運算子放在變數前面,那麼在運算之前,變數先完成自增或自減運算;如果運算子放在後面,那麼自增自減運算是在變數參加表示式的運算後再運算。這樣講可能不太清楚,看下面的例子:

num1=4;

num2=8;

a=++num1;

b=num2++;

a =++num1;這總的來看是乙個賦值,把++num1的值賦給a,因為自增運算子在變數的前面,所以num1先自增加1變為5,然後賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算子在變數的後面,所以先把num2賦值給b,b應該為8,然後num2自增加1變為 9。

那麼如果出現這樣的情況我們怎麼處理呢?

c=num1+++num2;

到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以後的程式設計當中,應該盡量避免出現上面複雜的情況。

21樓:匿名使用者

讓你用邏輯運算子和賦值運算子的優先順序

邏輯表示式!(2-1)&&||0的值

22樓:匿名使用者

程式語言裡來邏輯這種資料類源型的值只有true和false兩種,因

為只有2種取值的可能性,所以最節約空間的儲存方法就是只用1個位元位來表示,也就是0為假,1位真。但是不是所有語言都支援原生的bit型別,而且不同語言對於邏輯這個資料型別的定義都不一樣,確切說不是所有語言和cpu都支援位定址,所以有時用乙個位元組的儲存空間來表示乙個位的效率更高,。比如c語言中沒有bool型別,c語言中if(exp)中,不管exp是那種資料型別,只要exp值非零,就會去執行func_true()分支。

也就是0為假,非0為真。

23樓:

先算括號裡的,值為1,取非後為0,0與任何數取與均為0,故值為0

int i=1 ,j=1 ,k=2; if((j-- || k++) && i++) 為什麼答案為2 0 2

24樓:小樓微醉

關於c語言的邏來輯運算

源符:|| 運算規則是:(bai

表示式1)du||zhi(表示式2) 如果1的結果為真,則不執行dao2,表示式最後結果為真;如果1式結果為假則繼續執行2式,2式結果決定最後的結果。

&&運算規則:(表示式1)||(表示式2),如果表示式1結果為假,則不執行表示式2了,最後結果為假,如果表示式1為真,則繼續執行表示式2,表示式2的結果為最終結果。

自增運算規則:前置++i,i的值馬上加1並存於i中,後置i++,i的值在下乙個語句中加1,當前i的值不變。

此處(j-- || k++) && i++) 首先j--,由於是後置所以j的值不變,但是在下一句輸出的時候值會加1,所以表示式的j--的值在此處還是原值 1;所以表示式(j-- || k++)結果為真,k++未執行。由於&&的第乙個表示式的結果為真,所以繼續執行&& i++,即i++,i的值在下乙個語句中加1;

所以最後i的值加1,k的值不變,j的值減1

數列前n項和的表示式a1 a2 a3an這個式子是不是就是形式

你說得對。就是為了把 前n項和 這個術語,明確表達出來。當然,這裡的n,必須是正整數,而且必須不小於1 怎麼能說一點沒有關係呢?你任何的計算都是乙個特定n的時的結果,這種形式是一種通用表示。強行說他沒有關係是不合理的 例如你底下說的a1 a2就是n 2時的a1 a2 a3 an,如果不這麼寫,數學上...

高數。將1i化為三角表示式和指數表示式,求過程和結果

三角表示式 1 i 2 cos 5 4 isin 5 4 指數表示式 1 i 2 e 5 i 4 指數形式 對於複數z a ib,稱複數z非 a bi為z的共軛複數。即兩個實部相等,虛部互為相反數的複數互為共軛複數。擴充套件資料 複數的加法法則 設z1 a bi,z2 c di是任意兩個複數。兩者和...

假設int a 1,b 2則表示式a b b 的

a b b 小括號裡抄面的優先bai級最高先du執zhi行 a b,左 優先順序比 高,所以dao先執行 所以小括號的執行結果是 1 1 2 1 k 1 b 先執行乘法賦值給k再右減,所以如果你的表示式左值應該是2 即k值 k a b b 運算子是有優先順序的,本題中 的優先順序最高,次之,最低。執...