C++ 速查手冊
4.3 - 關係運算
C++ 的關係運算子 (relational operator) 都需要兩個運算元,包含小於、小於等於、大於、大於等於,另外有兩個測試相等性的運算子,運算結果會是 bool 型態的數值,不是 true 就是 false
運算子 | 功能 | 範例 |
---|---|---|
< | 小於 | a < b |
<= | 小於等於 | a <= b |
> | 大於 | a > b |
>= | 大於等於 | a >= b |
== | 相等 | a == b |
!= | 不等 | a != b |
關鍵字 eq 的用法如同 == , not_eq 的用法如同 != 。
以下為整數型態做關係及相等性運算的例子
#include <iostream>
int main() {
int a = 12;
int b = 22;
if (a < b) {
std::cout << "a < b" << std::endl;
}
if (a <= b) {
std::cout << "a <= b" << std::endl;
}
if (a > b) {
std::cout << "a > b" << std::endl;
}
if (a >= b) {
std::cout << "a >= b" << std::endl;
}
if (a == b) {
std::cout << "a == b" << std::endl;
}
if (a != b) {
std::cout << "a != b" << std::endl;
}
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0403_1.cpp
功能:示範 C++ 的關係運算
作者:張凱慶*/
編譯後執行,結果如下
$ g++ u0403_1.cpp |
$ ./a.out |
a < b |
a <= b |
a != b |
$ |
以下為浮點數型態做關係及相等性運算的例子
#include <iostream>
int main() {
double a = 22.0;
double b = 22.0;
if (a < b) {
std::cout << "a < b" << std::endl;
}
if (a <= b) {
std::cout << "a <= b" << std::endl;
}
if (a > b) {
std::cout << "a > b" << std::endl;
}
if (a >= b) {
std::cout << "a >= b" << std::endl;
}
if (a == b) {
std::cout << "a == b" << std::endl;
}
if (a != b) {
std::cout << "a != b" << std::endl;
}
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0403_2.cpp
功能:示範 C++ 的關係運算
作者:張凱慶*/
編譯後執行,結果如下
$ g++ u0403_2.cpp |
$ ./a.out |
a <= b |
a >= b |
a == b |
$ |
字元型態可依 ASCII 編碼順序,也就是各編碼代表的整數值進行關係運算或相等性測試,如
#include <iostream>
int main() {
char a = 't';
char b = 'r' + 2;
if (a < b) {
std::cout << "a < b" << std::endl;
}
if (a <= b) {
std::cout << "a <= b" << std::endl;
}
if (a > b) {
std::cout << "a > b" << std::endl;
}
if (a >= b) {
std::cout << "a >= b" << std::endl;
}
if (a == b) {
std::cout << "a == b" << std::endl;
}
if (a != b) {
std::cout << "a != b" << std::endl;
}
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0403_3.cpp
功能:示範 C++ 的關係運算
作者:張凱慶*/
編譯後執行,結果如下
$ g++ u0403_3.cpp |
$ ./a.out |
a <= b |
a >= b |
a == b |
$ |
布林型態的變數也可以做關係相等性測試,注意布林值屬於算術型態 (arithmetic type) ,因此 true 類似整數 1 ,而 false 類似整數 0 。範例程式如下
#include <iostream>
int main() {
bool a = true;
bool b = false;
if (a < b) {
std::cout << "a < b" << std::endl;
}
if (a <= b) {
std::cout << "a <= b" << std::endl;
}
if (a > b) {
std::cout << "a > b" << std::endl;
}
if (a >= b) {
std::cout << "a >= b" << std::endl;
}
if (a == b) {
std::cout << "a == b" << std::endl;
}
if (a != b) {
std::cout << "a != b" << std::endl;
}
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0403_4.cpp
功能:示範 C++ 的關係運算
作者:張凱慶*/
編譯後執行,結果如下
$ g++ u0403_4.cpp |
$ ./a.out |
a > b |
a >= b |
a != b |
$ |
相關教學影片