# 運算子Operator - 資料(變數)可以拿來處理一下 - 如數字型變數可以加、減、乘、除、根號等 - 文字型變數可以排序、更改、尋找 - 在程式中我們用運算子來處理資料 - 運算子:程式用來操作資料(量)的符號 - 運算子依其操作方式可分成 - 算術運算子 - 比較運算子 - 邏輯運算子 - 3+5,3跟5運算元 ## 算術運算子 |運算子|功能| | -------- | -------- | |`+`|加| |`-`|減| |`*`|乘| |`/`|除| |`++`|自己加一| |`--`|自己減一| |`%`|求餘數| - `+=`代加運算子: https://docs.microsoft.com/zh-tw/dotnet/csharp/language-reference/operators/addition-operator ## 比較運算子 |運算子|功能| |----|----| |`==`|等於| |`!=`|不等於| |`>`|大於| |`>=`|大於等於| |`<`|小於| |`<=`|小於等於| ## 邏輯運算子 |運算子|功能| |---|---| |`&&`|AND| |`!`|NOT| |兩條直線|OR| 備註:HackMD在表格中打不出`||` ## 運算子使用例 如果這樣設計 ```c= printf("%d", a + b); ``` 會出現這兩個問題: - 乘法輸入0會當掉 - 除不出小數 - 電腦硬體特性造成 - 兩個相同型態的數互相運算,結果也是同型態 - 不同型態運算,結果必須與佔記憶體空間大的型態一致 - 同樣是4byte,float比int大 - 程式設計師可以在程式中暴力更改變數所佔用的記憶體空間大小 - [型態轉換](https://iter01.com/517380.html) - `(float)123` - 解法 - 改成宣告`double`型態 - `%.3lf`指定三位 - `%.0lf`可以去除小數 - 來看看下列這個程式碼 ```C= printf("x + y = %lf", x + y); ```