【c語言】操作符
阿新 • • 發佈:2018-12-10
1.算術操作符
/ % + - *
- 除了%操作符之外,其他的幾個操作符可以作用於整數和浮點數
- 對於/操作符如果兩個操作符都為正數,執行整數除法,而只要有浮點數執行的就是浮點數執行的就是浮點數除法。
- %操作符的兩個操作符必須是整數,返回的是整數之後的餘數。
2. 移位運算元
** << 左移操作符 >> 右移動運算元
- 左移操作符 移位規則:左邊拋棄,右邊補0
int main()
{
int a = 10;
int b = a << 1;
printf("a= %d b= %d\n", a, b);
system("pause");
}
執行結果:a=10,b=20 左移操作符相當於乘二效果
- 右移操作符 移位規則: 1.邏輯移位 左邊用0填充,右邊丟棄 2.算術移位 左邊用原該值的符號位填充,右邊丟棄 右移操作符相當於除二的效果 但是並不是所有的>>都是除二 eg:下面程式碼b是-1
int main()
{
int a = -1;
int b = a >> 1;
printf("a= %d b= %d\n", a, b);
system("pause");
}
左移和右移移動的都是補碼的二進位制序列
3.位操作符
& 按位與 (有0則0,兩個1才是1) | 按位或 (有1則1,兩個0才是0) ^ 按位異或 (相同為0,相異為1) 它們的運算元必須是整數,作用於二進位制序列。
4.賦值操作符 :=
5.複合操作符
+=、 -= 、*=、 /=、 %=、>>=、<<=、&=、|=、=、
6. 單目操作符
邏輯反操作:! 負值 : - 正值 :+ 取地址 :& 操作符的型別長度(以位元組為單位): sizeof 對一個數的二進位制按位取反 : ~ 前置 後置-- : – 前置 後置++ :++ 解引用操作符 : * 強制型別轉換 :(型別)
7.關係操作符
< <= > >= != ==
8.邏輯操作符
邏輯與 && 邏輯或 | | 9.條件操作符 a?b:c 同: if(a) b; else c;
9.逗號表示式
a,b,c,d,……v 逗號表示式,就是逗號隔開的多個表示式,整個表示式的結果是最後一個表示式的結果。所以a,b,c,d,……v只執行v