天天看點

《C語言程式設計:問題與求解方法》——2.13節運算符

本節書摘來自華章社群《c語言程式設計:問題與求解方法》一書中的第2章,第2.13節運算符,作者:何 勤,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

2.13 運算符

在c語言源程式中,怎樣才能表達我們想對以變量或常量形式出現的資料進行某種運算呢?這就要使用運算符。

用運算符把各種運算量(變量、常量、函數調用等)結合起來,構成表達式,用這種形式化、抽象化的方法來告訴編譯程式,我們想要計算機對哪些資料、依照什麼樣的順序、執行哪些種類的運算,請編譯程式将其翻譯成與某類機器有關的機器語言指令。

c語言中,常用的運算符分為三大類:

1)算術運算符:見表2-5。

2)關系運算符:大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、 等于(==)、不等于(!=),用法見第4章。

3)邏輯運算符:與(&&)、或(||)、非(!),用法見第4章。

《C語言程式設計:問題與求解方法》——2.13節運算符

一進制運算符是隻需一個運算量的運算符;而二進制運算符需要左、右兩個運算量參與運算,才能得到運算結果。

使用算術運算符時,有以下幾點需要注意:

1)初學者最容易漏寫乘法運算符(比如将2xy誤寫為2xy )。

2)不要把實數除法誤用為整數除法(比如,錯把1.0/3.0 寫成1/3 。1/3的值是0 )。一般地,如果m和n都是正整型量,則結果是舍棄了小數部分的整數商。

3)不要将數值0作為除數,這将導緻程式無法運作下去而崩潰。

4)取模運算符%兩邊的運算量,都要求是整型量,不能是實型量。

5)注意:要確定程式運作時的運算結果不會溢出(即不超過數值的取值範圍)。

取模運算符“%”得到的是整數除法的餘數。取模運算符“%”的作用非常大,在後面章節你可以看到,在處理一些周期性問題或者将一個多位數值分解成一個個的單個數字時,都離不開它。

延伸與拓展:c語言中的運算符共有43種。運算符規定的運算,最終都将由編譯程式翻譯成的機器指令來具體執行。

運算符與運算類的機器指令之間并不是一一對應的。有些運算符規定的運算用一條機器指令即可實作(比如下一章要學到的i++、– –j等);另一些運算符指定的運算則需要多條機器指令來實作(比如下一章要講的逗号運算符和第5章介紹的條件運算符等)。一種運算符随着運算量的類型不同,可以轉換成不同的機器指令(比如加法運算符)。

繼續閱讀