C語言操作符詳解

2021-08-29 04:15:13 字數 2044 閱讀 6838

操作符的存在使c語言更加的靈活,實現更多的功能。但是,操作符的一些繁瑣的使用方式,規則卻常常讓我們這些初學者頭疼。本文將操作符進行總結,彙總一起分享。

一,操作符的分類

操作符分為以下幾種:算術操作符,位操作符,賦值操作符,單目操作符,關係操作符,邏輯操作符,條件操作符,逗號操作符,下標引用,函式呼叫和結構成員。

算術操作符:

+ - * / %

1.除了%操作符外,其他的操作符可以作用於整數和浮點數;

2.對於/操作符,如果有乙個浮點數就執行浮點數除法;

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

移位操作符

<< 左移操作符

>> 右移操作符

例如: int 型資料15在計算機裡儲存的是32位二進位制數

00000000000000000000000000001111

15>>1即將二進位制序列右移一位,右移出來的位丟掉,左邊補符號位(算術移位)為

00000000000000000000000000000111

在部分編譯器中右移會採用另一種邏輯移位,即左邊用0補充,右邊丟棄。

15<<1就是將二進位制序列左移一位,左邊移出來的位丟點,右邊補0為

00000000000000000000000000011111

*注:*對於移位運算,不能移動負數字

即 num>>-1; //error

位運算子

& 按位與:同為1時為1,有0即為0;

| 按位或:有1即為1,同0才是0;

^ 按位異或 :同為0,異為1.

賦值運算子

= 可以給變數賦給你想要的值。

例如: int a = 10;

賦值運算子可以連續賦值使用,但是為了美觀,清晰分開賦值更好一點。

還有種復合賦值賦,它在賦值運算子的基礎上增加了乙個運算的過程。

復合賦值符有:+= *= -= /= %= &= ^= |= >>= <<=

例如:a+=1;

與 a = a + 1;

表示同樣的含義,執行同樣的操作,其餘復合運算子效果類似。

單目操作符

! 邏輯反操作

大於

大於等於

< 小於

<= 小於等於

!= 不相等

== 相等

邏輯運算子

&& 邏輯與

|| 邏輯或

&&執行時左邊為0,便不執行右邊返回0;

|| 執行時左邊為1,就不執行後面返回1。

條件操作符

exp1 ? exp2 : exp3

若exp1滿足則執行exp2否則exp3.

逗號表示式

exp1,exp2,exp3,……

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

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

1.下標引用操作符

例如 : arr [ ];

2.函式呼叫操作符 ()

函式名 (引數)

3.結構成員操作符 . ->

訪問乙個結構體的成員。

#include struct stu

;void set_age1(struct stu stu)

void set_age2(struct stu* pstu)

int main()

操作符的屬性

複雜表示式的求值有三個影響的因素。

操作符的優先順序

操作符的結合性

是否控制求值順序。

兩個相鄰的操作符先執行哪個?取決於他們的優先順序。如果兩者的優先順序相同,取決於他們的結合性。

操作符優先順序

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...

C語言操作符詳解

算數操作符 算術運算子用在數學表示式中,它們的作用和在數學中的作用一樣。注意 只能用於整型 移位操作符 右移操作符 左移操作符 左移操作符 移位規則 左邊拋棄 右邊補0。右移操作符 移位規則 首先右移運算分兩種 邏輯移位 無符號 左邊用0填充,右邊丟棄 算術移位 有符號 左邊用原該值的符號位填充,右...