Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί Ενότητας Απόκτηση βασικών γνώσεων και εισαγωγικών εννοιών της γλώσσας προγραμματισμού C 4
Περιεχόμενα Εισαγωγή στον προγραμματισμό Γλώσσες προγραμματισμού, μεταγλωττιστές. Ένα απλό πρόγραμμα σε C. #include, #define. Απλές πράξεις και scanf, printf. Εντολές (κωδικοί) μορφοποίησης. Αριθμητικοί, συγκριτικοί και λογικοί τελεστές. type cast. 5
Εισαγωγή στον προγραμματισμό Η γλώσσα προγραμματισμού C είναι μία γλώσσα υψηλού επιπέδου, αν και από κάποιους αναφέρεται σαν «ενδιάμεσου επιπέδου»δημιουργήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970, στα εργαστήρια Bell Labs της εταιρείας AT&T. Η ANSI (American National Standard Institute) όρισε επιστημονική επιτροπή για την δημιουργία ενός προτύπου της C, το οποίο να καθορίζει πλήρως τους κανόνες, τα χαρακτηριστικά και τη λειτουργικότητα της γλώσσας. Το πρότυπο ολοκληρώθηκε το 1989 και ονομάστηκε ANSI C. 6
Ενδεικτικά πλεονεκτήματα Παράγει λογισμικό που τρέχει γρήγορα. Διαθέτει απλό συντακτικό και λίγες δεσμευμένες λέξεις, και είναι ευέλικτη. Φορητότητα κώδικα (εκτελείται σε διαφορετικά λειτουργικά συστήματα). Υποστηρίζει τον δομημένο προγραμματισμό και την δημιουργία και κλήση συναρτήσεων. Υποστηρίζει ακόμη και την ενσωμάτωση assembly κώδικα. Είναι δημοφιλής. 7
Ενδεικτικά μειονεκτήματα Έλλειψη περιορισμών, με στόχο την ευελιξία και παραγωγή λογισμικού που «τρέχει» γρήγορα, επομένως, ο προγραμματιστής πρέπει να είναι πολύ προσεκτικός κατά τη συγγραφή του προγράμματος, γιατί μπορεί εύκολα να εισάγει λάθη, τα οποία ο μεταγλωττιστής δεν θα του επισημάνει. Δεν είναι αντικειμενοστρεφής γλώσσα. 8
Ένα απλό πρόγραμμα σε C #include <stdio.h> int main() { printf( TO PROTO PROGRAMMA!\n ); return 0; } Η οδηγία: #include, Με την οδηγία #include <όνομα_αρχείου> ο μεταγλωττιστής καλείται να συμπεριλάβει (include), δηλαδή να ενσωματώσει, τα περιεχόμενα του αρχείου αυτού στον κώδικα του προγράμματός μας. 9
Επεξηγήσεις (1) Το κείμενο των σχολίων περικλείεται στα σύμβολα: /* και */Τα δεδομένα που παρέχουμε στον Η/Υ αλλά και εκείνα που παράγει, επίσης αποθηκεύονται στην RAM. Στις γλώσσες προγραμματισμού, για να διευκολύνεται ο προγραμματιστής, δίνονται ονόματα στις θέσεις μνήμης. Αυτά ονομάζονται μεταβλητές. Τύποι μεταβλητών: char, int, float, double (και void). Απλές πράξεις (+, -, *, /, %). 10
Επεξηγήσεις (2) scanf (Η συνάρτηση scanf() χρησιμοποιείται για την είσοδο δεδομένων από ένα αρχείο εισόδου stdin (standard input stream), το οποίο εξ ορισμού συνδέεται με το πληκτρολόγιο), printf (η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων και κειμένου στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη). 11
Επεξηγήσεις (3) Εντολές (κωδικοί) μορφοποίησης ή προσδιοριστικά μετατροπής: Τα προσδιοριστικά μετατροπής καθορίζουν πως θα εμφανιστούν στην οθόνη τα δεδομένα μιας printf(), και τα συνηθέστερα είναι τα: %c, %d, %f, %lf. Αριθμητικοί τελεστές (+, -, *, /, %, ++, --) Συγκριτικοί τελεστές (>, >=, <, <=, ==,!=) Λογικοί τελεστές (&&,,!). Το type cast είναι η τοπική αλλαγή τύπου σε μεταβλητή. 12
Βιβλιογραφία Συνδουκάς Δημήτρης 2007, Εισαγωγή στη γλώσσα προγραμματισμού C, Εσωτερική έκδοση του ΤΕΙ Χατζηγιαννάκης Ν. Μ., Η Γλώσσα C σε βάθος (4η έκδοση), Εκδόσεις Κλειδάριθμος, 2012, ISBN: 978-960-461-498-1. Τσελίκης Γ. Σ., Τσελίκας Ν. Δ., C: Aπό τη Θεωρία στην Εφαρμογή, Εκδότης: Νικόλαος Τσελίκας, 2012, ISBN: 978-960-93-1961-4. Schildt H., Οδηγός της C (3η έκδοση), Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2000, ISBN: 978-960-512-228-7. Zhang T., Μάθετε τη C σε 24 Ώρες, Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2000, ISBN: 960-512-233-2. Aitken Jones, Πλήρες Εγχειρίδιο της C, Εκδόσεις Χ. Γκιούρδα και ΣΙΑ, 2006, ISBN: 978-960-512-491-5. 13
Τέλος Ενότητας
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 15
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 16