C語言的運算符與表達式
運算符與表達式
C語言的運算符又稱為操作符,是資料間進行運算的符号。C語言的運算符按運算類型可分為指派運算符、算術運算符、邏輯運算符、關系運算符、位運算符、指針運算符和取成員運算符等;按運算對象(又稱為操作數)的個數又可分為單目運算符、雙目運算符和三目運算符。
将資料或變量用運算符連接配接起來,就構成了C語言的表達式。表達式是按照一定規則,将運算對象用運算符連接配接起來的有意義的式子。表達式中的運算對象可以是常量、變量、函數,也可以是别的表達式。
算術運算、指派運算與類型轉換
算術運算符與算術表達式
C語言中的算術運算符包括5個雙目運算符:加“+”、減“−”、乘“*”、除“/”、求餘(取模)“%”及4個單目運算符:自增“++”、自減“−−”、單目加“+”和單目減(算術取反)“−”,此外還有圓括号“()”運算符,它可以用來改變運算的順序。
自增“++” 分為前置++和後置++ 前置++是先加1 在用值 後置++ 是先用原值 然後加1;
自減“--” 分為前置--和後置-- 前置--是先減1 在用值 後置-- 是先用原值 然後減1;
由算術運算符與數值、變量等構成的表達式稱為算術表達式。
指派運算符與指派表達式
指派運算用于改變變量的值。C語言中提供了1個簡單指派運算符“=”和10個複合指派運算符:+=、−=、 *=、/=、%=、<<=、>>=、&=、^=和|=。
類型轉換運算符
在表達式中,當混合使用不同類型的資料時,C語言中将對其類型自動進行轉換,這種轉換一般是“向上”的,即由占存儲空間小的資料類型向占存儲空間大的資料類型轉換。
邏輯運算符與邏輯表達式
邏輯運算由邏輯運算符來完成,邏輯運算符共有3個:
&& 邏輯與
|| 邏輯或
! 邏輯非
邏輯運算的規則如下所示:
a&& b
a|| b
!a
在與前面學過的其他類型運算符進行比較時,具有如下關系:
邏輯非! > 算術運算符 > 關系運算符 > 邏輯與&& > 邏輯或|| > 指派運算符
條件運算
條件運算符是唯一的三目運算符,也是C語言中最特殊的運算符。
條件運算符的使用格式如下:
表達式1?表達式2:表達式3
它的含義是指,如果表達式1(條件)結果為真,整個運算的結果為表達式2的值;如果表達式1(條件)結果為假,整個運算的結果為表達式2的值。
sizeof 運算符
sizeof運算符用于計算其操作數的大小,即其在記憶體中所占位元組數。