【C語言】操作符

C語言的操作符有很多種,也很重要,可分爲以下幾類:

1.算術操作符:+ - * / %

除法中:倆個整形相除結果也等於整形;含有浮點型的除法中結果也爲浮點型。

% :模運算只能用於整數,因爲有小數點時,爲浮點數運算,浮點數除法中不存在小數。

int main()  
{  
   int a = 3;  
    int b = 2;  
    printf("%d",3/2);//結果爲1,不是1.5  
    printf("%d",3.0/2);結果爲1.5  
 return 0;  
} 


2.移位操作符:>>    <<

左移<< 左邊直接拋棄,右邊補0  001 << 2 = 100 

右移>> 算術右移:右邊拋棄,左邊補符號位;邏輯右移: 直接補0;

【注意】移位不能用於負數。

一個整數右移相當於這個整數除2;

num>>1==num/2 所以除2的時候可以用右移代替;

0x40000000 << 1 = -2的31次方

左移n位,相當於num乘以2的n次方。

3.位操作符:& | ^

位操作符在C中很少出現,但很重要;

& 按位與 1&0=0  1&1=1;

 特點:某一位與上1爲它本身,所以&可以用來取出二進制中的某位;

| 按位或   1|0=1

^ 按位異或  1^0=1 1^1=0 0^0=0

 特點 設:a^b==c; c^b==a; c^a==b;  三個數直接異或存在自反性(自己理解)

3.賦值操作符:=

   複合賦值操作符: +=  -=   *=   /=  >=   <=   ==   !=

num+=1;   num=num+1;

num-=1;   num=num-1;

4.單目操作符: ! -  +  &  sizeof  ~ --  ++  *  (類型)

!:邏輯反操作,真變爲假,假變爲真;

&:取地址符

int num = 20
int arr[10] = {0};
printf("%p\n",&num);
printf("%p\n",arr);//arr表示數組首元素的地址
printf("%p\n"arr[0]);//首元素地址
printf("%p\n",&arr);//這裏arr表示整個數組,對整個數組取地址爲首元素地址

sizeof:計算長度

sizeof (int);

sizeof  (num);

sizeof num;以上3種表示方法都可以,但不能表示爲

siozeof int;

~ :二進制按位取反

* :解引用

int *p = &num;

*p = 20;

(類型):強制類型轉換

5.關係操作符: >   <    >=   <=    ==   !=

==  :等於 注意與賦值=區分

防止寫錯可以寫爲

if(5==i)

6.邏輯操作符: && ||

&& :邏輯與  1&&1爲真  當&&左邊爲0時,右邊將不再計算

||  :邏輯或   1||0爲真    當||左邊爲1時,右邊將不再計算

7.條件操作符: exp?exp1:exp2

如果條件exp成立返回1,否則返回2;

發佈了31 篇原創文章 · 獲贊 21 · 訪問量 9328
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章