1樓:匿名使用者
改為
即可。不需要那麼多括號,而且!=0可以省略。
2樓:匿名使用者
當且僅當y或a為閏年數時
(y%4==0&&y%100!0||y%400==0)即當y是4的倍數時不能為100的倍數(否則為0)或y是400的倍數時為1.後面同理。
c語言中 &&和‖誰優先順序更高
3樓:匿名使用者
&& 的高
優先順序【高到低】:
第一級:
圓括號【()】、下標運算子【】、分量運算子的指向結構體成員運算子【->】、結構體成員運算子【.】
第二級:
邏輯非運算子【!】、按位取反運算子【~】、自增自減運算子【++ --】、負號運算子【-】、型別轉換運算子【(型別)】、指標運算子和取地址運算子【*和&】、長度運算子【sizeof】
第**:乘法運算子【*】、除法運算子【/】、取餘運算子【%】第四級:加法運算子【+】、減法運算子【-】第五級:
左移動運算子【<<】、右移動運算子【>>】第六級:關係運算子【< > <= >= 】第七級:等於運算子【==】、不等於運算子【!
=】第八級:按位與運算子【&】
第九級:按位異或運算子【^】
第十級:按位或運算子【|】
第十一級:邏輯與運算子【&&】
第十二級:邏輯或運算子【||】
第十**:條件運算子【?:】
第十四級:賦值運算子【= += -= *= /= %= >>= <<.= &= |= ^=】
第十五級:逗號運算子【,】
4樓:卩s灬飛飛
結果是1.
這個不是優先順序的問題。&&和||是同級的,從左往右計算。
這個問題是短路求值的問題。
b=0,!b這個表示式是真,!b||後面無論是什麼這個表示式都是真了。
所以後面的內容就不會再執行了。所以++a&&++c根本就沒有執行過。。
如果b=1的話,!b為假,所以就會執行後面的內容了,這是c就是2了。
5樓:匿名使用者
&& 高於||,就像是乘法高於加法一樣
6樓:匿名使用者
用機器上執行一下就知道了,這個先運算++a,如果是真(非0)就停止,如果是0,則再算++b
接下來,如果++b為0,則停止,如果++b不為0,就再算++c
7樓:匿名使用者
,逗號運算在c語言中是最後的。&& || 是同級,看哪個在前就先算哪個。不過要注意的是&& ||都有不完全運送。
對於&&運送則從左到右進行判斷,如果左邊為0,則右邊不再計算,整個&&運算就是0.||運算也是從左到右,如果有左邊為1則右邊也不在計算,直接輸出1.
++a||++b&&++c這個就可以先判斷++a||++b,這裡呢,根據上述所說的進行判斷,如果1則繼續判斷&&,如果0則直接輸出0,不做最後的++c
8樓:沒有響應
&& 和||的優先順序一樣 按從左向右的順序計算
不過實際使用的時候最好不要靠優先順序 ()比優先順序可靠的多 用括號可以讓程式的可讀性提高出錯率降低 所以優先順序什麼的根本不用記
9樓:編輯
與或非是同一級的啊,除非&&表示的是按位與,那麼||優先順序高一些
c語言優先順序問題
10樓:gta小雞
這個表示式可以確定的部分是:
1d+e先於c*的*執行,因為括號優先順序高於*2c*的*先於b+的+執行,因為*號優先順序高於+3a+的+先於b+的+執行,因為+號的結合性為從左至右除此之外的求值順序都是未知的,因為c語言標準沒有做定義。
所以abcd這四個答案都是錯誤的,屬於對優先順序、結合性和求值順序的理解不清。
c語言中的運算子優先順序高低是什麼意思
11樓:學雅思
運算子用於執行程式**運算,會針對一個以上運算元專案來進行運算。例如:2+3,其運算元是2和3,而運算子則是「+」。
運算子的優先順序是從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。表示式的結合次序取決於表示式中各種運算子的優先順序。優先順序高的運算子先結合,優先順序低的運算子後結合,同一行中的運算子的優先順序相同。
擴充套件資料
優先順序與求值順序無關。如a+b && b*c,雖然*優先順序最高,但這個表示式求值順序是從左到右。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
相同優先順序中,按結合性進行結合。大多數運算子結合性是從左到右,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。
指標最優,單目運算優於雙目運算。如正負號。先算術運算,後移位運算,最後位運算。
請特別注意:1 << 3 + 2 & 7等價於 (1 << (3 + 2))&7。邏輯運算最後結合。
12樓:匿名使用者
要了解c語言運算子優先順序高低就先從通常數學上運算優先順序高低說起。
通常,一個數學算式裡如果有加減乘除和括號,我們會先算括號裡面的式子,再算括號外面的乘除再然後才是加減。那麼這時候我們說括號的優先順序比加減乘除的要高,所以我們就先計算括號裡的式子。然後是乘除,再然後才是加減。
其中加減乘除就是運算子。所以運算子的高低決定了運算的先後順序。
同理。c語言中的運算優先順序和這一個樣,只要你把運算子的優先順序記住就可以了。
13樓:匿名使用者
比如 1+3*3
因為 *的優先順序比+高,所以先執行3*3,在+1。
其實這個不用在意,也不需要背,只要在你需要的運算順序下加()就行了。
比如 1+(3*3)
14樓:擁抱枯木
就是有不同運算子出現在同一個表示式中,求表示式的值時,優先順序高的運算子先結合求值再求優先順序低的,比如a+b*c,明顯*的優先順序比+高,所以先算b*c,得到的值加上a。另外有些符號優先順序相同,那就有從左到右結合,和從右到左結合,還需要再詳細嗎?
15樓:匿名使用者
誰的優先順序別高 就先執行它 的運算
c語言中運算子優先順序最小的是
16樓:星月小木木
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。其它的都是從左至右結合。
具有最高優先順序的其實並不算是真正的運算子,它們算是一類特殊的操作。()是與函式相關,與陣列相關,而->及.是取結構成員。
其次是單目運算子,所有的單目運算子具有相同的優先順序,因此在我認為的 真正的運算子中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的
接下來是算術運算子,*、/、%的優先順序當然比+、-高了。
移位運算子緊隨其後。
其次的關係運算子中,< <= > >=要比 == !=高一個級別,不大好理解。
所有的邏輯操作符都具有不同的優先順序(單目運算子除外,!和~)
邏輯位操作符的"與"比"或"高,而"異或"則在它們之間。
跟在其後的&&比||高。
接下來的是條件運算子,賦值運算子及逗號運算子。
在c語言中,只有4個運算子規定了運算方向,它們是&&、| |、條件運算子及賦值運算子。
&&、| |都是先計算左邊表示式的值,當左邊表示式的值能確定整個表示式的值時,就不再計算右邊表示式的值。如 a = 0 && b; &&運算子的左邊位為0,則右邊表示式b就不再判斷。
在條件運算子中。如a?b:c;先判斷a的值,再根據a的值對b或c之中的一個進行求值。
賦值表示式則規定先對右邊的表示式求值,因此使 a = b = c = 6;成為可能。
17樓:匿名使用者
(1)先(括號)內層,後(括號)外層。
解釋:有擴號時,最內層的括號中的東西先算,再一層層向外。
(2)先函式,後運算。
解釋:式中有函式,例如sqrt(),fabs(),sin()之類,先算函式。
(3)先算術,後關係,再邏輯。
解釋:邏輯表示式中,混有算術運算,要先算算術(加減乘除,函式)運算,再算關係(大小,等不等)運算。最後算邏輯(或與非),得到真假。
(4)先乘除,後加減。
解釋:同算術一樣,先做乘除,後做加減。
邏輯運算子「與」又叫邏輯乘,邏輯運算子「或」,又叫邏輯加,按先乘除,後加減,「與」比「或」優先。
(5)先左,後右
解釋:同級運算,先做左邊的,後做右邊的。
(6)搞不清,加括號。
解釋:自己寫算術表示式和邏輯表示式時,搞不清運算子優先順序,可以加括號,括號裡的總是先。
18樓:匿名使用者
%是除法取餘運算。
用於整數與整數運算。否則,不同的編譯器會得不同結果。
'%'為取餘運算子,用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。如表中所示的"13%7",就表示13 除以7餘6。
作為雙目運算子,左右運算元可以是數值,也可以是表示式。
但'%'運算子的左右運算元必須是整數。
負數取餘運算ms vc++ 編譯器:
-4 % 6 = -4
6 % -4 = 2
19樓:匿名使用者
逗號,例如:for( i = 0, j = 0; i < 10; i++, j++ )
之後才是:=+=
-=*=
/=%=
&=^=
|=<<=
>>=
20樓:匿名使用者
記住乘除高於加減,其他的都用括號,不會出錯
21樓:是是非飛
「 ,」 逗號運算子
c語言中和有什麼區別,c語言中的break與Continue有什麼區別
是賦值操作 是比較是否相等操作 if i 1 是永遠成立的 if i 1 只有當1值是1才成立 i i是把數字1的值賦給i i 1是i的值等於1 前者為賦值,後者為判斷 是複製語句,是判斷前後是否相等 是賦值操作,是比較是否相等操作。你是初學吧!是賦值,例如inta 3 intb a 那麼b 3.關...
c語言中與有什麼區別C語言中和的區別
語言中 與 有三個區別 作用不同 輸出的值不同 使用方法不同。如下參考 一 作用不同 表示按位與運算,另外也是取地址符 例如 0010 1101,結果為0000 表示邏輯與運算 例如 if a 0 b 0 意思就是ifa為0並且b為0的時候,進行下一步操作。二 輸出的值不同 b輸出的值為2,說明b沒...
c語言中SIZEOF的問題,c語言中的 sizeof 問題
我來回答你的問題 sizeof函式的意思是統計變數長度。int的長度長2個位元組 char的長度長1個位元組 float的長度長4個位元組 union uuua的長度取決於其中成員中最長的變數的位元組長度,在這裡為char型別,共五個元素值,長度為5。那麼開始統計總長度也就是2 1 4 5 12 希...