1.賦值運算子:
= 將其右側的值賦給左側的變數
2.算術運算子:
+ 將其左側的值與右側的值相加
- 將其左側的值減去右側的值
- 作為一元運算子,改變其右側值的符號
* 將其左側的值乘以右側的值
/ 將其左側的值除以右側的值,如果兩數都是整數,計算結果將被截斷
% 當其左側的值除以右側的值時,取其餘數(只能應用於整數)
++ 對其右側的值加1(字首模式),或對其左側的值加1(字尾模式)
-- 對其右側的值減1(字首模式),或對其左側的值減1(字尾模式)
其他運算子:
sizeof 獲得其右側運算物件的大小(以位元組為單位),運算物件可以是乙個被圓括號括起來的型別說明符,如sizeof(float),或者是乙個具體的變數名、陣列名等,如sizeof foo(型別名) 強制型別轉換運算子將其右側的值轉換成圓括號中指定的型別,如(float)9把整數9轉換成浮點數9.0
自增(自減)
㈠分類
①前自增 —— ++i
②後自增 —— i++
㈡前自增與後自增的異同
①相同點
最終都使i的值加1
②不同點
前自增的表示式是i加1後的值
後自增的表示式是i加1前的值(具體見譚c)
㈢自增的作用
①**更精煉
②自增的執行速度更快
㈣學習自增要明白的幾個問題
①我們程式設計時要盡量遮蔽掉前自增和後自增的區別(為了增加**可讀性)
②++i或i++單獨做乙個語句,不要把他作為乙個完整復合語句的一部分
反例:
⑴int m=i++ + ++i + i + ++i
⑵printf("%d %d %d",i++,++i,i)
這兩種寫法不規範,可讀性和可移植性很低
三目運算子
㈠格式:
a?b:c
"?和:"合稱三目運算子
㈡功能:
等價於if(a)
b;else
c;㈢舉例1 #include2
34int main(void)5
6
輸出結果:4
㈣注意三目運算子不常用,因為他沒有if函式結構清晰,但**量更少
逗號表示式
㈠格式
(a,b,c,d)
㈡功能
從左到右執行a b c d
最終表示式的值是最後一項的值
㈢舉例
int i=(1,2,3,4)
printf("%d")
C 運算子筆記
c 運算子又稱操作符,它是對資料進行運算的符號,參與運算的資料稱為 運算元 或 運算物件 由運算元和操作符連線而成的有效的式子稱為 表示式 按照運算子要求運算元個數的多少,可把c 運算子分為 單目 或一元 運算子 雙目 或二元 運算子 和 三目 或三元 運算子 三類。單目運算子一般位於運算元的前面,...
C 運算子筆記
c 原來也可以進行向量運算,這裡解決了乙個為時已久的疑惑。operatorstruct vector public vector vector rhs public override string tostring public static vector operator vector lhs,v...
c 運算子過載筆記
1.運算子過載的六個注意事項 1 過載運算子函式的引數個數,應該與參與這個運算子的運算物件數量一樣多,但是如果是成員函式,則引數數量要少乙個,因為第乙個引數是this。例如 includeusing namespace std class test int operator const test v...