C語言操作符

2021-09-27 08:43:10 字數 1642 閱讀 7578

算術操作符:

+  -   *   /   %

1. 除了模(%)操作符除外,其他幾個操作符可以用於整數和浮點數;

例如:不可以出現8.5%4.1等類似的,模運算的運算元只能是整數,返回的是整除之後的餘數

2.對於整除(/)運算如果兩個運算元都為整數,執行整數除法,返回的是整數;而只要有浮點數執行的就是浮點數除法,返回的數是有小數存在的

移位操作符:

<<左移操作符

>>右移操作符

左移操作符相當於乘2注:(在計算機中位運算的執行速度最快)

右移操作符相當於除2(整除)

例如:將乙個數字快速的擴大幾倍甚至十幾倍就可以用左移操作符進行運算

右移操作符移位規則:

算術移位:左邊用符號位填充,右邊捨棄

警告:對於移位運算,不要移動負數字(因為行為是未定義的)

位操作符:

位操作符有:

&//按位與(即運算後得到的是兩個數二進位制位相同的位置)

|//按位或

^//按位異或(即運算後得到的是兩個數二進位制位不同的位置)

注意:它們的運算元必須是整數

賦值操作符:

例如:int a=10;

int x=0;

int y=20

a=x=y+1

賦值操作符運算規則從右向左即先算y+1賦值給x然後x的值賦值給a

單目操作符:

sizeof運算元的型別長度(以位元組為單位);在編譯期間確定表示式的位元組大小

例如 int  i=5;

printf("%d",sizeof(i++));

結果為5而不是6;

++   前置++;後置++

前置++:是先加1後引用

後置++:是先引用後加1

例如:int a=9;

a++;

printf("%d",a);

這塊正確結果是10

而 int a=9;

int b=0;

b=a++;

printf("%d,%d",a,b);

這裡的正確結果是a=10;b=9;

這裡就是先引用的a的值賦值給b,然後a才加1的

- -跟++的規則是一樣的,分為前置- -和後置- -

邏輯運算子:

&&  邏輯與

|  |   邏輯或

執行規則是:

&&:從左向右表示式若為假(短路語句),後面的運算不執行

|  |: 從左向右表示式若為真(短路語句),後面的運算不執行

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 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...