一、算數運算子 +加 -減 *乘 /除 %取模
1.除法運算:若兩個運算元都為整數則進行整數除法,若兩個運算元有乙個為浮點數則進行浮點數除法。
2.取模操作符的兩個運算元都必須為整數。
二、移位操作符
《左移 >>右移
1.《左移:移動二進位制序列,向左移動,左邊遺棄,右邊補0
2.>>右移:①算數右移:移動二進位制序列,向右移動,右邊遺棄,左邊用原該值的符號位補充
②邏輯右移:移動二進位制序列,向右移動,右邊遺棄,左邊補0
注:①計算機裡存放的是數字的補碼
正數的原碼,反碼,補碼都一樣。 00000000000000000000000000000001–數字1
負數則不同:例如-1 10000000000000000000000000000001–原碼 11111111111111111111111111111110–反碼(原碼按位取反就是反碼) 11111111111111111111111111111111–補碼(反碼加1就是補碼)
②對於移位操作符,不要移動負數字
三、位操作符
&按位與
| 按位或
^按位異或
1.&按位與:
按二進位制位與,對應的二進位制位有乙個為0就是0
2.| 按位或:按二進位制位或,對應的二進位制位有乙個為1就是1
3.^按位異或:按二進位制位異或,對應的二進位制位相同為0,相異為1
四、賦值操作符 =等於:可連續使用
五、符合賦值符 += -= *= /= <<= >>= %= &= |= ^= a=a+3 ==> a+=3(這樣寫更加便捷)
六、單目運算子 !邏輯反操作 -負值 +正值 &取位址 sizeof運算元的型別長度 ~按位取反 --自減 ++自加 *解引用操作符 (型別)強制型別轉換
1.sizeof①表示式裡面的表示式不進行計算 ②int arr[10]—>sizeof(arr)=sizeof(int [10])=10(陣列也有型別)
2.++a:先增加,再運算 a++:先運算,再增加(–相同)
3.強制型別轉換:int a=(int)3.14;
七、關係運算子 >大於 《小於 >=大於等於 <=小於等於 !=判斷不等於 ==判斷等於 //需要注意在判斷等於時是兩個等號。
八、邏輯操作符
1.&&邏輯與 有乙個為假,結果為假(如:1&&2–>1 0&&2–>0)
2.|| 邏輯或 有乙個為真,結果為真(如:1||2–>1 0||2–>1)
九、條件操作符
exp1 ? exp2 : exp3當exp1為真,結果為exp2;當exp1為假,結果為exp3
十、逗號表示式
exp1,exp2,exp3,…,expn逗號表示式就是用逗號隔開多個表示式,從左向右依次執行,但整個表示式的結果是最後乙個表示式的結果。
十一、下標引用、函式呼叫和結構成員
1.下標引用
運算元:乙個陣列名+乙個索引值(如:int arr[10])
2.函式呼叫操作符()
括號()裡的運算元為傳遞給函式的引數
3.結構成員—> . 結構體 ->結構體指標( (*p).name 相當於 p->name )定義乙個學生型別struct stu(沒有佔據記憶體空間)。stu為結構體標籤。struct stu s(這裡的s為結構體變數)。通過struct stu這個型別建立s變數的這個過程叫做例項化。若想要給結構體裡的成員賦值我們可以採用以下方法: strcpy(s.name,「李四」);strcpy(s.***,「男」); s.age=20;(整型變數可以直接放進去)結構體成員的訪問–>s.name s.age s.***
C語言操作符總結
c語言操作符總結 1.算數操作符 有浮點數則為浮點除法 全為整形 2.移位操作符 所有的移位操作符都是二進位制移位 左移 效果 左邊拋棄右邊補0.右移 效果 1 符號位 算術移位 原該值的符號位 2 0 邏輯移位 警告 不要移動負數字 3.位操作符 按位與 按位或 按位異或 注意 全都為二進位制位操...
C語言 操作符總結
1.運算操作符 加 可作為正號 例 a b 4 減 可作為正號 例 a b 5 乘 例 a b 除 例 a b 注意 分母不能為零 取餘 運算操作符的使用方法,基本與數學上的使用一致 2.賦值操作符 例 a 2 可讀為將2賦給a 注意 從右向左進行運算 3.其他符賦值操作符 例 a 1 相當於 a ...
C語言操作符總結
1.操作符的兩個運算元必須為整數,返回的是整除後的餘數。2.對於 操作符,如果兩個運算元都是整數則執行整數除法,只要有浮點數就執行浮點數除法。左移操作符 右移操作符 左邊拋棄,右邊補0 右移分為兩種 1.邏輯移位 左邊用0補,右邊丟棄 2.算術移位 左邊用原來的符號位填充,右邊丟棄 符號位中0表示正...