1. 程式人生 > >第五課:運算子

第五課:運算子

整型

整型常量: 即為整常量,C語言中有二進位制,八進位制,十進位制,十六進位制等表達方式。

整型變數:變數的實質就是在記憶體中分配一定大小的空間,定義變數的形式一般為

<型別名><變數名>

    int              i

    char           a          

字元型別:

     字元常量:'a'         一個字元
   字串常量: "abcd"   多個字元

   字元變數:用來儲存字元常量的,在C語言中可將字元變數分為有符號字元變數(char)和無符號字元變數(unsigned)。將一個字元常量存入字元變數中,實際是將該字元的ASCII碼存入儲存單元中,與整數的儲存形式型別,因此一個字元資料既可以以字元形式輸出,也可以以整數形式輸出。字元資料的位元組長度和數的取值範圍


1.定義變數
[有無符號] 型別 變數;
2、引用變數:亦是引用變數的內容

科學計數法

  C語言中的科學技術法,一般由整數和‘ e ’' E '組成,e和E表示以10為底的冪例如0.01表示為1e-2,3.14e-2=3.14*10^-2=0.0314。C語言規定‘e’和‘E’前後必須有數字,且後面必須為正整數如e5,0.3e,......都是不合理的表達



浮點型:

  1、浮點型常量: (十進位制)3.14   科學表示3e12
  2、浮點型變數:float  double
[有符號] 型別 變數名;




程式=演算法+資料

運算子:

 表示式:由運算子與資料組成的式子
 注:每一個表示式都有運算的結果
  1、求空間長度運算子: sizeof (筆試)
  2、賦值  左值=右值
1.隱式轉換(不同型別)
   整型=浮點型;  取整形數部賦值給整型
2.溢位
   注:結合:從右往左
   隱式型別轉換:編譯系統是不能直接運算不同型別間的資料,必須轉換為同類型方能運算。
  3、算術運算子:  +  -  *  /   %
優先順序:  * / %  》 + -  結合:從左往右
       注:%只對整型資料  int%int
    注: int / int =int
char-(char)->char
char-(int)->int-(float/double)->double (為了提高精度)

 


  4、位運算子:(對bit進行操作)  >>  <<  &  |  ^  ~

 左移:data<<1


例:a=1  b=a<<1 表示0001->0010 所以b=2

注:一個數向左位移n位,那個數就變成a*2^n

  右移: data>>1

注:移動後的空位由0自動補上

例:  a=10 b=a>>1  表示1010->0101 所以b=5

注:  一個數向右移n位,那個數就變成a/2^n  (對於正整數)

& 運算子   
兩個‘1’才為‘1’,其他為0 
1&1=1   1&0=0    0&0=0    0&1=0


| 運算子
有一個為'1'則為‘1’
1|1=1      1|0=1      0|1=0      0|0=0


~ 運算子
0 ->1    1->0

^運算子
兩者相異則為一
1^1=0
1^0=1
0^0=0
0^1=1

 

  5、判定運算子: >   <  >=  <=  !=  !

     結果:邏輯值  真1   假0
    1>2 的結果為0
    2>1 的結果為1

  6、自增自減運算子:++   -- 注:i的值必須是變數

i++  ++i  或 i--   --i
前自增、減: ++i  --i (i)先自增/減,(結果)再取(i)值
後自增、減: i++  i--    (結果)先取(i)值 ,(i)再自增/減

  7、三目運算子:   表示式1?表示式2:表示式3

     結果: 表示式1為真,則取表示式2,否則取表示式3

(表示式1非0則為真  表示式1=0則為假)

    例: (5>3)?2:3   因為5>3為真,所以輸出2