Toán tử bậc ba trong C ++ (Có ví dụ)

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về toán tử bậc ba trong C ++ với sự trợ giúp của các ví dụ.

Trong C ++, toán tử bậc ba (còn được gọi là toán tử điều kiện ) có thể được sử dụng để thay thế if… else trong một số trường hợp nhất định.

Toán tử bậc ba trong C ++

Toán tử bậc ba đánh giá điều kiện thử nghiệm và thực thi một khối mã dựa trên kết quả của điều kiện.

Cú pháp của nó là

 condition ? expression1 : expression2;

Ở đây, conditionđược đánh giá và

  • nếu conditiontrue, expression1được thực thi.
  • Và, nếu conditionfalse, expression2được thực thi.

Các nhà điều hành ternary mất 3 toán hạng ( condition, expression1expression2). Do đó, tên toán tử bậc ba .

Ví dụ: Toán tử bậc ba trong C ++

 #include #include using namespace std; int main() ( double marks; // take input from users cout <> marks; // ternary operator checks if // marks is greater than 40 string result = (marks>= 40) ? "passed" : "failed"; cout << "You " << result << " the exam."; return 0; )

Đầu ra 1

 Nhập điểm của bạn: 80 Bạn đã vượt qua kỳ thi.

Giả sử người dùng nhập 80 . Sau đó, điều kiện marks>= 40đánh giá thành true. Do đó, biểu thức đầu tiên "passed"được gán cho kết quả.

Đầu ra 2

 Nhập điểm của bạn: 39,5 Bạn đã trượt kỳ thi.

Bây giờ, giả sử người dùng nhập 39,5 . Sau đó, điều kiện marks>= 40đánh giá thành false. Do đó, biểu thức thứ hai "failed"được gán cho kết quả.

Khi nào sử dụng Toán tử bậc ba?

Trong C ++, toán tử bậc ba có thể được sử dụng để thay thế một số kiểu if… elsecâu lệnh nhất định .

Ví dụ, chúng tôi có thể thay thế mã này

 #include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )

với

 #include #include using namespace std; int main() ( int number = -4; string result; // Using ternary operator result = (number> 0) ? "Positive Number!" : "Negative Number!"; cout << result << endl; return 0; )

Đầu ra

 Số âm!

Ở đây, cả hai chương trình đều cho kết quả đầu ra như nhau. Tuy nhiên, việc sử dụng toán tử bậc ba làm cho mã của chúng ta dễ đọc và sạch sẽ hơn.

Lưu ý: Chúng ta chỉ nên sử dụng toán tử bậc ba nếu câu lệnh kết quả ngắn.

Toán tử bậc ba lồng nhau

Cũng có thể sử dụng một toán tử bậc ba bên trong một toán tử bậc ba khác. Nó được gọi là toán tử bậc ba lồng nhau trong C ++.

Đây là một chương trình để tìm xem một số là số dương, số âm hay số 0 bằng cách sử dụng toán tử bậc ba lồng nhau.

 #include #include using namespace std; int main() ( int number = 0; string result; // nested ternary operator to find whether // number is positive, negative, or zero result = (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative"); cout << "Number is " << result; return 0; )

Đầu ra

 Số là 0

Trong ví dụ trên, lưu ý việc sử dụng các toán tử bậc ba,

 (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");

Đây,

  • (number == 0)là điều kiện kiểm tra đầu tiên để kiểm tra xem số có phải là 0 hay không. Nếu đúng, thì nó sẽ gán giá trị chuỗi "Zero"cho kết quả.
  • Khác, điều kiện thử nghiệm thứ hai (number> 0)được đánh giá nếu điều kiện đầu tiên là false.

Lưu ý : Không nên sử dụng các toán tử bậc ba lồng nhau. Điều này là do nó làm cho mã của chúng ta phức tạp hơn.

thú vị bài viết...