c語言操作符

2021-08-17 23:33:02 字數 2007 閱讀 4248

+    -   *   /   %

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

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

3. %操作符的兩個操

作數必須為整數。返回的是整除之後的餘數。

1.左移操作符<<

(x<<1等同於x*2)

移位規則:左邊拋棄,右邊補零

2.右移操作符  >> (x<<1等同於x/2)

移位規則:左邊拋棄,右邊補零

右移運算分兩種:(1)邏輯移位左邊用0填充,右邊丟棄(2) 算術移位左邊用原該值的符號位填充,右邊丟棄

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

int num = 15; num >> -1;  //error
三、位操作符

&  //按位與 0011&1100==0000

|   //按位或 0011|1100==1111

^  //按位異或 0011^1100==1111

四、賦值操作符=

五、復合賦值符

+=  -=  *=  /=  %=  >> =  << =  & = |=  ^=

六、

單目操作符

! 邏輯反操作

- 負值

+ 正值

& 取位址

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

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

-- 前置 後置

-- ++ 前置

後置  ++

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

(型別)   強制型別轉換

這裡講解

sizeof

int main()

sizeof和陣列

1. sizeof(陣列名)--陣列名表示整個陣列sizeof(陣列名)求取的是整個陣列的大

小,單位是位元組。

2. &陣列名---陣列名也表示整個陣列,所以&陣列名,取出的是整個陣列的位址

3. 除此之外,所有遇到的陣列名都是首元素的位址

4.sizeof()內部表示式不參與運算

七、關係操作符

>

>=

<

<=

!= 用於測試「不相等

== 用於測試「相等」

八、邏輯操作符

&& 邏輯與

||  

邏輯或

1&2----->0

1&&2---->1

1|2----->3

1||2---->1

int main()

結果(

1) 1 2 3 4對於邏輯與,前面為假後面不用算

結果(2) 1 3 3 4對於邏輯或,前面為真後面不用算

九、條件操作符

exp1?exp2:exp3

十、逗號表示式

exp1,exp2,:exp3,……,expn

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

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

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

2.()

函式呼叫操作符

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

3.訪問乙個結構體成員

兩種訪問成員的形式

#include #include #includestruct stu

;void test(struct stu* ps)

int main()

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