C ++ Ternary Operator (Με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθουμε για τον τριμερή χειριστή στο C ++ με τη βοήθεια παραδειγμάτων.

Στο C ++, ο τριαδικός τελεστής (επίσης γνωστός ως τελεστής υπό όρους ) μπορεί να χρησιμοποιηθεί για αντικατάσταση αν… αλλιώς σε συγκεκριμένα σενάρια.

Τερματικός χειριστής στο C ++

Ένας τρισδιάστατος τελεστής αξιολογεί την κατάσταση δοκιμής και εκτελεί ένα μπλοκ κώδικα με βάση το αποτέλεσμα της συνθήκης.

Η σύνταξή του είναι

 condition ? expression1 : expression2;

Εδώ, conditionαξιολογείται και

  • εάν conditionείναι true, expression1εκτελείται.
  • Και, εάν conditionείναι false, expression2εκτελείται.

Ο τριαδικός χειριστής παίρνει 3 τελεστές ( condition, expression1και expression2). Ως εκ τούτου, το όνομα τριαδικός τελεστής .

Παράδειγμα: C ++ Ternary Operator

 #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; )

Έξοδος 1

 Εισαγάγετε τις βαθμολογίες σας: 80 Περάσατε την εξέταση.

Ας υποθέσουμε ότι ο χρήστης μπαίνει στο 80 . Στη συνέχεια, η κατάσταση marks>= 40αξιολογείται σε true. Ως εκ τούτου, η πρώτη έκφραση "passed"ανατίθεται στο αποτέλεσμα.

Έξοδος 2

 Εισαγάγετε τις βαθμολογίες σας: 39.5 Αποτύχατε στην εξέταση

Τώρα, ας υποθέσουμε ότι ο χρήστης εισέρχεται 39.5 . Στη συνέχεια, η κατάσταση marks>= 40αξιολογείται σε false. Ως εκ τούτου, η δεύτερη έκφραση "failed"ανατίθεται στο αποτέλεσμα.

Πότε να χρησιμοποιήσετε έναν Ternary Operator;

Στο C ++, ο τριαδικός τελεστής μπορεί να χρησιμοποιηθεί για την αντικατάσταση ορισμένων τύπων if… elseδηλώσεων.

Για παράδειγμα, μπορούμε να αντικαταστήσουμε αυτόν τον κωδικό

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

με

 #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; )

Παραγωγή

 Αρνητικός αριθμός!

Εδώ, και τα δύο προγράμματα δίνουν την ίδια έξοδο. Ωστόσο, η χρήση του τριμερούς χειριστή καθιστά τον κωδικό μας πιο ευανάγνωστο και καθαρό.

Σημείωση: Θα πρέπει να χρησιμοποιήσουμε τον τριαδικό τελεστή μόνο εάν η δήλωση που προκύπτει είναι σύντομη.

Χειριστές Nested Ternary

Είναι επίσης δυνατό να χρησιμοποιήσετε έναν τριμερή χειριστή μέσα σε έναν άλλο τριμερή χειριστή. Ονομάζεται ένθετος τριαδικός τελεστής στο C ++.

Ακολουθεί ένα πρόγραμμα για να βρείτε εάν ένας αριθμός είναι θετικός, αρνητικός ή μηδέν χρησιμοποιώντας τον ένθετο τριμερή τελεστή.

 #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; )

Παραγωγή

 Ο αριθμός είναι μηδέν

Στο παραπάνω παράδειγμα, παρατηρήστε τη χρήση τριαδικών τελεστών,

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

Εδώ,

  • (number == 0)είναι η πρώτη συνθήκη δοκιμής που ελέγχει εάν ο αριθμός είναι 0 ή όχι. Εάν είναι, τότε εκχωρεί την τιμή συμβολοσειράς "Zero"στο αποτέλεσμα.
  • Διαφορετικά, η δεύτερη κατάσταση δοκιμής (number> 0)αξιολογείται εάν είναι η πρώτη συνθήκη false.

Σημείωση : Δεν συνιστάται η χρήση ένθετων τριαδικών τελεστών. Αυτό συμβαίνει επειδή κάνει τον κώδικα μας πιο περίπλοκο.

ενδιαφέροντα άρθρα...