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