C語言 操作符(簡單介紹)總結

2021-10-18 07:43:23 字數 3931 閱讀 6231

簡單介紹為主,後面會詳細講

算術操作符

對應符號與使用方式

+加號( 1+2 )

-減號 ( 2-1 )

*乘號( 2*3 這裡輸出結果為6 )

/除號( 5/2 )輸出結果為商

%取模( 5%2 )輸出結果為餘數

#include

intmain()

移位操作符( 2進製 )

用法<<

右移

#include

intmain()

整型1佔4個位元組 - 32個位元位

所以這幅圖是整型1的位元位,命名為a

a <<

1

向右移一位

多餘去掉不要,末尾預設添零

所以a = 00000000000000000000000000000010

為輸出字元為 2

** >> 左移字元,基本相同**

(2進製)位操作作用&

按位與|

按位或^

按位異或

1.按位與

#include

intmain()

「與」其實就是並起來的意思

3 - - 二進位制 - -> 011

5 - - 二進位制 - -> 101

在c語言中 0 為假,其他數為真

011101

按位與得001

過程:1.第三行, 0 為假 , 1 為真 ---- 一假一真,用假 - - - - > 得到 0

2.第二行,相同 - - - - > 得到0

3.第一行, 1 為真 ,1 為真 ---- 兩個真 - - - - > 得到 1

4.結果為 001

5.在ascii中二進位制 001 對應的字元為 1

注:按位與只有兩個真才為真,一真一假為假,兩假為假

2.按位或

#include

intmain()

按位或只要兩個中有乙個為真,就可以為真,兩個真為真,兩個假為假,一假一真為真。

所以011

101得到111

在ascii中二進位制 111 對應的字元為 7

3.按位異或

異或的計算規律:

對應的二進位制位相同,則為0

對應的二進位制位相異,則為1

所以011

101得到110

#include

intmain()

位操作符有它自己的作用,後面會講到賦值操作符作用=

賦值+=

a += 1 完全等於 a = a+1

-=a -= 1 完全等於 a = a-1

&=a &= 1 完全等於 a = a&1

*=a = 1 完全等於 a = a1

/=a /= 1 完全等於 a = a/1

^=a ^= 1 完全等於 a = a^1

|=a |= 1 完全等於 a = a|1

<<=

a <<= 1 完全等於 a = a << 1

>>=

a >>= 1 完全等於 a = a >> 1

** = 和 == 區別**

操作符作用=賦值

==判斷相等

復合賦值符

+= -= *= /= 這些都稱為復合賦值符

單目操作符作用!

反邏輯操作符-負值

+正值&取位址

sizeof

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

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

--前置、後置--

++前置、後置++

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

(型別)

強制型別轉換

用法

#include

// ! - +

intmain()

#include

#include

// sizeof()

intmain()

;printf

("%d\n"

,sizeof

(arr));

// 輸出 - 40 輸出的是位元組總大小

//10*sizeof(int) = 40

//計算陣列的元素個數

//個數 = 陣列總大小/每個元素的大小

sz =

sizeof

(arr)

/sizeof

(arr[1]

);printf

("%d\n"

,sz)

;return0;

}

#include

// ~ -- 按位取反(二進位制)

intmain()

#include

// ++

intmain()

#include

// --

intmain()

#include

intmain()

關係操作符作大=

大於等於

<

小於<=

小於等於

!=不相等(用於測試「不相等」)

==相等(用於測試「相等」)

注意!!!

要與數學符號區分好,不要搞混了!!!

邏輯操作符

作用&&

邏輯與||

邏輯或

#include

//舉例

// && ||

intmain()

邏輯與邏輯或

條件操作符

作用exp1 ? exp2 : exp3;

見下注:exp表示乙個表示式,不要把它想象成乙個值

exp1 ? exp2 : exp3; 這整體是乙個表示式

int a =3;

int b =6;

int c =0;

c = a > b ? a : b;

//a > b 為表示式1,a為表示式2,b為表示式3

//該語句的意思為:如果a>b,則將a的值賦給c,否則將b的值賦給c

以上語句等價於下面的if…else語句

int a =3;

int b =6;

int c =0;

if(a > b)

else

例子:

exp1,exp2,exp3,…expn

不需要了解太多,只需要知道表示式可以用逗號來分支

操作符作用

[ ]下標引用操作符

( )函式呼叫

.後面會介紹

->

後面會介紹

int arr[10]

;//建立陣列

arr[8]

=2;//下標引用

//[ ]的兩個運算元為arr 和 8

#include

intadd

(int x,

int y)

intmain()

C語言操作符簡單介紹

在c語言中,操作符主要包括算數操作符 移位操作符 位操作符 賦值操作符 單目操作符 關係操作符 邏輯操作符 條件操作符 逗號表示式 下標引用 函式呼叫和結構成員。以下為各操作符簡單介紹 1.算術操作符 例 定義整型變數 a 4,b 2.運算子含義 運算操作 結果加法運算子 a b a和b的和 6 減...

簡單總結C語言操作符

算術操作符 1.除了 操作符之外,其他的幾個操作符可以作用於整數和浮點數。2.對於 操作符如果兩個運算元都為整數,執行整數除法,而只要有浮點數執行的就是浮點數除法。3.操作符的兩個運算元必須為整數。返回的是整除之後的餘數。移位操作符 左移操作符 移位規則 左邊拋棄 右邊補0 右移操作符 移位規則 首...

C語言操作符的簡單介紹

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