1. 程式人生 > 實用技巧 >算術運算子

算術運算子

算術運算子:

+ 加法 , 一目取整

- 減法, 一目 取負 -a

* 乘法

/ 除法

% 取模、求餘 a%b a 和b 必須是整型

++ 自加 1 a++ / ++a

-- 自減 1

關係運算符

> 大於 判斷a是否大於 b a > b

< 小於 判斷a是否大小於 b a > b

>= 大於等於 判斷a是否大於或者等於 b a >= b

<= 小於等於 判斷a是否小於或者等於 b a <= b

== 恆等於 (等於) 判斷a是否等於 b a == b

!= 不等於 判斷a是否不等於 b a != b

注意:

關係運算符用於判斷表示式是否滿足給定的大小條件。

  • 關係運算符組成的表示是是關係表示式 ,他的值為布林值 (真/假);
  • 注意== 不是= 不要搞錯了。

邏輯運算子

邏輯反 將邏輯真變假 ..... 真假交換

&& 邏輯與 可以將兩個關係表示式 連結起來, 當左右兩邊的表示式都為真則表示真

|| 邏輯或 可以將兩個關係表示式 連結起來, 當表示式其中一個為真則整個表示式為真

注意:

  • &邏輯與運算中如果左邊表示式為假, 右邊不會別運算
  • int a = 3 , b = 9 ; if ( a > b && ++a ) ; a的值是多少?
  • || 邏輯或運算的過程中如果左邊表示式為真, 右邊將不被運算
  • int a = 3 , b = 9 ; if ( a < b || ++a ) ; a的值是多少?
  • 注意==恆等於的小心思, 不要寫少了, 建議把 左值 寫成常量

位運算子

~ 位邏輯反 ~a 把a的二進位制位每一個都取反 (1變0 / 0變1 )

& 位邏輯與 a&b 將a和b 的每一位進行位與操作,常用於清零操作

| 位邏輯或 a|b 將a和b 的每一位進行位或操作,常用於置1操作

^ 位邏輯異或 a^b 將a和b 的每一位進行位異或操作,相同為1,不同為0,當a於b再異或一次則a變為原來的值。

    
/* 不使用第三個變數將ab兩個值交換 */
   char a = 100
; char b = 115; a = a ^ b; b = a ^ b; a = a ^ b; printf("a:%d\n", a); printf("b:%d\n", b);

注意

  • 賦值運算子
  • 不可以對常量進行賦值
  • 不可以對陣列賦值arr = 199 ; // 不可以對陣列賦值
  • 可以連續賦值 順序是從右往左;//連續賦值 a = b = 100 ;

條件運算子 (三目運算子)

唯一一個擁有三個運算元的運算子

語法: 表示式1 ? 表示式2 : 表示式3

解析: 判斷表示式1 是否為真 ? 如果是 取 表示式2的值 否則取表達3

sizeof 運算子

用來計算資料型別或變數所佔的記憶體空間大小(位元組數)

語法: sizeof(型別) / sizeof(變數) , 如果計算的是變數 括號可以省略

return 運算子

含義: 用來退出某個函式(主函式:直接退出程式。 子函式:退出子函式。)

語法要求:必須寫在函式體內{ } , 可以攜帶函式的返回值

優先順序

使用linux命令:$ man operator 可檢視