Τριμερής χειριστής C++

Trimeres Cheiristes C



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

Σύνταξη του Τριμερούς τελεστή σε C++

Οι τρεις τελεστές απαιτούνται για τον τριαδικό τελεστή: ο υπό όρους, ο αληθής και ο ψευδής. Καθώς ο τριαδικός τελεστής αναλύει τη συνθήκη δοκιμής και, ανάλογα με το αποτέλεσμα, εκτελεί ένα μπλοκ κώδικα, η σύνταξη είναι:

# (exp_1) ? exp_2 : exp_3

Εδώ το 'exp' αντιπροσωπεύει την έκφραση. Ανάλογα με το αποτέλεσμα μιας παράστασης, αυτός ο τελεστής επιστρέφει μία από τις δύο τιμές. Οι παραστάσεις 2 και 3 αξιολογούνται και οι τιμές τους επιστρέφονται ως τελικά αποτελέσματα εάν το 'exp_1' αξιολογηθεί σε Boolean true. Διαφορετικά, η έκφραση 1 αξιολογείται σε Boolean false και η έκφραση 2 αξιολογείται και η τιμή της επιστρέφεται ως τελικό αποτέλεσμα.







Παράδειγμα 1

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



#include

#include

χρησιμοποιώντας το namespace std ;

ενθ κύριος ( ) {
διπλό CGPA ;
cout <> CGPA ;

συμβολοσειρά student_result = ( CGPA >= 1.5 ) ? 'πέρασε' : 'απέτυχε' ;

cout << 'Εσείς ' << μαθητής_αποτέλεσμα << ' το εξάμηνο.' ;

ΕΠΙΣΤΡΟΦΗ 0 ;
}



Στο πρόγραμμα, έχουμε συμπληρώσει την ενότητα κεφαλίδας μας με τις βιβλιοθήκες C++. Μετά από αυτό, προσθέσαμε το namespace std με τη λέξη-κλειδί 'using'. Στη συνέχεια, έχει δηλωθεί η μεταβλητή «CGPA» με τον τύπο δεδομένων «διπλό». Στην επόμενη γραμμή, ζητήσαμε από τον χρήστη να εισαγάγει το CGPA εκτυπώνοντας την εντολή cout. Με την εντολή cin, οι χρήστες προσθέτουν το CGPA.





Στη συνέχεια, δημιουργήσαμε μια άλλη μεταβλητή, 'student_result', που έχει τριαδικό τελεστή. Ο τριαδικός τελεστής χρειάζεται τις τρεις εκφράσεις εδώ. Πρώτα είναι η συνθήκη που ελέγχει εάν το CGPA που έχει εισαχθεί από τον χρήστη είναι μεγαλύτερο ή ίσο με '1,5'. Αν ναι, θα εκτυπωθεί η δήλωση 'pass' ή αλλιώς θα εκτυπωθεί η τρίτη έκφραση. Το αποτέλεσμα θα εμφανιστεί όταν χρησιμοποιείτε την εντολή cout.

Ας υποθέσουμε ότι ο χρήστης πληκτρολογεί το CGPA '3.5'. Το CGPA >= 1,5 στη συνέχεια αξιολογείται ως αληθές, πληρώντας το κριτήριο. Έτσι, στο αποτέλεσμα δίνεται ο πρώτος όρος 'περάστηκε'.



Ας υποθέσουμε ότι ο χρήστης πληκτρολογεί 1.00. Ως αποτέλεσμα, η συνθήκη CGPA >= 1,5 αξιολογείται εσφαλμένα. Επομένως, στο αποτέλεσμα δίνεται η δεύτερη έκφραση, 'αποτυχία'.

Παράδειγμα 2

Ορισμένα είδη εντολών if else στη C++ μπορούν να αντικατασταθούν με τον τριαδικό τελεστή. Μπορούμε να αλλάξουμε αυτόν τον κώδικα ως παράδειγμα. Το πρώτο παράδειγμα προγράμματος χρησιμοποιεί τη συνθήκη if-else και το άλλο παράδειγμα προγράμματος χρησιμοποιεί τον τριαδικό τελεστή.

#include

χρησιμοποιώντας το namespace std ;

ενθ κύριος ( ) {

ενθ σε ένα = - 3 ;
cout << 'σε ένα :' < 0 )
cout << ' \n Θετικός ακέραιος' ;
αλλού
cout << ' \n Αρνητικός ακέραιος!' ;

ΕΠΙΣΤΡΟΦΗ 0 ;
}

Δηλώσαμε και αρχικοποιήσαμε τη μεταβλητή τύπου δεδομένων int 'num' με την αρνητική ακέραια τιμή. Μετά από αυτό, με την εντολή cout, εκτυπώνεται η τιμή 'num'. Τότε, έχουμε την προϋπόθεση αν-άλλο. Μέσα στη συνθήκη «αν», έχουμε καθορίσει τη συνθήκη ότι η μεταβλητή «num» πρέπει να είναι μεγαλύτερη από την τιμή μηδέν. Εάν η συνθήκη γίνει αληθής, τότε θα εκτυπωθεί η εντολή cout αμέσως μετά τη συνθήκη «αν». Εάν η συνθήκη γίνει ψευδής, τότε θα εκτυπωθεί η δήλωση else cout.

