天天看點

算術指派運算符算術、指派運算符

算術、指派運算符

運算符

優先級
	運算符
		名稱或含義
			使用形式
				結合方向
					說明
	1
	[]
		數組下标
			數組名[常量表達式]
				左到右
					 
	()
		圓括号
			(表達式)
				函數名(形參表)
					 
	.
		成員選擇(對象)
			對象.成員名
				 
	->
		成員選擇(指針)
			對象指針->成員名
	2
	-
		負号運算符
			-表達式
				右到左
					單目運算符
	(類型)
		強制類型轉換
			(資料類型)表達式
				 
	++
		自增運算符
			++變量名
				變量名++
					單目運算符
	--
		自減運算符
			--變量名
				變量名--
					單目運算符
	*
		取值運算符
			*指針變量
				單目運算符
	&
		取位址運算符
			&變量名
				單目運算符
	!
		邏輯非運算符
			!表達式
				單目運算符
	~
		按位取反運算符
			~表達式
				單目運算符
	sizeof
		長度運算符
			sizeof(表達式)
				 
	3
	/
		除
			表達式 / 表達式
				左到右
					雙目運算符
	*
		乘
			表達式*表達式
				雙目運算符
	%
		餘數(取模)
			整型表達式%整型表達式
				雙目運算符
	4
	+
		加
			表達式+表達式
				左到右
					雙目運算符
	-
		減
			表達式-表達式
				雙目運算符
	5
	<<
		左移
			變量<<表達式
				左到右
					雙目運算符
	>>
		右移
			變量>>表達式
				雙目運算符
	6
	>
		大于
			表達式>表達式
				左到右
					雙目運算符
	>=
		大于等于
			表達式>=表達式
				雙目運算符
	<
		小于
			表達式<表達式
				雙目運算符
	<=
		小于等于
			表達式<=表達式
				雙目運算符
	7
	==
		等于
			表達式==表達式
				左到右
					雙目運算符
	!=
		不等于
			表達式!= 表達式
				雙目運算符
	8
	&
		按位與
			表達式&表達式
				左到右
					雙目運算符
	9
	^
		按位異或
			表達式^表達式
				左到右
					雙目運算符
	10
	|
		按位或
			表達式|表達式
				左到右
					雙目運算符
	11
	&&
		邏輯與
			表達式&&表達式
				左到右
					雙目運算符
	12
	||
		邏輯或
			表達式||表達式
				左到右
					雙目運算符
	13
	?:
		條件運算符
			表達式1? 表達式2: 表達式3
				右到左
					三目運算符
	14
	=
		指派運算符
			變量=表達式
				右到左
					 
	/=
		除後指派
			變量/=表達式
				 
	*=
		乘後指派
			變量*=表達式
				 
	%=
		取模後指派
			變量%=表達式
				 
	+=
		加後指派
			變量+=表達式
				 
	-=
		減後指派
			變量-=表達式
				 
	<<=
		左移後指派
			變量<<=表達式
				 
	>>=
		右移後指派
			變量>>=表達式
				 
	&=
		按位與後指派
			變量&=表達式
				 
	^=
		按位異或後指派
			變量^=表達式
				 
	|=
		按位或後指派
			變量|=表達式
				 
	15
	,
		逗号運算符
			表達式,表達式,…
				左到右
					 
	規律
		結合方向隻有三個是從右往左,其餘都是從左往右。
		所有雙目運算符中隻有指派運算符的結合方向是從右往左。
		另外兩個從右往左結合的運算符也很好記,因為它們很特殊:一個是單目運算符,一個是三目運算符。
		C語言中有且隻有一個三目運算符。
		逗号運算符的優先級最低,要記住。
		此外要記住,對于優先級:算術運算符 > 關系運算符 > 邏輯運算符 > 指派運算符。邏輯運算符中“邏輯非 !”除外。
           

算術運算符

表達式:常量變量函數,運算符組成的有意義的式子
	基本算術運算符
		+-*/%
		結合方向:從左到右
		說明;兩數相除,結果為整數,有一個為實數(小數)結果為實數(小數);%要求兩邊都為整數
自增自減運算符
	作用:是變量值加一或減一
	種類
		字首++i,--i(先使用i+1或i-1,在使用i值)
			int i=5,b=++i
				輸出b=6,i=6
		字尾i++,i--(先使用i值,在使用i+1,或i-1)
			int i=5,b=i++
				輸出為b=5,i=6
	記憶小技巧
		運算符在前,先運算,在指派,
		運算符在後,後運算
	說明:
		++,--不能用于常量,表達式和函數傳回值,操作對象必須為變量
		結合方向自右向左
           

指派運算符

簡單指派運算
		符号
			=
		格式
			變量辨別符=表達式
		作用
			将一個資料指派給一個變量
	複合指派運算
		種類
			+=,-=,*=,/=,%=,<<= , >>=
		含義
			變量 op = 表達式
				等價于:變量 = 變量 op(表達式)
		舉例
			a+=3 等價于 a=a+3
		說明
			結合方向,自右向左
			左側必須是變量
			指派類型轉換規則:指派号右邊表達式自動轉換為指派号左邊的類型
           

繼續閱讀