C語言操作符簡單介紹

2021-08-11 07:00:30 字數 3477 閱讀 1448

在c語言中,操作符主要包括算數操作符、移位操作符、位操作符、賦值操作符、單目操作符、關係操作符、邏輯操作符、條件操作符、逗號表示式、下標引用、函式呼叫和結構成員。

以下為各操作符簡單介紹:

1.算術操作符:

例:定義整型變數 a = 4,b = 2.

運算子含義

運算操作

結果加法運算子

a + b

a和b的和  6

減法運算子

a - b

a和b的差  2

乘法運算子

a*ba和b的乘積  8

除法運算子

a/ba除以b的商  2

求餘運算子

a%ba除以b的餘數  0

正號運算子(單目運算子)

+aa  4

負號運算子(單目運算子)

-b-b的值    -2

注:<1>.除了%操作符之外,其他的幾個操作符可以作用於整數和浮點數;

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

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

2.移位操作符

<<     左移操作符

>>     右移操作符

<1>.左移操作符 <<

移位規則:

左邊拋棄,右邊補零

注:實際上變數(a)在沒有被賦值的情況下,自身的值不會變化。

<2>.右移操作符  >>  

右移運算分為邏輯右移和算數右移兩種

其移位規則為:

邏輯右移: 左邊用0補充,右邊丟棄

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

例:int num = -1;

則在記憶體中儲存的補碼為(32個1):

(注:整型在記憶體中的儲存為原數值的補碼。其中正數的原碼、反碼、補碼都相同,都為其原碼;負數的補碼為反碼 + 1 .

例:int a =1;

原碼:00000000000000000000000000000001

反碼:00000000000000000000000000000001

補碼:00000000000000000000000000000001

int b = -1;

原碼:10000000000000000000000000000001

反碼:11111111111111111111111111111110   《符號位不變》

補碼:11111111111111111111111111111111   《反碼+1>

邏輯右移:

左邊補零

(最右邊的1丟棄)

算數右移:

左邊用該原值的符號位填充

(最右邊的1丟棄)

注:對於移位運算子,不要移動負數字,是標準為定義的。

3.位操作符

&     按位與  

|      按位或

^      按位異或   (不同為真)

例: int a =13;

int b = 5;

a     00000000000000000000000000001101

b     00000000000000000000000000000101

a&b   00000000000000000000000000000101

a|b    00000000000000000000000000001101

a^b    00000000000000000000000000001000

注:運算元必須為整數

4.賦值操作符

例:int x = 8;

x = x + 10;

x += 10;    //復合賦值,x +=10;  與 x = x + 10;得到的解果是相同的。其餘運算子用法相似。

5.單目操作符

!          邏輯反操作                              

-          負值

+          正值

&          取位址                                     

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

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

--          前置--;後置--

++         前置++;後置++

*          簡介訪問操作符(解引用操作符)

(型別)   強制轉換型別

注:後置++ (--) 的用法為先引用、後運算;前置++(--) 的用法為先運算,後引用。

例:#include

int main()

int i = 2;

int j = 5;

int x = i++;

int y = --j;

printf("i = %d  x = %d  j = %d  y = %d\n ",i,x,j,y);   //輸出結果為i =3  x = 2  j = 4  y = 4

return 0;

6.關係操作符

(大於)(大於等於)(小於)(小於等於)(不相等)(相等)

注:!= 用於測試「不相等」;

== 用於測試「相等」;

不要將 == 和 = 用混了,== 為比較是否相等,= 用於賦值。

7.邏輯操作符

&&         邏輯與

||          邏輯或

注:這裡注意區分邏輯與和按位與   以及   邏輯或和按位或;

例:1 & 2 ————> 0    按位與

1 && 2————>1    邏輯與

1|2————>3       按位或

1||2————>1      邏輯或

8.條件操作符

exp1 ? exp2 : exp3

判斷exp1是否為真,若為真,則exp2;若為假,則exp3

9.逗號表示式

用逗號隔開的多個表示式

例:exp1 , exp2 ,exp3,…… expn

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

例:#include

int main()

int i,j;

for(i = 0 ,  j = 0; i < 2 , j < 5; i++ , j++)  

printf("c\n");    //共輸出5個c

10.下標引用、函式呼叫和結構成員

(1)[ ]

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

例:int arr[20];  //建立陣列

arr[10] = 10;   //使用下標引用操作符

[ ]的兩個運算元是arr和9。

(2)  ()

函式呼叫操作符

接受乙個或者多個運算元:第乙個運算元是函式名,剩餘的運算元是傳遞給函式的引數。

(3)訪問乙個結構體的成員

.結構體.成員名

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

C語言操作符的簡單介紹

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

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

簡單介紹為主,後面會詳細講 算術操作符 對應符號與使用方式 加號 1 2 減號 2 1 乘號 2 3 這裡輸出結果為6 除號 5 2 輸出結果為商 取模 5 2 輸出結果為餘數 include intmain 移位操作符 2進製 用法 右移 include intmain 整型1佔4個位元組 32個...

簡單了解C語言操作符

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