1. 程式人生 > >【c語言】操作符

【c語言】操作符

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