Σε αυτό το σεμινάριο, θα μάθετε για την προτεραιότητα και τη συσχέτιση των χειριστών με τη βοήθεια παραδειγμάτων.
Προτεραιότητα των φορέων
Η προτεραιότητα των τελεστών καθορίζει ποιος τελεστής εκτελείται πρώτα εάν υπάρχουν περισσότεροι από ένας τελεστές σε μια έκφραση.
Ας εξετάσουμε ένα παράδειγμα:
int x = 5 - 17* 6;
Στο C, η προτεραιότητα *είναι υψηλότερη από -και =. Ως εκ τούτου, 17 * 6αξιολογείται πρώτα. Στη συνέχεια, η έκφραση που εμπλέκεται -αξιολογείται καθώς η προτεραιότητα -είναι υψηλότερη από αυτήν του =.
Ακολουθεί ένας πίνακας προτεραιότητας χειριστή από υψηλότερο σε χαμηλότερο. Η ιδιότητα του συνεταιρισμού θα συζητηθεί σύντομα.
Πίνακας Προτεραιότητας & Συσχετιστικότητας
| Χειριστής | Έννοια του χειριστή | Συνεργασία |
|---|---|---|
| () () -> . | Λειτουργική κλήση Αναφορά στοιχείου σειράς Έμμεση επιλογή μέλους Άμεση επιλογή μέλους | Από αριστερά προς τα δεξιά |
| ! ~ + - ++ - & * sizeof (τύπος) | Λογική άρνηση Συμπληρώματα Bitwise (1) Unary συν Unary μείον Αύξηση μείωση Dereference (Διεύθυνση) Δείκτης αναφοράς Επιστρέφει το μέγεθος ενός αντικειμένου Typecast (μετατροπή) | Δεξιά προς τα αριστερά |
| * / % | Πολλαπλασιασμός Διαίρεση Υπόλοιπο | Από αριστερά προς τα δεξιά |
| + - | Δυαδικό συν (Προσθήκη) Δυαδικό μείον (αφαίρεση) | Από αριστερά προς τα δεξιά |
| << >> | Αριστερή στροφή Δεξιά στροφή | Από αριστερά προς τα δεξιά |
| < <= > > = | Λιγότερο από λιγότερο από ή ίσο Μεγαλύτερο από μεγαλύτερο από ή ίσο | Από αριστερά προς τα δεξιά |
| == ! = | Ίση με Όχι ίση με | Από αριστερά προς τα δεξιά |
| & | Bitwise ΚΑΙ | Από αριστερά προς τα δεξιά |
| ^ | Αποκλειστικά bitwise Ή | Από αριστερά προς τα δεξιά |
| | | Bitwise Ή | Από αριστερά προς τα δεξιά |
| && | Λογική ΚΑΙ | Από αριστερά προς τα δεξιά |
| || | Λογική Ή | Από αριστερά προς τα δεξιά |
| ;: | Υπό όρους χειριστής | Δεξιά προς τα αριστερά |
| = * = / = % = + = - = & = = | = << = >> = | Απλή ανάθεση Ανάθεση προϊόντος Αντιστοίχιση πηλίκου Αντιστοίχιση υπολοίπου Εκχώρηση αθροίσματος Αντιστοίχιση διαφοράς Αντιστοίχιση δεξιόστροφα ΚΑΙ Αντιστοίχιση δεξιόστροφα XOR Αντιστοίχιση δεξιόστροφα Ή Αντιστοίχιση αριστερής μετατόπισης Εκχώρηση δεξιάς μετατόπισης | Δεξιά προς τα αριστερά |
| , | Διαχωριστής των εκφράσεων | Από αριστερά προς τα δεξιά |
Συνεργασία χειριστών
Η συσχέτιση των χειριστών καθορίζει την κατεύθυνση στην οποία αξιολογείται μια έκφραση. Για παράδειγμα,
b = a;
Εδώ, η τιμή του a αντιστοιχεί στο b και όχι το αντίστροφο. Είναι επειδή η συνάφεια του =χειριστή είναι από δεξιά προς τα αριστερά.
Επίσης, εάν υπάρχουν δύο τελεστές της ίδιας προτεραιότητας (προτεραιότητα), η συνάφεια καθορίζει την κατεύθυνση στην οποία εκτελούν.
Ας εξετάσουμε ένα παράδειγμα:
1 == 2! = 3
Εδώ, οι χειριστές ==και !=έχουν την ίδια προτεραιότητα. Και, η σχέση τους είναι από αριστερά προς τα δεξιά. Ως εκ τούτου, 1 == 2εκτελείται πρώτα.
Η παραπάνω έκφραση ισοδυναμεί με:
(1 == 2)! = 3
Σημείωση: Εάν μια δήλωση έχει πολλούς τελεστές, μπορείτε να χρησιμοποιήσετε παρενθέσεις ()για να κάνετε τον κώδικα πιο ευανάγνωστο.








