c語言里或和與
發布時間: 2024-03-28 12:58:39
A. c語言中「與」和「或」的優先順序是什麼
與>或 ,更細一點是:! ---> & ---> ^ ---> | ---> && ---> ||。C語言中的運算優先順序和算數優先順序一樣,只要把運算符的優先順序記住就可以了。
經過n遍的調試,證明:||和&&優先順序相等,且都是從左往右運算;在出現||和&&的語句中,並不對a++進行運算,只判斷它的初值。當然,這條語句結束後,涉及判斷的表達式就會進行相應的運算(如:a++)。
在&&運算中,如果&&前面的邏輯值為0(如:令a=0;a++&&b++,此時,a還沒有進行++運算,仍為0。但是在本語句結束後就自加1),則結束本語句;如果&&前面的邏輯值為1,則繼續判斷&&後面的值是否為1,如果為1,則繼續判斷後面的邏輯運算;如果為0,而結束本語句。
優先順序
優先順序與求值順序無關。如a+b && b*c,雖然*優先順序最高,但這個表達式求值順序是從左到右。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
相同優先順序中,按結合性進行結合。大多數運算符結合性是從左到右,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。
基本的優先順序需要記住:
指針最優,單目運算優於雙目運算。如正負號。
先算術運算,後移位運算,最後位運算。請特別注意:1邏輯運算最後結合。
以上內容參考:網路-運算符優先順序
B. c語言種「與」和「或」的區別是什麼求舉例
名稱都不一樣了
與是像乘,1*1=1 1*0=0
或是像加的關系(不進位) 1|1=1 1|0=1
熱點內容