C 運算子 筆記

2022-08-23 19:00:14 字數 1600 閱讀 9091

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

3

4int 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...