Πίνακας περιεχομένων:
Βίντεο: Μαθήματα C++ |1| Εισαγωγή 2024
Οι μεταβλητές και οι σταθερές είναι χρήσιμες μόνο αν μπορείτε να τις χρησιμοποιήσετε για να πραγματοποιήσετε υπολογισμούς. Ο όρος έκφραση είναι ο τύπος C ++ για έναν υπολογισμό. Έχετε ήδη δει την απλούστερη έκφραση:
int n; // δήλωση n = 1; // έκφραση
Οι προγραμματιστές συνδυάζουν μεταβλητές, σταθερές και χειριστές για να κάνουν εκφράσεις. Ένας χειριστής εκτελεί κάποια αριθμητική λειτουργία στα επιχειρήματά του. Οι περισσότεροι φορείς εκμετάλλευσης λαμβάνουν δύο επιχειρήματα - αυτοί ονομάζονται δυαδικοί χειριστές . Λίγοι φορείς εκμετάλλευσης λαμβάνουν ένα μόνο επιχείρημα - αυτοί είναι οι όμοιοι φορείς εκμετάλλευσης .
Όλες οι εκφράσεις επιστρέφουν μια τιμή και έναν τύπο.
Δυαδικοί χειριστές
A δυαδικός φορέας είναι ένας χειριστής που λαμβάνει δύο επιχειρήματα. Αν μπορείτε να πείτε var1 op var2, τότε op πρέπει να είναι ένας δυαδικός τελεστής. Οι πιο συνηθισμένοι δυαδικοί χειριστές είναι οι ίδιες απλές λειτουργίες που μάθατε στο δημοτικό σχολείο. Οι κοινές δυαδικές λειτουργίες εμφανίζονται στον πίνακα.
Προτεραιότητα | Χειριστής | Σημασία |
---|---|---|
1 | - (unary) | Επιστρέφει το επιχείρημα |
2 | ++ | |
/ (δυαδικό) | ||
> Διαίρεση | - (δυαδικό) | |
% (δυαδικό) | ||
5 | =, * =,% =, + =, - = (ειδικά) | Τύποι αντιστοίχισης |
|
Το απλούστερο δυαδικό είναι ο χειριστής εκχώρησης που σημειώνεται με το σύμβολο ισότητας. Ο χειριστής της ανάθεσης λέει: "Πάρτε την τιμή στη δεξιά πλευρά και αποθηκεύστε τη θέση στην αριστερή πλευρά του χειριστή. " | Ο πολλαπλασιασμός, ο διαχωρισμός, η προσθήκη, η αφαίρεση και το modulo είναι οι χειριστές που χρησιμοποιούνται για την εκτέλεση της αριθμητικής. Λειτουργούν ακριβώς όπως οι αριθμητικοί χειριστές που μάθατε στη σχολή γυμνασίου, με τις ακόλουθες ειδικές σκέψεις: |
|
Ο πολλαπλασιασμός πρέπει πάντοτε να δηλώνεται ρητά και δεν υπονοείται ποτέ, όπως συμβαίνει με την άλγεβρα. | Εξετάστε το ακόλουθο παράδειγμα: |
Η παραπάνω έκφραση δεν αποδίδει
m
την τιμή 2 φορές-
n . Αντ 'αυτού, η C ++ προσπαθεί να ερμηνεύσει το 2
n
ως όνομα μεταβλητής. Δεδομένου ότι τα ονόματα μεταβλητών δεν μπορούν να ξεκινήσουν με ένα ψηφίο, δημιουργεί ένα σφάλμα κατά τη διάρκεια του βήματος δημιουργίας. Αυτό που εννοούσε ο προγραμματιστής ήταν: int n = 2; int m = 2 * n; // αυτό είναι ΟΚ Ο αθροιστής διαιρεί το υπόλοιπο. Έτσι, τα ακόλουθα: int n = 13/7; // εκχωρεί την τιμή 1 σε n δεκατεσσάρων διαιρούμενος με 7 είναι 2. Δεκατρείς διαιρούμενοι με επτά είναι 1.
Ο χειριστής modulo επιστρέφει το υπόλοιπο μετά τη διαίρεση
(ίσως να μην θυμάστε modulo):
-
int n = 13% 7; // sets n to 6 Δεκατέσσερα modulo επτά είναι μηδέν. Δεκατρείς μονάδες επτά είναι έξι.
Εξέλιξη εκφράσεων σύνθετων
Μια ενιαία έκφραση μπορεί να περιλαμβάνει πολλαπλούς χειριστές:
-
int n = 5 + 100 + 32; Όταν όλοι οι χειριστές είναι οι ίδιοι, η C ++ αξιολογεί την έκφραση από τα αριστερά προς τα δεξιά:
5 + 100 + 32 105 + 32 137
προτεραιότητα.
Προτεραιότητα είναι η σειρά που αξιολογούν οι χειριστές σε μια σύνθετη έκφραση. Εξετάστε το ακόλουθο παράδειγμα:
int n = 5 * 100 + 32;
Τι έρχεται πρώτα, πολλαπλασιασμός ή προσθήκη; Ή αυτή η έκφραση αξιολογείται απλά από αριστερά προς τα δεξιά; Ανατρέξτε στον πίνακα, ο οποίος σας λέει ότι ο πολλαπλασιασμός έχει προτεραιότητα 3, η οποία είναι υψηλότερη από την προτεραιότητα της προσθήκης που είναι 4 (οι μικρότερες τιμές έχουν υψηλότερη προτεραιότητα). Έτσι, ο πολλαπλασιασμός εμφανίζεται πρώτο:
5 * 100 + 32 500 + 32 532
Η σειρά των πράξεων ακυρώνεται από την προτεραιότητα των χειριστών. Όπως μπορείτε να δείτε int n = 32 + 5 * 100; παράγει το ίδιο αποτέλεσμα:
32 + 5 * 100 32 + 500 532
Αλλά τι εάν θέλετε πραγματικά το 5 φορές το άθροισμα των 100 plus 32; Μπορείτε να αντικαταστήσετε την προτεραιότητα των χειριστών περικλείοντας τις εκφράσεις που θέλετε να εκτελέσετε πρώτα σε παρενθέσεις, ως εξής:
int n = 5 * (100 + 32);
Τώρα η προσθήκη πραγματοποιείται πριν από τον πολλαπλασιασμό:
5 * (100 + 32) 5 * 132 660
Μπορείτε να συνδυάσετε παρενθέσεις για να κάνετε τις εκφράσεις τόσο περίπλοκες όσο θέλετε. Το C ++ ξεκινά πάντα με τις πιο βαθειά ενωμένες παρενθέσεις που μπορεί να βρει και να βγάλει έξω.
(3 + 2) * ((100/20) + (50/5)) (3 + 2) * (5 + 10) 5 * 15 75
Τα παρακάτω είναι ασφαλέστερα:
int factor = 3 + 2; int principal = (100/20) + (50/5). int σύνολο = συντελεστής * κύριο ·
Η αντιστοίχιση ενός ονόματος σε ενδιάμεσες τιμές επιτρέπει επίσης στον προγραμματιστή να εξηγήσει τα μέρη μιας σύνθετης εξίσωσης - διευκολύνοντας την κατανόηση του επόμενου προγραμματιστή.