c語言操作符

2021-08-18 04:10:05 字數 2230 閱讀 9249

c語言的操作符大概分為以下幾類:

1.算數操作符

2.移位操作符

3.位操作符

4.賦值操作符

5.單目操作符

6.關係操作符

7.邏輯操作符

8.條件操作符

9.逗號表示式

一、首先 我們先來看看算術操作符:

算數操作符有:+   -   *(乘)   /(除)    &(取餘運算)

注意:1.除了%操作符以外,其他的操作符都可以作用於整數和浮點數。

2.對於/操作符,如果兩個操作符都為整數,執行整數除法。如果有浮點數就執行的是浮點數除法。

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

二、我們再來看看移位操作符。

移位操作符分為:1.左移操作符      2.右移操作符

左移操作符的移位規則:左邊拋棄、右邊取0

右移操作符的移位規則:首先右移運算分為兩種:1.邏輯移位(左邊用0填充,右邊丟棄) 2.算數移位(左邊用原該值的符號位填充,右邊丟棄)。

注意:移位操作在num沒有被賦值的情況下,自身的值是不會改變的。

三、位操作符。

位操作符有:&  //按位與(全"1"為"1")  |  //按位或(有"1"為"1")  ^ //按位異或(相同為"0" 不同為"1")

另外,我們要注意乙個細節:兩個相同的數進行異或的時候就會清0(就是等於0);

任何數和0異或就是它本身

練習題:不建立臨時變數(即第三個變數)來實現兩個數的交換

**:     

#include

int main()

int a=10;

int b=20;

a=a^b;

b=a^b;

a=a^b;

printf("a=%d b=%d\n",a,b);

return 0;

這樣我們通過按位異或的方式就能實現在不建立第三變數的條件下,交換兩個數的內容。

四、賦值操作符

在賦值操作符裡,我們只需要搞清楚兩個東西。什麼是初始化,什麼是賦值。

初始化:是指在定義的時候賦初值。例如:int a=10;

賦   值:是在定義後賦值。例如:a=10;

二者是不一樣的。

另外,我們還有一些復合賦值符:

具體怎麼用呢,我們舉個例子:

int x=10;

x=x+10; 

這裡我們就可以寫成x+=10

五、單目操作符

單目操作符有哪些呢?我們來看看:    !(邏輯反操作) -(負值) +(正值) &(取位址) sizeof(運算元的型別長度(以位元組為單位)) ~(對乙個數的二進位制按位取反) --(前置、後置--) ++(前置、後置++) *(間接訪問操作符) (型別)(強制轉換型別)

六、關係操作符

我們常用的關係操作符有: >、<=、<、<=、!=(用於測試「不相等」) ==(用於測試「相等」)

這些關係運算都比較簡單,但我們要注意一點:

比如:x=get_value();

if(x=5) 這裡我們要把if(x=5)寫成if(5==x)

有時候我們一不注意就會把等於寫成了賦值,所以用上邊的寫法就會降低我們的出錯率。

七、邏輯操作符

邏輯操作符有 &&(邏輯與)和||(邏輯或)

我們在這裡要區分邏輯與和按位與 邏輯或和按位或 舉個例子:

1& 2--------->0    1&&2---------->1

1|2------------>3   1||2------------->1

八、條件操作符

這裡我們主要說一種寫法叫:三目運算子(exp1?exp2:exp3)

例如:          if(a>5)

b=3;

else 

b=-3;

寫成三目運算子就是: a>5?3:-3

九、逗號表示式

exp1,exp2,exp3,...expn

逗號表示式,就是用逗號分隔開的多個表示式;

逗號表示式是從左往右依次執行的;

注意:   整個表示式的結果都是最後乙個表示式的結果。例如:

int a=1;

int b=2;

int c=(a>b,a=b+10,a,b=a+1);

這裡的c是多少?  因為逗號表示式的結果都是最後乙個表示式的結果 所以我們不難得出這裡的c就是13。

到這裡,基本就是我們c語言裡常用的操作符了,給大家總結一下,有**不好也請大家多多指正!

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...

C語言 , 操作符

例如 define to string s s 將會使編譯器把以下命令 cout to string hello world endl 理解為cout hello world endl 例如 define concatenate x,y x y int xy 10 將會使編譯器把 cout conc...

C語言操作符

操作符的分類 1 算術操作符 2 移位操作符 3 位操作符 4 賦值操作符 5 單目操作符 6 關係操作符 7 邏輯操作符 8 條件操作符 9 逗號表示式 1 算術操作符 1 除了 操作符之外,不能用於浮點數。2 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...