算術操作符
+ - * / %
%操作符的兩個運算元必須為整數, 除了% 操作符之外,其他幾個可以用於整數和浮數。
對於/操作符如果兩個運算元都是整數,執行整數除法。只要有浮點數就執行的是浮點數除法。
移位操作符
右移運算元 >>
移位規則:邏輯移位 ,左邊用零填充,右邊丟棄
算術移位,左邊用原該值的符號位填充,右邊丟棄
左移運算元 <<
移位規則:左邊拋棄,右邊補零
# include
# include
void main (
)
在移位操作符中,有**可看出原有變數如果莫有操作時賦值給自己,則本身自己值不變。
位操作符
& 按位與
| 按位或
^ 按位異或
注:運算元必須是整數
程式設計中可以用位操作符
1,一組數中都出現偶數次,莫個數時只出現奇數次,可全部異或找出此出現此奇數次數
2,乙個整數的二進位制中1的個數等
int main (
)>
> printf (
"%d"
,count)
;>
return0;
>
}
賦值操作符=
這個操作符很常用,基本只要寫**就會有,特別注意=和==的區別,在使用時應注意出現錯誤
**復合操作符
+=*=
/=%=
<<== >>==
&=|=
^=int x=10;
x=x+10;
x+=10; //後兩句作用相同,以上操作法用法一樣
單目操作符
! 邏輯反操作
± 正負值
* 間接訪問(解引用操作符)
++ - - 前置後置加加減減
( ) 強制型別轉換
~ 對二進位制按位取反
sizeof 運算元的型別長度 (位元組為單位)
sizeof
:short s=4;
int a=3;
printf (
"%d"
,sizeof
(s=a+10)
;//2 ————內部不參與運算
printf (
"%d\n"
,s)//4
int main (
)
# include
# include
void test1 (
int arr)
void test2 (
char ch)
int main ();
char ch[10]
=;printf (
"%d\n"
,sizeof
(arr));
//40——陣列的大小 4*10 (型別大小*陣列元素個數)
printf (
"%d\n"
,sizeof
(ch));
//10——陣列的大小1*10
test1 (arr)
;//4
test2 (ch)
;//4——指標大小在32位平台都是4個位元組,64位平台是8個位元組
system (
"pause");
return0;
}
程式設計中用到:
int a=13;
……00000000000001101
把任意一位改為1/0,按位與/或取反操作,在使用《或》
#include
intset_bit
(int a,
int pos,
int flag)
else
return a;
}int
main()
注意++ - -前置後置使用
int a=10;
int b=0;
b=- -a; //先- -後使用
b=++a; //先++後使用
b=a++; //先使用後++
b=a–; //先使用後- -
int i=1;
int ret=(++i)+(++i)+(++i);
這樣的**在不同的編譯環境中會出現不同的結果,因此再寫**中應慎用
關係操作符
>=
<=
>
<
!===
操作符運算簡單,但應該注意區分使用=和==
邏輯運算子
&&||
應注意區分使用邏輯與和按位與,邏輯或和按位或
1&2——0
1&&2——1
1|2——3
1||2——1
&&在使用時應注意,如果左邊為假,後邊操作就不執行了
||在使用時應注意,如果左邊為真,後邊操作就不執行了
條件操作符
a1 ?a2 : a3
相當於if語句,如果a1為真就執行a2,否則就執行a3
逗號操作符
, , , ,
從左向右執行,整個表示式結果是最後乙個表示式的結果
int a=1;
int b=
2int c=
(a>b,a=b+
10,a,b=a+1)
//c=13 (0,12,1,13)
下表引用,函式呼叫和機構成員
運算元:乙個陣列名+乙個索引值
()運算元: 接受乙個或多個運算元,第乙個運算元是函式名,剩餘的運算元就是傳遞給函式的引數。——乙個函式最少有乙個運算元
. 結構體.成員名
-> 機構體指標->成員名
一般在結構體中會常用到
例如:
# include
# include
struct s
;struct s si=,20
};void print1 (
struct s si)
void print2 (
struct s* ps)
int main (
)
C語言操作符總結
c語言操作符總結 1.算數操作符 有浮點數則為浮點除法 全為整形 2.移位操作符 所有的移位操作符都是二進位制移位 左移 效果 左邊拋棄右邊補0.右移 效果 1 符號位 算術移位 原該值的符號位 2 0 邏輯移位 警告 不要移動負數字 3.位操作符 按位與 按位或 按位異或 注意 全都為二進位制位操...
C語言 操作符總結
1.運算操作符 加 可作為正號 例 a b 4 減 可作為正號 例 a b 5 乘 例 a b 除 例 a b 注意 分母不能為零 取餘 運算操作符的使用方法,基本與數學上的使用一致 2.賦值操作符 例 a 2 可讀為將2賦給a 注意 從右向左進行運算 3.其他符賦值操作符 例 a 1 相當於 a ...
C語言操作符總結
1.操作符的兩個運算元必須為整數,返回的是整除後的餘數。2.對於 操作符,如果兩個運算元都是整數則執行整數除法,只要有浮點數就執行浮點數除法。左移操作符 右移操作符 左邊拋棄,右邊補0 右移分為兩種 1.邏輯移位 左邊用0補,右邊丟棄 2.算術移位 左邊用原來的符號位填充,右邊丟棄 符號位中0表示正...