運算子就是具有運算功能的符號。c++語言中有豐富的運算子,其中有很多都是從c語言
繼承下來的,它新增的運算子有作用域運算子(::),成員指標運算子(->)。
和c語言一樣,根據使用運算子的物件個數,c++語言中可以將運算子分為單目運算子、
雙目運算子和三目運算子。根據使用運算子的物件之間的關係,可以將運算子分為算術運算
符、關係運算子、邏輯運算子、賦值運算子、位運算子、移位運算子、sizeof 運算子、條件運
算符和逗號運算子。
算術運算主要是指常用的加(+)、減(-)、乘(*)、除(/)四則運算符,以及模運算
(%)和自增加運算(++)、自減少(--),算術運算子中有單目運算子和雙目運算子。算術
運算子及其功能如表2.8所示。
說明expr表示使用運算子的物件,可以是表示式、變數和常量。
1)+是加法運算子,可以進行兩個物件的加法運算,例如:1+1表示兩個常量相加;i+1表
示變數和常量相加;x+y表示兩個變數相加;+100表示有符號的常量,強調常量是正數。
2)-是減法運算子,可以進行兩個物件的減法運算,例如:1-1表示兩個常量相減;j-1表
示變數和常量相減;x-y表示兩個變數相減;-100表示有符號的常量,強調常量是乙個負值。
3)是乘法運算子,可以進行兩個物件的乘法運算,例如:23表示兩個常量相乘。
4)/是除法運算子,可以對兩個物件進行除法運算,例如:2/3表示兩個常量相除。/運算
符左側的是被除數,也稱分子;/運算子右側的是除數,也稱為分母。
在進行除法運算時,除數或分母不可以為0,若為0,則會產生溢位,處理器丟擲異常。例
如:2/0是不合法運算;而0/2是合法運算,計算結果是0。
兩個整型數值進行除法運算時返回的結果可能是乙個小數,小數點後的數值會被捨去。
5)%是模運算子,求兩個整型的數值或變數在進行除法運算後的餘數。例如:5/2表示兩
個常量進行求模運算,計算結果是1。
6)++是自加運算子,屬於單目運算子。有++expr和expr++兩種形式,++expr表示expr自身
加1後再進行其他運算;expr++表示expr先參加完其他運算後再進行自身加1,expr只能是變數。
例如:i++表示i自增1後再參與其他運算;++i表示i參與運算後,i的值再自增;1++不合法。
7)--是自減運算子,屬於單目運算子。有--expr和expr--兩種形式,--expr表示expr自身
減1後再進行其他運算;expr--表示expr先參加完其他運算後再進行自身減1,expr只能是變數。
例如:i--表示i自減1後再參與其他運算;--i表示i參與運算後,i的值再自減;1--不合法。
關係運算主要是對兩個物件進行比較,運算結果是邏輯常量真或假。關係運算子及其功能
如表2.9所示。
1)《用於比較兩個物件的大小,前者小於後者,運算結果為真。例如:a進行比較,如果變數a的值小於變數b的值,運算結果為真;2<1的運算結果為假。
2)>用於比較兩個物件的大小,前者大於後者,運算結果為真。例如:a>b表示兩個變數
進行比較,如果變數a的值大於變數b的值,運算結果為真;2>1的運算結果為真。
3)>=用於比較兩個物件的大小,前者大於或等於後者,運算結果為真。例如:3>=2的運
算結果為真;2>=2的運算結果為真。
4)<=用於比較兩個物件的大小,前者小於或等於後者,運算結果為真。例如:1<=2的運
算結果為真。
5)==用於對兩個物件進行判斷,前者恆等於後者,運算結果為真。例如:a==b表示兩個
變數進行比較,如果變數a的值恆等於變數b的值,運算結果為真。
6)!=用於對兩個物件進行判斷,前者不等於後者,運算結果為真。例如:a!=b 表示兩個
變數進行比較,如果變數a的值不等於變數b的值,運算結果為真。
關係運算子都是雙目運算子,其結合性均為左結合。關係運算子的優先順序低於算術運算
符,高於賦值運算子。在6個關係運算子中,,>=的優先順序相同,高於==和!=,==
和!=的優先順序相同。
C語言運算子 (一)
c語言操作符眾多,主要包括 算術運算子 關係運算子 邏輯運算子 賦值運算子 位運算子 單目運算子 條件運算子 逗號運算子 c 語言眾多的運算子是它為人詬病的乙個原因,但也是它眾多的運算子提供了其他語言所無法比擬的優點。熟練使用運算子將使你工作中達到事半功倍的效果。由於c語言運算子很多,本節主要先講解...
C語言運算子(一)
二 自增自減運算子 三 強制型別轉換運算子 四 bug解析 五 總結 運算子在我們的c語言學習中起到乙個至關重要的地位,所以學號運算子還是很有必要的。下面我們就來了解一下各種不同的運算子吧。首先是算術運算子,算數運算子多數使用在數學程式運算中,下面是常見的幾個算數運算子 符號解釋 優先順序結合性 乘...
(24)位運算子 sizeof運算子
位運算子作用於整數型別,並把運算物件看成是二進位制的集合。位運算子提供檢查和設定二進位制位的功能,滿足左結合律。但是位運算關於符號位如何處理沒有明確的規定,改變符號位的值是一種未定義的行為,所以建議僅將位運算子作用於無符號 型。左移運算子 右移運算子 的行為則依賴於其左側運算物件物件的型別 如果該運...