C語言 操作符和表示式

2021-09-27 07:03:53 字數 1758 閱讀 4912

+ :加法操作符

- :減法操作符

* :乘法操作符

/ :除法操作符

% :取餘操作符

注意:

>>:右移操作符

<<:左移操作符

注意

原值:0000 1011     11

>>1:0000 0101 5 11/2^1

>>2:0000 0010 2 11/2^2

原值:0000 1011     11

<<1:0001 0110 22 11*2^1

<<2:0010 1100 44 11*2^2

注意:移位操作符不能移動負數字,否則會出現警告

&:按位與(有0則0,全1才1)

eg:(0000 0101)&(0000 0110) --> 0000 0100

|:按位或(有1則1,全0才0)

eg:(0000 0101)|(0000 0110) --> 0000 0111

^:按位異或(相同為0,不同為1)

eg:(0000 0101)^(0000 0110) --> 0000 0011

+=、-+、*=、/=、%=、>>=、<<=、&=、^=、|

(都可以寫成復合的效果)

eg:i+=1和i=i+1是等效的

!:邏輯反操作

-:負值

+:正值

&:取位址

sizeof:運算元的型別長度(以位元組為單位)

~:對乙個數的二進位制按位取反

- -:前置/後置- -

++:前置/後置++

*:間接訪問(解引用)

(型別):強制型別轉換

注意

>、>=、<、<=、!=(不等於)、==(等於)

注意:「=」用於賦值,「==」用於判斷相等

&&:邏輯與

||:邏輯或

短路與

int i=0,a=1,b=2,c=3,d=4;

i=a++&&++b&&d++;

輸出abcd:1234

//短路與(為真執行,為假不再繼續向後執行)

短路或

int i=0,a=1,b=2,c=3,d=4;

i=a++||++b||d++;

輸出abcd:1334

//短路與(為假執行,為真不再繼續向後執行)

表示式1 ? a : b

如果表示式1為真,返回a,否則返回b

(常用於求兩個數中的最大值)

a,b,c,d,……

注意:從左向右依次執行,整個表示式的結果是最後乙個表示式的結果

eg:

int a=1;

int b=2;

int c=(a>b,a=b+10,a,b=a+1);

輸出c的值為13

long double

double

float

unsigned long int

long int

unsigned int

int

C語言操作符和表示式

5 2 2 5 2 1注 1.除 操作符之外,其他的幾個操作符均可作用與整數和浮點數,但需要注意結果列印的格式和精度缺失。2.對於 操作符,如果兩個數都為整數,執行整數除法,而只要有浮點數執行的就是浮點數除法。3.操作符的兩個運算元必須為整數。返回的是整除之後的餘數。左移操作符 移位規則 左邊拋棄 ...

C語言 操作符和表示式

算術操作符 c提供了所有常用的算術操作符 除了 操作符,其餘的操作符是既適用於浮點型別又適用於整數型別 為取模操作符,接受兩個整型運算元,把左運算元除以右運算元,但其返回的值是餘數而不是商。移位操作符 二進位制 0和1 移位操作只是簡單地把乙個值的位向左或向右移動。左移位中,值最左邊的幾位被丟棄,右...

C語言 操作符和表示式總結

操作符的分類 算術操作符 移位操作符 位操作符 賦值操作符 單目操作符 關係操作符 邏輯操作符 條件操作符 逗號表示式 下標引用 函式呼叫和結構成員 1.除了 操作符,其他的操作符都可以作用於整數和浮點數。2.對於 操作符,如果兩個運算元都是整數,執行整數除法,如果有浮點數執行的就是浮點數除法。3....