第五課:運算子
整型
整型常量: 即為整常量,C語言中有二進位制,八進位制,十進位制,十六進位制等表達方式。
整型變數:變數的實質就是在記憶體中分配一定大小的空間,定義變數的形式一般為
<型別名><變數名>
int i
char a
字元型別:
字元常量:'a' 一個字元字串常量: "abcd" 多個字元
字元變數:用來儲存字元常量的,在C語言中可將字元變數分為有符號字元變數(char)和無符號字元變數(unsigned)。將一個字元常量存入字元變數中,實際是將該字元的ASCII碼存入儲存單元中,與整數的儲存形式型別,因此一個字元資料既可以以字元形式輸出,也可以以整數形式輸出。字元資料的位元組長度和數的取值範圍
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 科學表示3e122、浮點型變數: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 假01>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