Lập trình C++ cơ bản, nâng cao
Toán tử ba ngôi (ternary operator) trong C++ là một cách viết ngắn gọn cho câu lệnh if-else
. Toán tử này có cú pháp như sau:
Biến = (điều kiện if else) ? biểu thức đúng (Value 1) : biểu thức sai (Value 2);
Ví dụ cụ thể:
Giả sử chúng ta muốn xác định số lớn hơn trong hai số a và b:
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 20;
int max = (a > b) ? a : b;
cout << "So lon hon la: " << max << endl;
return 0;
}
Giải thích:
(a > b)
: đây là biểu thức điều kiện.a
: đây là biểu thức nếu điều kiện đúng.b
: đây là biểu thức nếu điều kiện sai.
Trong ví dụ này, nếu a
lớn hơn b
, giá trị của max
sẽ là a
, ngược lại giá trị của max
sẽ là b
. Kết quả là chương trình sẽ in ra So lon hon la: 20
.
Toán tử ba ngôi thường được sử dụng để viết các câu lệnh điều kiện ngắn gọn và dễ đọc hơn.
Thực hành toán tử 3 ngôi #1
Viết chương trình nhập vào 2 số nguyên a
và b
từ bàn phím, sau đó sử dụng toán tử 3 ngôi để tìm số lớn hơn và in kết quả ra màn hình.
Lưu ý: hãy sử dụng toán tử 3 ngôi thay vì if else để làm bài này nhé.
Giải:
#include <iostream>
int main()
{
int a, b;
std::cin >> a >> b;
int max = (a > b)? a : b;
std::cout << max;
return 0;
}
Thực hành toán tử 3 ngôi #2
Viết chương trình nhập vào 3 số nguyên a
, b
và c
từ bàn phím, sau đó sử dụng toán tử 3 ngôi để tìm số lớn nhất và in kết quả ra màn hình.
Lưu ý: hãy sử dụng toán tử 3 ngôi thay vì if else để làm bài này nhé.
Giải:
#include <iostream>
int main()
{
int a, b, c;
std::cin >> a >> b >> c;
int max = (a > b && a > c) ? a : (b > c) ? b : c;
std::cout << max;
return 0;
}
Thực hành toán tử 3 ngôi #3
Viết chương trình nhập vào 1 số nguyên n
từ bàn phím, sau đó sử dụng toán tử 3 ngôi để in ra kết quả của phép tính n * 2
nếu n
là số chẵn, và n * 3
nếu n
là số lẻ.
Lưu ý: hãy sử dụng toán tử 3 ngôi thay vì if else để làm bài này nhé.
Giải:
#include <iostream>
int main()
{
int n;
std::cin >> n;
int result = (n % 2 == 0) ? n * 2 : n * 3;
std::cout << result;
return 0;
}
Nhận xét