Home > C / C++ > Học C++ > Toán tử ba ngôi trong C++
Cần 2 bạn dịch bài về C#, Winform, .NET ... nói chung là viết bài về các công nghệ sử dụng code C#. Yêu cầu phải có kiến thức nên tảng lĩnh vực bạn chọn, nhuận bút 50k / bài. inbox mình nếu có nhu cầu nhé.

Toán tử ba ngôi trong C++

Trong bài này mình sẽ giới thiệu toán tử ba ngôi trong C++, đây là cách viết rút gọn lệnh if else cực kì hữu ích, giúp lập trình viên rút gọn thời gian code rất nhiều.

Toán tử ba ngôi thực ra là cách rút gọn code của lệnh if else, nhưng nó chỉ hoạt động trong những trường hợp đơn giản, và lệnh này sẽ trả về một giá trị cụ thể.

1. Cú pháp toán tử ba ngôi C++

Cú pháp như sau:

condition ? true_value : false_value;

Trong đó nếu:

  • condition = true thì true_value sẽ được lấy
  • condition = false thì false_value sẽ được lấy

Như vậy, toán tử ba ngôi sẽ trả về một giá trị nhất định, và giá trị đó phụ thuộc vào điều kiện condition.

Ví dụ: Viết chương trình kiểm tra một số là số chẵn hay số lẻ và in kết quả lên màn hình.

Nếu viết cách thông thường thì làm như sau:

#include <iostream>
using namespace std;

int main()
{
  	
  	int number = 20;
  	
  	if (number % 2 == 0){
  		cout << "So chan";	
  	}
  	else {
  		cout << "So le";	
  	}
  	
    return 1;
}

Nhưng nếu sử dụng toán tử ba ngôi sẽ như sau:

#include <iostream>
using namespace std;

int main()
{
  	
  	int number = 20;
  	string message;
  	message = (number % 2 == 0) ? "So chan" : "So le";
  	cout << message;
  	
    return 1;
}

Rõ ràng cách viết ngắn gọn hơn rất nhiều, nhưng bù lại trông có vẻ hơi khó đọc.

2. Khi nào nên sử dụng toán tử ba ngôi C++

Không phải lúc nào sử dụng toán tử ba ngôi đều tốt nhé các bạn.

Bạn chỉ nên sử dụng trong những trường hợp đơn giản, điều kiện kiểm tra không quá dài.

Trường hợp chương trình quá phức tạp thì phải sử dụng lệnh if else.

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net.

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP