運算符和表達式web
運算符: 描述各類操做的符號。數組
表達式:用運算符將操做對象鏈接成符合C語言語法的式子。微信
C語言中的運算符很是豐富,主要包括:編輯器
算術運算符:+、-、*、/、%、++、- -函數
關係運算符:>、>=、<、<=、==、!=學習
邏輯運算符:!、&&、||flex
位運算符:<<、>>、~、^、&、|url
賦值運算符:=、複合賦值運算符spa
條件運算符: ? :.net
逗號運算符: ,
指針運算符:&、 *
求字節數運算符:sizeof
強制類型轉換運算符:(類型關鍵字)
份量運算符:->、.
數組下標運算符:[ ]
其餘運算符:括號()、函數調用等
學習運算符不須要死記硬背,伴隨各章節的學習逐個掌握便可
使用運算符時,須要考慮運算符的如下特徵:
(1) 運算符鏈接的運算對象的個數
若是一個運算符只能對一個運算對象進行運算,則稱爲單目運算符。依次類推,能夠鏈接兩個運算對象的稱爲雙目運算符,鏈接三個運算對象的稱爲三目運算符。
(2) 運算符的優先級
當一個表達式中同時出現多個運算符時,優先級決定了運算的前後次序。C語言對其種類繁多的運算符共規定了15個級別的優先級。
(3) 運算符的結合性
結合性分爲「左結合」和「右結合」兩種,左結合是指優先級相同的運算符按從左到右的順序運算,右結合是從右到左運算。
基本算術運算符
C語言提供5個基本算術運算符和兩個單目的正、負運算符
算術表達式:
由算術運算符、常數、變量、函數和圓括號組成。
例如:‘a’+ ‘b’+ a*b/c +2.8
(1) 優先級:* / % 高於 + -
(2) 結合性:「左結合性」或稱爲「自左至右的結合方向」即運算對象先與左邊的運算符結合。
例如:a - b + c
注意: /是除法運算符,當兩個整數相除時爲整除,即商爲整。
例如: 9/2=4; -9/2=-4;(如有一個是負數,採起向零取整)
%是取餘數運算符,只能做用於兩個整數。運算結果的符號與被除數的符號一致。
例如: 9%2=1 ; -9%2=-1 ; 9%-2=1;
賦值運算符和賦值表達式
1.通常賦值運算符: =
賦值表達式:由賦值運算符將一個變量和一個表達式鏈接起來的式子。
形式:變量名=常量或表達式
功能:將右邊常量或表達式的值賦給左邊的變量。
例:a=3; b=c+d ;
說明:
① 賦值後,原來左邊的變量值被右邊表達式的值替換;
② 若是右邊表達式的值的類型與左邊變量的類型不一致,以左邊變量的類型爲準,將表達式值的類型轉換爲左邊變量的類型。
③ 結合方向「從右向左」。
例: x=y=a+b;
2.複合賦值運算符:在賦值符「=」以前加上其它運算符。
共有10種複合賦值運算符:
+= ,-=,*=,/=,%= (算術運算有關)
<<=,>>=, &=,^ =, |= (與位運算有關)
逗號運算符和逗號表達式
1.逗號運算符:即「,」
優先級:全部運算符中級別最低的運算符。
2.逗號表達式
形式:表達式1,表達式2,……,表達式n
求解過程:順次求解表達式1,表達式2……
最後求解表達式n。
表達式值:逗號表達式的值爲表達式n的值。
結合性:左結合
例如:
a=3*5,a*4 表達式的值60
a=3*5,a*4,a+5 表達式的值20
x=(a=4%3 , a+1, a*10) 表達式的值10
自增、自減運算符 (++、--)
做用:使變量的值增長1或減1,如:
++i,--i(使用以前,先使i的值加(減)1)
i++,i--(使用以後,使i的值加(減)1)
++i 先執行i=i+1,再使用i的值
i++ 先使用i的值,再執行i=i+1
例如:int a=1 , b; b=++a ; b=a++ ;
說明:
(1)++、- -爲單目運算符
(2)++ 、- -只能用於變量,而不能用於常量或表達式。
例如:10++,(x+y)++, ++’a’, b++ 中合法的爲:b++
(3)自增、自減運算符爲右結合性(即自右至左)。
例如:-a++=-(a++)
sizeof運算符
sizeof運算符是C語言特有的一種運算符,其語法形式以下:
sizeof(運算對象)
該運算符的做用是得到運算對象佔用內存空間的字節數,結果是整數類型。其中,運算對象能夠是數據類型關鍵字、常量、變量和表達式。
本文分享自微信公衆號 - 電子榮耀(gh_05453579ed9d)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。