學習c中運算符的簡單總結



    今天學習了操作符感覺計算機語言也像其他語言一樣,挺有意思的,分享一下心得吧!

操作符可分爲算術操作符移位操作符位操作符賦值操作符單目操作符關係操作符邏輯操作符條件操作符。
1算術操作符
  + - * / %
1除了%操作符之外,其他的幾個操作符可以作用於整數和浮點數。
2對於/操作符如果兩個操作數都爲整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。
3%操作符的兩個操作數必須爲整數。返回的是整除之後的餘數。

2 移位操作符

<<  左移操作符
>>  右移操作符
左移操作符移位規則:左邊拋棄、右邊補0 *右移又分爲兩種,算數移位和邏輯移位,區別如上圖所示

*移位不移負數,其標準未定義

3位操作符

  & / /按位與
  | // 按位或
  ^ // 按位異或
注:他們的操作數必須是整數。*注意^&的區別

4 賦值操作符
    賦值操作符是一個很棒的操作符,他可以讓你得到一個你之前不滿意的值。也就是你可以給自己重新賦值。
intweight=120;//體重
weight=89;//不滿意就賦值
doublesalary=10000.0;
salary=20000.0;//使用賦值操作符賦值。
    賦值操作符可以連續使用,比如:
inta=10;
intx=0;
inty=20;
a=x=y+1;//連續賦值
    這樣的代碼感覺怎麼樣那同樣的語義,你看看:

x=y+1;
a=x;
    這樣的寫法是不是更加清晰爽朗而且易於調試。

5賦值操作符

    += = *= /= %= >>= <<= &= |= ^=
    這些運算符都可以寫成複合的效果。 
6單目操作符
   ! 邏輯反操作
   - 負值 +正值
   & 取地址

   sizeof 操作數的類型長度(以字節爲單位)
   ~ 對一個數的二進制按位取反
   -- 前置、後置--
   ++ 前置、後置++
   * 間接訪問操作符(解引用操作符)                  
演示代碼:

#include<stdio.h>
intmain()
{
   inta=-10;
   int*p=NULL;
   printf("%d\n",!2);
   printf("%d\n",!0);
    a=-a;
    p=&a;
     printf("%d\n",sizeof(a));
     printf("%d\n",sizeof(int));
     printf("%d\n",sizeofa);//這樣寫行不行?
     printf("%d\n",sizeofint);//這樣寫行不行?
return0;
}

7關係操作符
    > >= < <= !=用於測試“不相等”==用於測試“相等”

    這些關係運算符比較簡單,沒什麼可講的,但是我們要注意一些運算符使用時候的陷阱。 

*注意編程中將==和=寫錯 

8邏輯操作符
   && 邏輯與 || 邏輯或
   區分邏輯與和按位與

  區分邏輯或和按位或

   對於參加運算的數要換算爲二進制進行運算,例如3 & 2的結果是2,過程如下:

3 & 2

=0111 & 0010

=0010

=2

9條件操作符
exp1?exp2:exp3
例子
b=(a>5?3:-3)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章