c語言操作符

2021-09-01 20:54:21 字數 2749 閱讀 4693

操作符對於乙個程式設計師來說,是最熟悉不過的了,其數目繁多,單個容易理解,但是組合起來就不太容易讓人理解 了,操作符對於計算機世界來說,十分有必要,可以更加便於計算機運算。

除了%操作符之外,其他的幾個操作符可以作用於整數和浮點數。

對於/操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。

%操作符的兩個運算元必須為整數。返回的是整除之後的餘3. %操作符的兩個運算元必須為整數。返回的是整除之後的餘

賦值操作符

這再熟悉不過了 = 當我們多變數賦值時我們就需要用到它

// 連續賦值

int a =0;

int x =1;

int y =4;

a = x = y +

1;

操作符

例子轉換

+=x += 1

x = x + 1

-=x -= 1

x = x - 1

/=x /= 1

x = x / 1

%=x %= 1

x = x % 1

>>=

x >>= 1

x = x >> 1

<<=

x <<= 1

x = x << 1

&=x &= 1

x = x & 1

丨=x 丨= 1

x = x 丨 1

^=x ^= 1

x = x ^ 1

單目操作符

操作符含義

!邏輯取反–負值

+正值~按位取反

- -前置、後置 - -

++前置、後置 ++

*間接訪問操作符(解引用)

&取位址

sizeof

運算元的型別長度

printf

("%d\n"

,sizeof

(a))

;printf

("%d\n"

,sizeof

(int))

;printf

("%d\n"

,sizeof a)

;printf

("%d\n"

,sizeof

int)

// 這樣寫等價

int a =10;

int x =

++a;

//先對a進行自增,然後對使用a,也就是表示式的值是a自增之後的值。x為11

int y =

--a;

//先對a進行自減,然後對使用a,也就是表示式的值是a自減之後的值。y為

int a =10;

int x = a++

;//先對a先使用,再增加,這樣x的值是10;之後a變成11;

int y = a--

;//先對a先使用,再自減,這樣的值是11;之後a變成1

int i =1;

int ret =

(++i)+(

++i)+(

++i)

;printf

("%d\n"

, ret)

;// vs 12 linux gcc 10

printf

("%d\n"

, i)

;// vs 4 linux 4

這段**中的第乙個 + 在執行的時候,第三個++是否執行,這個是不確定的,因為依靠操作符的優先順序和結合性

是無法決定的

操作符含義&&

邏輯與丨丨

邏輯或

1&2

----

->

0//01 & 10 --> 01&&

2---->

1//true1|

2----->

3// 01 || 10 --> 111||

2----1

// true

int i =

0,a=

0,b=

2,c =

3,d=4;

i = a++

&&++b && d++

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

printf

("a = %d\n b = %d\n c = %d\nd = %d\n"

, a, b, c, d)

;//a=1 b=2 c=3 d=4 | a=1 b=3 c=3 d=5

//左邊為假右邊不運算

i = a++

||++b||d++

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

printf

("a = %d\n b = %d\n c = %d\nd = %d\n"

, a, b, c, d)

;//a=1 b=3 c=3 d=4 | a=1 b=2 c=3 d=4

// 左邊為真右邊不運算

if (a > 5)

b = 3;

else

b = -3;

a>

5? b=

3: b =

-3

exp1, exp2, exp3, …expn
逗號表示式,就是用逗號隔開的多個表示式。 逗號表示式,從左向右依次執行。整個表示式的結果是最後乙個表示式的結果

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...

C語言 , 操作符

例如 define to string s s 將會使編譯器把以下命令 cout to string hello world endl 理解為cout hello world endl 例如 define concatenate x,y x y int xy 10 將會使編譯器把 cout conc...

C語言操作符

操作符的分類 1 算術操作符 2 移位操作符 3 位操作符 4 賦值操作符 5 單目操作符 6 關係操作符 7 邏輯操作符 8 條件操作符 9 逗號表示式 1 算術操作符 1 除了 操作符之外,不能用於浮點數。2 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...