一、賦值運算符和賦值表達式
1、賦值運算符
C語言的賦值運算符為等號,表示形式「=」。
此外,還有複合賦值運算符,後續陸續介紹。
2、賦值表達式
「=」的左側是變量,右側是常量、變量、表達式、函數等,「=」的含義是將右邊的值賦給左側的變量,程序運行時先計算右側值,然後賦給左側變量。
二、算術運算符和算術表達式
對計算機中數據進行算術運算的運算符,稱為算術運算符,包括數學中學到的加減乘除和一些擴展。
1、加法和減法運算符
加法運算符為「+」,使運算符兩側的值相加,兩側的值可以是變量、常量和表達式等。
減法運算符為「-」,使運算符左側的值減去右側的值。
2、乘法和除法運算符
乘法運算符為「*」,使運算符兩側的值相乘。
除法運算符為「/」,使運算符兩側的值相除,」/」左側的值是被除數,右側的值是除數。
3、求模運算符
求模運算符為「%」,求出左側整數除以右側整數的餘數。
上面運算符為二元運算符,所謂二元運算符為運算符兩邊有兩個操作數。
4、符號運算符
「+」(正號)不改變操作數的值及符號, 「-「(負號)可用於得到一個數的相反數。
5、自增和自減運算符
自增運算符為「++」,自減運算符為「--」。
自增運算符使運算對象遞增1,有兩種形式:運算符在變量的左側,稱前綴模式,運算符在變量的右側,稱後綴模式。
前綴形式指變量的值加1作為表達式的值,同時變量的值加1;後綴形式指將變量的值作為表達式的值,然後變量值加1。
符號運算符、自增和自減運算符為一元運算符。
6、複合賦值運算符
複合賦值運算符有:+=、-=、*=、/=、%=,分別等同於以下:
x+=y+1等同x=x+(y+1)依次類推,注意:右側表達式為一個整體。
7、括號()
與數學上的括號一樣,能改變運算的順序。
8、算術表達式
使用算術運算符將運算對象連接起來、符合C語言語法規則的式子。
三、關係運算符和關係表達式
程序設計中需要經常對運算對象之間的大小進行比較,如:大小、相等等關係,這樣的運算符稱為關係運算符,用關係運算符將數值或表達式連接起來的式子就是關係表達式,滿足關係表達式運算符關係的結果稱為「真」,否則為假。
常用的關係運算符有:
四、邏輯運算符和邏輯表達式
有時多個關係表達式組合起來更有用,這時需要邏輯運算符將關係表達式連接起來,用邏輯運算符連接運算對象組成的表達式就是邏輯表達式。
表一:邏輯運算符
邏輯表達式運算結果:
a&&b 只有a和b都是真時,表達式結果為真,有一個為假,表達式結果為假。
a||b a或b有一個為真,表達式結果為真,a和b都為假,表達式結果為假。
!a a為真時,表達式結果為假,a為假時,表達式結果為真。
五、條件運算符和條件表達式
條件運算符是C語言中唯一的一個三目運算符,它需要三個操作數,條件表達式為:
表達式1?表達式2:表達式3。
? : 稱為條件運算符
執行情況:
先計算表達式1的值,若為真,則整個表達式的值為表達式2的值,否則,為表達式3的值。
當有多個條件表達式組成的符合條件表達式時,運算順序從右向左。
如:a>b?a:c>d?c:d相當於a>b?a:(c>d?c:d)
六、逗號運算符和逗號表達式
逗號運算符是特殊的運算符,將兩個表達式連接起來,一般形式:
表達式1,表達式2
執行情況:先求解表達式1,再求解表達式2,最後的結果是表達式2的值。