寫這篇c語言操作符主要為練手,總結一下這兩天了解的有關操作符的知識,以免以後老年痴呆了忘了相關的內容還可以有個地方回來瞄一眼。
如果有什麼有錯的地方被路過的大牛們看出來了還**以指正。。。
個人理解為,操作符就是可以進行某些操作的符號(其實我感覺我說的是廢話。。。)
-算數操作符算數操作符-移位操作符
-賦值操作符
-單目操作符
-關係操作符
-邏輯操作符
-條件操作符
-逗號表示式
-下標引用、函式呼叫和結構成員
操作符功能+加
-減*乘
/除%取模
加減乘都沒什麼好說的了,和小學學的東西一樣的。操作符『/』運算的時候注意分子分母有乙個為浮點型,進行的就是浮點型除法。
『%』返回的結果是整除後的餘數,但是這裡首先要注意兩個運算元都必須是整數(這裡其實有乙個問題,負整數取模也屬於整數運算,但是查資料以後了解到似乎在不同語言裡面的處理方式不一樣,目前存疑,仍需研究)。
功能<<左移操作符
>>右移操作符
移位操作符運算的時候都是對補碼進行移位,變數操作後,自身不會改變。
int main()
結果: a=1,b=2
『<<』時,補碼左移,右補0,左丟棄操作符功能&『>>』時,補碼右移,左補原來的最高位,右丟棄
『>>』的結果可以分兩種情況:
①邏輯移位:此情況下不用考慮符號位,之間在最高位補0;
②算數移位:這是目前編譯器執行得到結果採用的方式,補原來的最高位,保證不會改變符號位。
按位與丨
按位或^
按位異或
同樣是只能對補碼進行運算,而且必須是整數(編譯會報錯。。。)操作符功能=『&』:同一才為一
』 | 『:有一就為一
『^』:相同為零,相異為一
賦值
這個。。。沒什麼好說的了,寫程式的時候注意別把判斷相等寫成賦值就行(手動哭),大一我就這樣錯過。。。操作符而且賦值可以連續使用:
如:a=x=y;
我就想說累不累。。。
功能+=
-=*=
/=%=
>>=
<<=
&=丨=
^=
這個老簡單了!操作符功能!a += b 意思就是 a = a + b,以此類推
邏輯反操作-負值
+正值&取位址
sizeof
運算元的型別長度(位元組)
~對乙個數的二進位制按位取反
–前置、後置自減
++前置、後置自加
*間接訪問操作符(解引用操作符)
(型別)
強制型別轉換
『!』: 多用於判斷真假操作符『-『: 負數,-1 -2 -3······
『+』:正數,經常省略
『sizeof』:既是操作符,又是關鍵字,但!不!是!函!數!!!用來求變數或型別大小,單位為位元組
如:sizeof(陣列名)或sizeof 變數
其他的功能就是他們的解釋了,多用用就全會了,手動壞笑~
功能》<
>=
<=
!=不等於
==等於
相信上過小學一年級(也許是學前班)都知道這些是什麼意思,老話重談,注意相等和賦值!操作符
功能&&
邏輯與丨丨
邏輯或
要區分邏輯和按位的區別,邏輯運算子判斷真假,值為0與非0。
exp1 ? exp2 : exp3判斷exp1是否成立,成立為exp2,否則為exp3
以後比大小一句解決!
exp1,exp2,exp3,…,expn從左向右依次執行。整個表示式結果為最後乙個表示式結果。
int a=1;
int b=2;
int c=(a>b,a=b+10,a,b=b+1);
結果:c=3
1.運算元:乙個陣列名+乙個索引值
如:arr[10]或10[arr]
『』的兩個運算元為arr和10
2.()
函式呼叫操作符:接受乙個或多個運算元,第乙個為函式名,剩餘為傳遞給函式的引數
如:fun(int a,float b,…)
運算元:fun 、a 、b…
3.訪問乙個結構的成員
』 . 『: 結構體 . 成員名
『->』:->結構體指標->成員名
防老年痴呆第一篇over~
第一次用markdown寫部落格(聽說大神們都是用這個的,努力!奮鬥!),沒有表情包很難受。。。手動哭泣~~~
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 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...
C語言 操作符
c語言的操作符有很多種,也很重要,可分為以下幾類 1.算術操作符 除法中 倆個整形相除結果也等於整形 含有浮點型的除法中結果也為浮點型。模運算只能用於整數,因為有小數點時,為浮點數運算,浮點數除法中不存在小數。int main 2.移位操作符 左移 左邊直接拋棄,右邊補0 001 2 100 右移 ...