Toán tử điều kiện có tên tiếng Anh là Conditional Operator. Được dùng để thay thế cho câu lệnh if else.
Cú pháp:
(bt_logic) ? bt1 : bt2;
“?” gọi là toán tử điều kiện. Nếu bt_logic đúng thì thực hiện bt1. Nếu bt_logic sai thì thực hiện bt2. Giá trị trả về của toán tử điều kiện có thể được gán cho biến hoặc xuất ra màn hình với lệnh cout.
Ví dụ 1
abs = (a > 0) ? a : -a;//giá trị tuyệt đối của a
Ví dụ 2
Thay vì sử dụng if else:
if (x > 0){
y = 1;
} else{
y = -1;
}
Có thể dùng toán tử điều kiện “?”
y = (x > 0) ? 1 : -1;
Ví dụ 3
if (so % 2 == 0){
cout<<so << " la so chan!";
} else{
cout<<so << " la so le!";
}
Tương đương với:
(so % 2 == 0) ? cout<<so<<" la so chan!" : cout<<so<< " la so le!";
Chương trình C++ minh họa toán tử điều kiện “?”
#include <iostream>
using namespace std;
int main () {
// Local variable declaration:
int x, y = 10;
x = (y < 10) ? 30 : 40;
cout << "value of x: " << x << endl;
return 0;
}
Kết quả
value of x: 40
Chương trình tìm số lớn hơn sử dụng toán tử điều kiện “?”
#include <iostream>
using namespace std;
int main() {
int i = 1, j = 2;
cout << ( i > j ? i : j ) << " is greater." << endl;
}
Kết quả
2 is greater.
Toán tử điều kiện thường dành cho các bạn muốn làm ngắn gọn code của mình hơn.