c語言操作符總結

2021-08-29 18:51:40 字數 3337 閱讀 8249

算術操作符

+ - * / %

%操作符的兩個運算元必須為整數, 除了% 操作符之外,其他幾個可以用於整數和浮數。

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

移位操作符

右移運算元 >>

移位規則:邏輯移位 ,左邊用零填充,右邊丟棄

算術移位,左邊用原該值的符號位填充,右邊丟棄

左移運算元 <<

移位規則:左邊拋棄,右邊補零

# include

# include

void main (

)

在移位操作符中,有**可看出原有變數如果莫有操作時賦值給自己,則本身自己值不變。

位操作符

& 按位與

| 按位或

^ 按位異或

注:運算元必須是整數

程式設計中可以用位操作符

1,一組數中都出現偶數次,莫個數時只出現奇數次,可全部異或找出此出現此奇數次數

2,乙個整數的二進位制中1的個數等

int main (

)>

> printf (

"%d"

,count)

;>

return0;

>

}

賦值操作符=

這個操作符很常用,基本只要寫**就會有,特別注意=和==的區別,在使用時應注意出現錯誤

**復合操作符

+=*=

/=%=

<<== >>==

&=|=

^=int x=10;

x=x+10;

x+=10; //後兩句作用相同,以上操作法用法一樣

單目操作符

! 邏輯反操作

± 正負值

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

++ - - 前置後置加加減減

( ) 強制型別轉換

~ 對二進位制按位取反

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

sizeof

:short s=4;

int a=3;

printf (

"%d"

,sizeof

(s=a+10)

;//2 ————內部不參與運算

printf (

"%d\n"

,s)//4

int main (

)

# include

# include

void test1 (

int arr)

void test2 (

char ch)

int main ();

char ch[10]

=;printf (

"%d\n"

,sizeof

(arr));

//40——陣列的大小 4*10 (型別大小*陣列元素個數)

printf (

"%d\n"

,sizeof

(ch));

//10——陣列的大小1*10

test1 (arr)

;//4

test2 (ch)

;//4——指標大小在32位平台都是4個位元組,64位平台是8個位元組

system (

"pause");

return0;

}

程式設計中用到:

int a=13;

……00000000000001101

把任意一位改為1/0,按位與/或取反操作,在使用《或》

#include

intset_bit

(int a,

int pos,

int flag)

else

return a;

}int

main()

注意++ - -前置後置使用

int a=10;

int b=0;

b=- -a; //先- -後使用

b=++a; //先++後使用

b=a++; //先使用後++

b=a–; //先使用後- -

int i=1;

int ret=(++i)+(++i)+(++i);

這樣的**在不同的編譯環境中會出現不同的結果,因此再寫**中應慎用

關係操作符

>=

<=

>

<

!===

操作符運算簡單,但應該注意區分使用=和==

邏輯運算子

&&||

應注意區分使用邏輯與和按位與,邏輯或和按位或

1&2——0

1&&2——1

1|2——3

1||2——1

&&在使用時應注意,如果左邊為假,後邊操作就不執行了

||在使用時應注意,如果左邊為真,後邊操作就不執行了

條件操作符

a1 ?a2 : a3

相當於if語句,如果a1為真就執行a2,否則就執行a3

逗號操作符

, , , ,

從左向右執行,整個表示式結果是最後乙個表示式的結果

int a=1;

int b=

2int c=

(a>b,a=b+

10,a,b=a+1)

//c=13 (0,12,1,13)

下表引用,函式呼叫和機構成員

運算元:乙個陣列名+乙個索引值

()運算元: 接受乙個或多個運算元,第乙個運算元是函式名,剩餘的運算元就是傳遞給函式的引數。——乙個函式最少有乙個運算元

. 結構體.成員名

-> 機構體指標->成員名

一般在結構體中會常用到

例如:

# include

# include

struct s

;struct s si=,20

};void print1 (

struct s si)

void print2 (

struct s* ps)

int main (

)

C語言操作符總結

c語言操作符總結 1.算數操作符 有浮點數則為浮點除法 全為整形 2.移位操作符 所有的移位操作符都是二進位制移位 左移 效果 左邊拋棄右邊補0.右移 效果 1 符號位 算術移位 原該值的符號位 2 0 邏輯移位 警告 不要移動負數字 3.位操作符 按位與 按位或 按位異或 注意 全都為二進位制位操...

C語言 操作符總結

1.運算操作符 加 可作為正號 例 a b 4 減 可作為正號 例 a b 5 乘 例 a b 除 例 a b 注意 分母不能為零 取餘 運算操作符的使用方法,基本與數學上的使用一致 2.賦值操作符 例 a 2 可讀為將2賦給a 注意 從右向左進行運算 3.其他符賦值操作符 例 a 1 相當於 a ...

C語言操作符總結

1.操作符的兩個運算元必須為整數,返回的是整除後的餘數。2.對於 操作符,如果兩個運算元都是整數則執行整數除法,只要有浮點數就執行浮點數除法。左移操作符 右移操作符 左邊拋棄,右邊補0 右移分為兩種 1.邏輯移位 左邊用0補,右邊丟棄 2.算術移位 左邊用原來的符號位填充,右邊丟棄 符號位中0表示正...