C語言操作符詳解

2021-09-11 01:12:08 字數 2198 閱讀 6918

算數操作符

算術運算子用在數學表示式中,它們的作用和在數學中的作用一樣。

+  -  *  /  %

注意「%」只能用於整型

移位操作符

>>(右移操作符)

<<(左移操作符)

左移操作符 移位規則

左邊拋棄、右邊補0。

右移操作符 移位規則

首先右移運算分兩種:

邏輯移位(無符號) 左邊用0填充,右邊丟棄

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

警告⚠: 對於移位運算子,不要移動負數字,這個是標準未定義的。

位操作符

&(按位與)、|(按位或)、^(按位異或)

注意:這三個操作符操作的必須是整數

&:如果相對應位都是1,則結果為1,否則為0

例:(a&b)得到12,即 0000 1100
|:如果相對應位都是0,則結果為0,否則為1

例:(a | b) 得到61,即 0011 1101

賦值操作符

=、+= 等

注意在連續賦值時,應從右往左賦值

單目操作符

!          邏輯反操作

-          負值

+          正值

&          取位址

sizeof        運算元的型別長度

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

- -          前置,後置,- -

++        前置,後置,++

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

(型別)        強制型別轉換

關係操作符

>

=<

<=

!=        用於測試「不相等」

==        用於測試「相等」

注:

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

== 用於測試「相等」;

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

邏輯操作符

&&        邏輯與

||        邏輯或

&&:與運算,表示兩個物件只要有乙個為0,結果就為0,全為1則結果為1

||:或運算,表示兩個物件只要有乙個為1,則結果為1,全為0則結果為0

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

例:

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

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

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

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

條件操作符

exp1 ? exp2 : exp3 ;

exp1 , exp2 , exp3 ;

exp1 ? exp2 : exp3 ;

exp1 , exp2 , exp3 ;

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

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

(1)

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

例:

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

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

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

(2)

函式呼叫操作符

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

(3)

訪問乙個結構體的成員

.結構體.成員名

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

C語言操作符詳解

操作符的存在使c語言更加的靈活,實現更多的功能。但是,操作符的一些繁瑣的使用方式,規則卻常常讓我們這些初學者頭疼。本文將操作符進行總結,彙總一起分享。一,操作符的分類 操作符分為以下幾種 算術操作符,位操作符,賦值操作符,單目操作符,關係操作符,邏輯操作符,條件操作符,逗號操作符,下標引用,函式呼叫...

C語言操作符詳解

我們日常所見到的任何事物都是有個種各樣細小的零件所組成的,比如我們現在用的 cpu 它的內部是由許許多多的二極體 三極體等基本元器件再加上連線各種元器件的導線所組成的。不同的組合方式也就形成了不同的功能,比如alu 控制器 暫存器 儲存器等等。當然我們的c語言也不例外,它也是由最基本的運算所組成的,...

c語言操作符詳解

一 算術操作符 算術操作符共有5個,分別為加法操作符 減法操作符 乘法操作符 除法操作符 和求餘操作符 它們均為雙目操作符,即操作符前後都需要乙個運算元。printf sum d a b printf diff d a b printf mul d a b printf rate d distanc...