Issue 5 - April 2010

Page 27

11011

27

Μαθήματα προγραμματισμού σε C Μάθημα 3ο

Συνεχίζουμε τη σειρά μαθημάτων μας με την επεξήγηση κάποιων βασικών εννοιών { του προγραμματισμού. int this_is_a_number; Όσοι από σας βιάζεστε και θέλετε να αποκτήσετε μια πιο γρήγορη γνώση του πως λειτουργεί η C αλλά και ο CodeBlocks, κατεβάστε το manual του για φοιτητές από printf( “Please enter a number: “ ); /*τύπος int, ονομασία this_is_a_number*/ τη διεύθυνση : scanf( “%d”, &this_is_a_number ); http://tinyurl.com/yfn56fq printf( “You entered %d”, this_is_a_number ); return 0; Μεταβλητές } Οι μεταβλητές είναι μια έννοια απαραίτητη η οποία χρησιμοποιείται σε όλες τις προγραμματιστικές γλώσσες. Στο κύριο μέρος της οθόνης σας έχετε τα παρακάτω: Μάθαμε στο προηγούμενο μάθημα πώς να προβάλλουμε στην οθόνη ένα κείμενο (για την ακρίβεια μια γραμματοσειρά – string), καθώς και την έννοια της main( ) αλλά και των συναρτήσεων γενικότερα. Δώσαμε λοιπόν στο μικρό μας πρόγραμμα μια είσοδο την οποία πρόβαλλε στην οθόνη μας. Τι γίνεται όμως τώρα, αν θέλουμε να πρόγραμμά μας να αλληλεπιδρά με τον χρήστη; Να δέχεται δηλαδή κάποια στοιχεία που του δίνει ο χρήστης και κατόπιν να «δουλεύει» μ’ αυτά; Ευτυχώς αυτό είναι δυνατό και επιτυγχάνεται με τη χρήση των μεταβλητών. Η είσοδος του χρήστη και γενικότερα τα δεδομένα σ’ ένα πρόγραμμα αποθηκεύονται σε μεταβλητές. Υπάρχουν αρκετοί τύποι μεταβλητών τους οποίους ο compiler πρέπει να γνωρίζει πριν να χρησιμοποιήσει τις μεταβλητές. Τον τύπο των μεταβλητών τον δηλώνει ο προγραμματιστής. Εσείς δηλαδή! Μια μεταβλητή τύπου “char” μπορεί να αποθηκεύσει έναν απλό χαρακτήρα, μια τύπου “int” έναν ακέραιο αριθμό ενώ μια τύπου “float” έναν αριθμό με υποδιαστολή. Υπάρχουν βέβαια κι άλλοι τύποι μεταβλητών τους οποίους θα γνωρίζουμε σιγά – Τώρα μπορούμε να φτιάξουμε το εκτελέσιμο αρχείο μας. Επιλέξτε Build -> Build και σιγά ταυτόχρονα χρησιμοποιώντας τους. κατόπιν Build -> Run. Η δήλωση των μεταβλητών γίνεται με τον παρακάτω τρόπο: Αν δεν έχετε κάνει κάποιο λάθος, στην οθόνη σας θα δείτε τα παρακάτω (δώσαμε <τύπος μεταβλητής><όνομα μεταβλητής> σαν παράδειγμα τον αριθμό 56). Τα στοιχεία «<» και «>», δεν χρησιμοποιούνται, απλά δηλώνουν ότι πρέπει το περιεχόμενό τους να αντικατασταθεί από τα δεδομένα σας. Μια βασική δήλωση μεταβλητής δηλαδή, θα μπορούσε να είναι: int myVariable; Προσέξτε ότι κάθε δήλωση τελειώνει πάντα με τη χρήση του ελληνικού «;». Επίσης είναι δυνατή και η δήλωση πολλών μεταβλητών του ίδιου τύπου οι οποίες πρέπει να χωρίζονται με κόμμα. Πάμε να δούμε κάποιες ακόμα δηλώσεις μεταβλητών: int x; int a, b, c, d; char letter; float the_float; Ας εξηγήσουμε τώρα τι ακριβώς έχουμε κάνει. Μπαίνουμε κατευθείαν μέσα στη main ( ). Έχουμε τη δήλωση «int this_is_a_number», δηλαδή μια μεταβλητή τύπου int (ακέραιος) με την ονομασία «this_is_a_number». Τη συνάρτηση printf τη γνωρίσαμε στο προηγούμενο μάθημά μας. Πρόκειται για τη συνάρτηση η οποία τυπώνει στην οθόνη το όρισμά της. H scanf είναι επίσης μια συνάρτηση η οποία δέχεται την είσοδο από τον χρήστη και πρέπει να ξέρει ότι περιμένει ακέραιο (%d) και που να τον αποθηκεύσει (στην this_ is_a_number). Αν δοκιμάστε να δώσετε ένα αριθμό τύπου float (με υποδιαστολή), το πρόγραμμα θα αποκόψει το δεκαδικό μέρος του αριθμού και θα κρατήσει το ακέραιο. Αν δοκιμάσετε να πληκτρολογήσετε ένα ή περισσότερα γράμματα, το αποτέλεσμα θα είναι απρόσμενο. Το πρόγραμμά σας θα τυπώσει έναν αριθμό ! Γι΄αυτό και όλα τα προγράμματα δοκιμάζονται σχολαστικά πριν την τελική έκδοσή τους ώστε να μην υπάρχουν απρόσμενα αποτελέσματα. Το παραπάνω λαθάκι εξόδου διορθώνεται αρκετά εύκολα, βέβαια η λύση δεν αντιστοιχεί στα πρώτα μας μαθήματα. Ο χαρακτήρας «&» πριν από τη μεταβλητή «this_is_a_number» δείχνει στη συνάρτηση scanf τη διεύθυνση από την οποία να πάρει τα δεδομένα και όχι το περιεχόμενο της μεταβλητής. Είναι σαν κάποιος να σας ζητάει ένα ποτό κι εσείς να του λέτε ότι πρέπει να πάει στο μπαρ για να το πάρει και όχι να του το φέρνετε ο ίδιος. /*Πρόγραμμα το οποίο ζητάει από τον χρήστη έναν ακέραιο και κατόπιν τον τυπώνει Με την συνεχή σας ενασχόληση θα μπορείτε να κατανοείτε όλο και σε μεγαλύτερο βάθος τις έννοιες που αναφέρουμε. στην οθόνη*/ Διαβάστε και πειραματιστείτε μέχρι το επόμενό μας μάθημα! #include <stdio.h> Ένα άλλο σημείο το οποίο πρέπει να τονίσουμε και να μάθουμε να χρησιμοποιούμε είναι τα σχόλια. Είναι μια πολύ καλή προγραμματιστική πρακτική να χρησιμοποιούμε σχόλια, δίπλα από κάποιες γραμμές του κώδικά μας. Έτσι εξασφαλίζουμε ότι αν θα χρειαστεί μετά από αρκετό καιρό να ξαναδούμε τον πηγαίο μας κώδικα, θα ξέρουμε πως είχαμε σκεφτεί για να γράψουμε αυτό που γράψαμε και δεύτερον κάνουμε κατανοητό και σε κάποιον άλλο ο οποίος πιθανόν να διαβάσει τον κώδικά μας, τι προσπαθεί το πρόγραμμά μας να κάνει. Τα σχόλια στην C είναι όλες οι λέξεις που περιλαμβάνονται ανάμεσα στα στοιχεία «/*» και «*/» Πάμε τώρα να γράψουμε και πάλι ένα μικρό προγραμματάκι το οποίο ζητάει από τον χρήστη έναν ακέραιο αριθμό και τον τυπώνει στην οθόνη μαζί με μια επεξηγηματική μικρή φράση. Ανοίξτε λοιπόν το CodeBlocks και ακολουθήστε τη διαδρομή File -> New -> Project -> Console Application Κατόπιν πατήστε “Next” επιλέξτε “C” και γράψτε στο Project Title first_program και πατήστε και πάλι “Next” και “Finish”. Έχετε τώρα μπροστά σας το interface του CodeBlocks. Κάντε κλικ αριστερά στο “Sources” και διπλό κλικ στο “Main” για να βρεθείτε στον editor όπου μπορείτε να γράψετε το πρόγραμμά σας. Σβήστε τα περιεχόμενα της “Main”, (από άγκιστρο σε άγκιστρο) καθώς και την συμπερίληψη της βιβλιοθήκης «stdlib.h» και πληκτρολογήστε τα παρακάτω:

int main()


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.