關係運算子 | 含 義 |
---|---|
> | 大於 |
< | 小於 |
>= | 大於或等於 |
<= | 小於或等於 |
== | 等於 |
!= | 不等於 |
x > y
該表示式稱為關係表示式,它用於確定 x 是否大於 y。以下表示式可以確定 x 是否小於 y:x < y
a == 4
而以下表示式的值則為 false:a == 2
注意,關係運算子中的等號運算子是兩個 = 符號在一起。不要將此運算子與賦值運算子混淆,後者只有一個 = 符號。== 運算子確定變數是否等於另一個值,而 = 運算子則是將運算子右側的值賦給左側的變數。
b >= a
a >= c
a >= 5
操作符 <= 確定其左側的運算項是否小於或等於右側的運算項。沿用上例,如果 a 是 4, b 是 6,c 是 4,則以下兩個表示式的值都是 true:
a <= c
b <= 10
b <= a
最後一個關係運算子是 !=,這是不相等的運算子。它確定其左側的運算項是否不同於(即不等於)右側的運算項,它與 == 操作符相反。如前所述,如果 a 為 4,b 為 6,c 為 4,則以下兩個表示式均為 true:
a != b
b != c
a != c
表 2 顯示了其他關係表示式及其 true 或 false 值。表示式 | 值 |
---|---|
x < y | false,因為 x 不小於 y |
x > y | true,因為 x 大於 y |
x >= y | true,因為 x 大於或等於 y |
x <=y | false,因為 x 不小於或等於 y |
y != x | true,因為 y 不等於 x |
// This program displays the values C++ uses to represent true and false. #include <iostream> using namespace std; int main() { bool trueValue, falseValue; int x=5, y = 10; trueValue = (x < y); falseValue = (y == x); cout << "True is " << trueValue << endl; cout << "False is " << falseValue << endl; return 0; }程式輸出結果:
True is 1
False is 0
trueValue = (x < y);
falseValue = (y == x);
result = x < y - 8;
相當於語句:result = x < (y - 8);
在這兩種情況下,都是首先評估 y-8,然後將結果值與 x 進行比較。不過請注意,第二個語句要更清楚一些。當需要在關係表示式中使用一個算術表示式時,那麼使用括號將後者括起來總是一個好王意。語 句 | 結 果 |
---|---|
z = x <y | z 被賦值為 0,因為 x 不小於 y |
cout<< (x > y); | 顯示 1,因為 x 大於 y |
z = (x >= y); | z 被賦值為 1,因為 x 大於或等於 y |
cout<<(x <= y); | 顯示 0,因為 x 不小於或等於 y |
z = (y != x); | z 被賦值為 1,因為 y 不等於 x |
cout<< (x = (y + 3)); | 顯示 1,因為 x 等於 y + 3 |
cout << (c == a > b);
由於此表示式中運算子的相對優先順序,首先計算 a>b。由於 9 不大於 24,所以評估為 false 或 0,然後評估 c = 0。因為 c 確實等於 0,所以這個計算結果為 true 或 1。將 1 插入到輸出流中並進行列印。