Καθώς ο αριθμός είναι αρνητική τιμή, η συνθήκη if γίνεται ψευδής και η

Στη συνέχεια, εκτελέσαμε το παραπάνω πρόγραμμα με τον τριαδικό τελεστή. Ας ελέγξουμε για να δούμε αν η συνθήκη if-else και ο τριαδικός τελεστής έχουν τα ίδια αποτελέσματα.

#include

#include

χρησιμοποιώντας το namespace std ;

ενθ κύριος ( ) {

ενθ MyNum = - 7 ;
cout << 'Ακέραιος αριθμός:' << MyNum < 0 ) ? 'Θετικός ακέραιος!' : 'Αρνητικός ακέραιος!' ;
cout << Αποτέλεσμα << endl ;

ΕΠΙΣΤΡΟΦΗ 0 ;
}

Δηλώσαμε τη μεταβλητή 'MyNum' και την αρχικοποιήσαμε με αρνητική τιμή. Εκτυπώσαμε την αρνητική τιμή καλώντας τη μεταβλητή «MyNum» μέσα στην εντολή cout. Στη συνέχεια, ορίσαμε μια άλλη μεταβλητή ως 'Outcome' με τον τύπο συμβολοσειράς. Η μεταβλητή αποτελέσματος λαμβάνει τη λειτουργία τριαδικού τελεστή. Πρώτον, έχουμε την προϋπόθεση ότι το 'MyNum' πρέπει να είναι μεγαλύτερο από το μηδέν. Μετά από αυτό, βάζουμε έναν τριαδικό τελεστή '?'. Οι άλλες δύο παραστάσεις θα εκτελεστούν με το αποτέλεσμα της συνθήκης.

Καθώς η ακέραια τιμή είναι '-7', η τρίτη έκφραση, 'αρνητικός ακέραιος!' εκτυπώνεται στην προτροπή. Εδώ, η έξοδος και από τις δύο εφαρμογές είναι η ίδια. Ο τριαδικός χειριστής, ωστόσο, βελτιώνει την αναγνωσιμότητα και την καθαρότητα του κώδικά μας.

Παράδειγμα 3

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

#include

#include

χρησιμοποιώντας το namespace std ;

ενθ κύριος ( ) {
ενθ ακέραιος αριθμός = 0 ;
Αποτέλεσμα συμβολοσειράς ;

Αποτέλεσμα = ( ακέραιος αριθμός == 0 ) ? 'Μηδέν' : ( ( ακέραιος αριθμός > 0 ) ? 'Θετικός' : 'Αρνητικός' ) ;

cout << 'Ο ακέραιος είναι' << Αποτέλεσμα ;

ΕΠΙΣΤΡΟΦΗ 0 ;
}

Απλώς ξεκινήστε με την κύρια μέθοδο του προγράμματος. Στο int main(), δημιουργήσαμε τη μεταβλητή με το όνομα 'integer' και ορίσαμε την τιμή της ως μηδέν. Στη συνέχεια, ορίσαμε μια άλλη μεταβλητή, το 'Αποτέλεσμα', με τη συμβολοσειρά τύπου δεδομένων. Έχουμε ορίσει τη μεταβλητή 'Αποτέλεσμα', παρακάμπτοντας τον τριαδικό τελεστή σε αυτήν. Η προϋπόθεση είναι ότι η τιμή της μεταβλητής «ακέραιος» πρέπει να είναι ίση με μηδέν «ακέραιος == 0». Η αρχική συνθήκη, (ακέραιος == 0), καθορίζει εάν ένας δεδομένος ακέραιος είναι μηδέν ή όχι. Αν ναι, στο αποτέλεσμα δίνεται η τιμή συμβολοσειράς 'Μηδέν'. αν η απάντηση είναι σωστή. Διαφορετικά, εάν η πρώτη συνθήκη είναι ψευδής, εξετάζεται η δεύτερη συνθήκη (ακέραιος > 0).

Ναι, ο παρεχόμενος ακέραιος είναι μηδέν, όπως φαίνεται στο σενάριο. Η έξοδος παράγει το 'Integer is Zero'.

συμπέρασμα

Γνωρίζουμε ότι ο υπό όρους τελεστής είναι ο τριαδικός τελεστής. Με τη βοήθεια αυτού του χειριστή, μπορούμε να ελέγξουμε μια συνθήκη και να ενεργήσουμε σύμφωνα με αυτήν. Μπορούμε να επιτύχουμε το ίδιο πράγμα χρησιμοποιώντας συνθήκες if-else αντί του τριαδικού τελεστή. Αυτό το σεμινάριο C++ μας δίδαξε πώς να χρησιμοποιούμε τον Τριτογενή χειριστή μέσω της σύνταξης και των παραδειγμάτων προγραμμάτων του. Λάβετε υπόψη ότι ο τριαδικός τελεστής πρέπει να χρησιμοποιείται μόνο εάν η τελική δήλωση είναι συνοπτική.