Αριθμητικές εκφράσεις ακεραίων

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

printf("The result is : %5d \n", c);

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

Στην αρχή δηλώνονται τρείς ακέραιες μεταβλητές a, b and c, και στη συνέχεια οι 
δύο από τις μεταβλητές παίρνουν τις τιμές 12 και 3 με απλή εκχώρηση. Οι 
επόμενες πέντε γραμμές παρουσιάζουν τις βασικές πράξεις στην ακέραια 
αριθμητική, πρόσθεση, αφαίρεση, πολλαπλασιασμό, πηλίκο και υπόλοιπο (modulo) 
ακέραιας διάιρεσης. Στη συνέχεια υπάρχουν δύο παραδείγματα σύνθετων 
εκφράσεων. Η προτεραιότητα των αριθμητικών τελεστών είναι η γνωστή από τα 
μαθηματικά και οι παρενθέσεις βιηθούν στην αλλαγή αυτής της προτεραιότητας. 
Όποτε βρίσκεστε σε αμφιβολία καλύτερα να τις χρησιμοποιείτε (φύλαγε τα ρούχα 
σου ...)

Οι εκφράσεις  a = a + 1 και b = b * 5 αναφέρονται σε εκφράσεις που 
ενημερώνουν την τιμή μιας μεταβλητής μέσω μιάς έκφραση που περιλαμβάνει μιά 
πράξη με βάση την τρέχουσα τιμή της ματαβλητής. Τέτοιες εκφράσεις είναι 
απόλυτα νόμιμες, και παρόμοιες έχουν ήδη χρησιμοποιηθεί πολλές φορές γιά την 
αύξηση μετρητών σε δομές επανάληψης. Θα δούμε όμως παρακάτω οτι η C 
παρέχει έναν πιό συμπαγή τρόπο γιά την διατύπωση τέτοιων εκφράσεων.
Η εκχώρηση ως έκφραση

Οι δύο τελευταίες γραμμές του προγράμματος πορουσιάζουν μιά σημαντική 
ιδιαιτερότητα της πρότασης εκχώρησης στην C. Η ιδιαιτερότητα είναι οτι η 
εκχώρηση ως σύνολο θεωρείται ως μία έκφραση (ή στοιχειώδης συνάρτηση θα 
μπορούσαμε να πούμε). Σαν έκφραση η καθε εκχώρηση παράγει ένα εξαγόμενο. 
Ποιό είναι αυτό το εξαγόμενο; Η τιμή η οποία εκχωρείται, είτε πρόκειται γιά 
απλή σταθερά έιτε γιά πολύπλοκη αριθμητική έκφραση.

Ο μεταφραστής της C σαρώνει τη γραμμή και μόλις διαπιστώσει οτι περιέχει 
πρόταση εκχώρησης υπολογίζει την έκφραση που βρίσκεται στο δεξιότερο άκρο 
της γραμμής. Σταματά μόλις συνατήσει τον τελεστή εκχώρησης, δηλαδή το =. Η 
τιμή που έχει παραχθεί εκχωρείται στη ματαβλητή στα αριστερά του =.  Αν στη 
συνέχεια της σάρωσης ο μεταφραστής συνατήσει και νέο = τότε η τιμή που έχει 
παραχθεί ήδη εκχωρείται και στη νέα μεταβλητή, κ.ο.κ. 

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

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

Περιεχόμενα Κεφαλαίου