# 這里是拖延癥的學(xué)習(xí)筆記?
簡單的入門
??????????????
C語言運(yùn)算成分
## 賦值符號
當(dāng)兩邊類型不同
自動完成裝換
當(dāng)長數(shù)賦給短數(shù)
截取長數(shù)的低位給短數(shù)
短數(shù)賦給長數(shù)
不變旬渠!??
符號位的賦值處理(signed = unsigned)
直接賦值!
結(jié)論
很暈损谦!
霧霾大颅湘,智商下降!!??
## 什么是表達(dá)式
程序中由運(yùn)算符寥殖、操作數(shù)和括號組成的計算式嚼贡,是計算求值的基本單位。
表達(dá)式是有值的同诫,賦值語句也有值的粤策,應(yīng)該是等號所傳遞的值,同時误窖,
賦值語句也是有返回值的叮盘。0.
復(fù)合表達(dá)式
比如 a += 3 之類的
## 算術(shù)運(yùn)算符和算術(shù)表達(dá)式
% 是模運(yùn)算秩贰, 秋雨運(yùn)算,必須是整數(shù)
注意
整數(shù)運(yùn)算仍然是整數(shù)柔吼,實(shí)數(shù)運(yùn)算就是double形啦
但是精度有限毒费,最后的位數(shù)根據(jù)編譯器不同而不同
連續(xù)表達(dá)式
要考慮結(jié)合順序和優(yōu)先級
## 算術(shù)運(yùn)算符的優(yōu)先級
- ()
- *? /? %
- + -
在同一級別中,采用由左至右的結(jié)合方向??
如果一個表達(dá)式里面出現(xiàn)了short 類型愈魏, 那么所有的short
類型必需要先轉(zhuǎn)換成 int 類型觅玻,然后再去進(jìn)行運(yùn)算。
按照大小
char short -\> int
unsigned
long
float -\> double
++ --
++ 號只能由于變量培漏,不能用于表達(dá)式
像是 (-i)++ 會存在編譯錯誤
## ??c語言提供6種關(guān)系運(yùn)算符
\< \<= \> \>=? 優(yōu)先級相同 高
==? 溪厘!=? ? 優(yōu)先級相同 低
關(guān)系運(yùn)算的值
0 or 1運(yùn)算符的優(yōu)先級
算術(shù)運(yùn)算符 高于
關(guān)系運(yùn)算符 高于
關(guān)系運(yùn)算符
邏輯運(yùn)算
1. !飛
2. &&
3. \||
粒子
a = 4
那么 !a = 0
邏輯判斷運(yùn)算符會自行短路
\||? 如果左邊為真就不計算后面的
&&? 如果左邊為假就不計算后面的
## 逗號
逗號的優(yōu)先級灰常低牌柄,會最后計算畸悬。。友鼻。
大概僅次于分號傻昙,還有括號君
~~ ```
~~ x = 3, x *= (3,3);
~~ ```
x最后就是9??
## 條件運(yùn)算符
- 表達(dá)式1 彩扔? 表達(dá)式2 : 表達(dá)式3
- 如果表達(dá)式1的值為真妆档,則以表達(dá)式2的值作為條件表達(dá)式的值;
否則以表達(dá)式3的值作為整個表達(dá)式的值
~~ ```
~~ max = (a>b) ? a : b;
~~ ```
相當(dāng)于
~~ ```
~~ if(a>b) max = a;
~~ else max = b;
~~ ```
## 強(qiáng)制類型轉(zhuǎn)換
- (類型名) (表達(dá)式)
- (double)將 a 的值虫碉!轉(zhuǎn)變換成double類型
18016049630
## 位運(yùn)算
- &? ? 按位與
- |? ? 按位或
- ^? ? 按位異或
-? \<\< 左移運(yùn)算
在最高位沒有溢出的時候贾惦,左移一位相當(dāng)于該數(shù)字乘以2
-? \>\> 右移運(yùn)算
在最高位沒有溢出的時候,左移一位相當(dāng)于該數(shù)字除以2
- 位運(yùn)算在有些情況下會很有用
- 擴(kuò)展閱讀
[http://blog.chinaunix.net/uid-21411227-id-1826986.html]