取餘運算怎麼算 C 03運算子優先順序

2021-10-12 09:20:42 字數 2105 閱讀 7934

(表示式1, 表示式2, 表示式3....);

#include int main()
c語言隨機數函式

這裡區別於指標的++和--, --(++)變數  表示變數先-1(+1),再返回表示式的值。若運算子在變數後則表示先使用變數,然後變數-1(+1)。 

#include int main()
a++: 1++a: 3a--: 3--a: 1 1  0 1 a:1, b:1
分析:第七行:先返回a的值,然後再進行a=a+1運算 因此輸出1,a的值已經變成2了,

第八行:先進行a=a+1賦值,所以得到a的值是3,此時將結果返回,所以列印輸出3,

那麼第10,11行同理。

第14行呢,我之前說過printf的順序,從坐往右依次分別計算(b++)+a,  然後是a++,所以先看前面的表示式,b++在括號裡運算子優先順序較高,因此b++相當於是先返回b的結果0,然後再b=b+1,此時b已經變成1了, 那麼(b++)+a之後就是1, 再看後邊的表示式,a++,相當於返回a的值0再給a+1,此時a的值變成1了,所以15行列印的a和b的值都是1。

&&,表示兩邊的條件都成立才返回真,什麼意思呢,比如有個a&&b,實際上程式是先走a,如果a成功了再執行b, 如果a返回假,那麼b就不會再執行了。 

||,表示兩邊有乙個條件成立就行, 比如 a||b   實際上程式是先走a,判斷為真了,就不執行b了,如果a為假才會執行b。

!,表示相反,不解釋了。

不要嫌棄高司機的話多,這裡我給你一段**,檢查下自己是否已經掌握了:

#include int main()  printf(" a:%d b:%d\n",a, b);    a = b = 1;  if( ++a > 1 && ++b > 1 )    printf(" a:%d b:%d\n",a, b);    a = b = 1;  if( ++a > 2 && ++b > 1 )    printf(" a:%d b:%d\n",a, b);  return 0;}
執行結果:

test 1 a:2 b:2test 2 a:2 b:2 a:2 b:1
有人聽到sizeof是運算子可能會大吃一驚,實際上在我開始學習c的時候,誤認為sizeof是個函式。

那麼sizeof怎麼用,你可以 sizeof(變數名) ,sizeof(型別),sizeof 型別

#include int main()
關於sizeof的更多用法,我將會在指標以及結構體部分滲入,你會感受到sizeof的無限樂趣。

C 03 運算子過載

運算子過載的目的 讓物件的運算表現的和內建型別的運算一樣。運算子過載函式,返回值一般不會是void,例如 連續的 就無法用void實現,一般用類型別的引用,可以保證連續運算。class ccomplex 複數類 ccomplex ccomplex const ccomplex src mreal s...

mysql運算怎麼算 MySQL運算子

1.如果用數字除以0,mysql會返回null mysql select 1 0,0 0 以上都返回null 2.用字串表示的數字在任何可能便於計算的地方都被轉換成數字,其轉換規則如下 如果第一位是數字的字串被用於算數運算中,那麼他被轉換成這個數字的值 如果乙個包含字元和數字的緩和字串不能被轉換成數...

03 運算子(C基礎)

一 sizeof運算子 計算乙個資料型別的大小 ex int a 1 sizeof a 結果就是4 不同的作業系統不一樣 計算乙個陣列的個數 int arr int num sizeof arr sizeof arr 0 結果是5 計算自定義資料型別的陣列大小,也是一樣的 ex typedef st...