Γ Προτεραιότητα και συσχέτιση των χειριστών: Ορισμός και παραδείγματα

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

Προτεραιότητα των φορέων

Η προτεραιότητα των τελεστών καθορίζει ποιος τελεστής εκτελείται πρώτα εάν υπάρχουν περισσότεροι από ένας τελεστές σε μια έκφραση.

Ας εξετάσουμε ένα παράδειγμα:

 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

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

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