愛伊米

Arduino--語法04

四、算數運算子

4.1=(賦值運算子)

=賦值運算子(單等號)

將等號右邊的數值賦值給等號左邊的變數

在C語言中,單等號被稱為賦值運算子,它與數學上的等號含義不同,賦值運算子告訴微控制器,將等號的右邊的數值或計算表示式的結果,儲存在等號左邊的變數中。

程式設計技巧:

要確保賦值運算子(=符號)左側的變數能夠儲存右邊的數值。如果沒有大到足以容納右邊的值,儲存在變數中的值將會發生錯誤。

不要混淆賦值運算子[=](單等號)與比較運算子[==](雙等號),認為這兩個表示式是相等的。

4.2+(加)

加,減,乘,除

描述:

這些運算子返回兩個運算元的和,差,乘積,商。這些運算是根據運算元的資料型別來計算的, 比如9和4都是int型別, 所以9/4結果是2。這也就代表如果運算結果比資料型別所能容納的範圍要大的話, 就會出現溢位(例如。1加上一個整數int型別32, 767結果變成-32, 768) 。如果運算元是不同型別的, 結果是”更大”的那種資料型別。如果運算元中的其中一個是float型別或者double型別, 就變成了浮點數運算。

程式設計小提示:

整型常量的預設值是int型別, 所以一些整型常量(定義中) 的計算會導致溢位。(比如:60*1000會得到一個負數結果。那麼if(60*1000〉0) , if得到的是一個false值。

在選擇變數的資料型別時,一定要保證變數型別的範圍要足夠大,以至於能容納下你的運算結果。

要知道你的變數在哪個點會”翻身”,兩個方向上都得注意。如:(0-1)或(0——32768)一些數學上的分數處理,要用浮點數,但其缺點是:佔用位元組長度大,運算速度慢。

使用型別轉換符, 例如(int) my Float將一個變數強制轉換為int型別。

4.3-(減)

詳見4。2+(加)

4.4*(乘)

詳見4。2+(加)

4.5/(除)

詳見4。2+(加)

4.6%(取模)

描述:

一個整數除以另一個數,其餘數稱為模。它有助於保持一個變數在一個特定的範圍(例如陣列的大小)。

五、比較運算子

5.1==(等於)

if(條件判斷語句)和==、!=、(比較運算子)

if語句與比較運算子一起用於檢測某個條件是否達成,如某輸入值是否在特定值之上等。if語句的語法是:

本程式測試some Variable變數的值是否大於50。當大於50時, 執行一些語句。換句話說,只要if後面括號裡的結果(稱之為測試表達式)為真,則執行大括號中的語句(稱之為執行語句塊);若為假,則跳過大括號中的語句。if 語句後的大括號可以省略。若省略大括號,則只有一條語句(以分號結尾)成為執行語句。

在小括號裡求值的表示式,需要以下運算子:

比較運算運算子:

警告:

注意使用賦值運算子的情況(如if(x=10))。一個“=”表示的是賦值運算子,作用是將x的值設為10(將值10放入x變數的記憶體中)。兩個“=”表示的是比較運算子(如if(x==10)),用於測試x和10是否相等。後面這個語句只有x是10時才為真,而前面賦值的那個語句則永遠為真。

這是因為C語言按以下規則進行運算if(x=10):10賦值給x(只要非0的數賦值的語句,其賦值表示式的值永遠為真),因此x現在值為10。此時if的測試表達式值為10,該值永遠為真,因為非0值永遠為真。所以,if(x=10)將永遠為真,這就不是我們執行if所期待的結果。另外,x被賦值為10,這也不是我們所期待的結果。

if的另外一種分支條件控制結構是if。。。else形式。

5.2!=(不等於)

詳見5。1==(等於)

5.3

詳見5。1==(等於)

5.4>(大於)

詳見5。1==(等於)

5.5

詳見5。1==(等於)

5.6>=(大於等於)

詳見5。1==(等於)

六、布林運算子

6.1&&(與)

布林運算子:這些運算子可以用於if條件句中。

&&(邏輯與)

只有兩個運算物件為“真”,才為“真”,如:

如果當兩個輸入都為高電平,則為“真”。

||(邏輯或)

只要一個運算物件為“真”,就為“真”,如:

如果x或y是大於0,則為“真”。

!(邏輯非)

如果運算物件為“假”,則為“真”,例如

如果x為“假”,則為真(即如果x等於0)。

警告:

千萬不要誤以為,符號為&(單符號)的位運算子”與”就是布林運算子的“與”符號為&&(雙符號)。他們是完全不同的符號。同樣,不要混淆布林運算子||(雙豎)與位運算子“或”符號為|(單豎)。位運算子~(波浪號) 看起來與布林運算子not有很大的差別! (正如程式設計師說:“驚歎號”或“bang”), 但你還是要確定哪一個運算子是你想要的。

6.2(或)

詳見6。1 && (與)

6.3!(非)

詳見6。1 && (與)