Περιεχόμενο μαθήματος
Γενικά περί προγραμματισμού Η/Υ, εργαλεία ανάλυσης (φυσική γλώσσα, διάγραμμα ροής, ψευδοκώδικας), μεταγλωττιστής, συνδέτης, διαδικασίας αποσφαλμάτωσης και εκτέλεσης προγραμμάτων.
Δομή προγράμματος, αρχεία κεφαλίδας, συνάρτηση main, λέξεις κλειδιά, δεσμευμένες λέξεις, αναγνωριστές, κανόνες δημιουργίας ευανάγνωστου προγράμματος.
Μεταβλητές: δήλωση, ονοματοδοσία, τύποι και χρήση μεταβλητών.
Μορφοποιημένες εντολές ανάγνωσης και εγγραφής.
Ι/Ο κονσόλας, συναρτήσεις getchar, getch, getche, putchar.
Πίνακες: δήλωση, απόδοση αρχικών τιμών, εγγραφή κι ανάγνωση πινάκων, αποθήκευση στη μνήμη, πολυδιάστατοι πίνακες.
Συμβολοσειρές: δήλωση, απόδοση αρχικών τιμών, εγγραφή κι ανάγνωση συμβολοσειρών, αποθήκευση στη μνήμη.
Συναρτήσεις συμβολοσειρών, αλφαριθμητικές σταθερές.
Τελεστές – εκφράσεις: ορισμός, σύμβολα, σημειολογίες τελεστών, ένθετες εκφράσεις, προτεραιότητα – προσεταιριστικότητα τελεστών.
Τελεστές αύξησης – μείωσης, τελεστές ανάθεσης, συσχετιστικοί – αριθμητικοί τελεστές, λογικοί τελεστές.τελεστής μετατροπής, τελεστής sizeof, υποθετικός τελεστής.
Προτάσεις ελέγχου ροής, υπό συνθήκη διακλάδωση με if-else και switch.
Προτάσεις επανάληψης, βρόχοι με συνθήκες εισόδου – εξόδου, οδηγούμενοι από γεγονός – μετρητή, βρόχοι for, βρόχοι while, do while.
Μετατροπή βρόχων, διακοπτόμενοι βρόχοι – break, ένθετοι βρόχοι, ρητή διακλάδωση – goto, ο τελεστής κόμμα, κανόνες χρήσης προτάσεων ροής ελέγχου.
Ένθετες δομές, πίνακες δομών, απαριθμητοί τύποι δεδομένων (enumerated).
Εφαρμογή σε πραγματικά προβλήματα.
Μαθησιακοί στόχοι
Το μάθημα αποσκοπεί στο να παράσχει στο φοιτητή τις βασικές γνώσεις προγραμματισμού. Το ενδιαφέρον εστιάζεται στον καλούμενο διαδικαστικό προγραμματισμό, βασικά στοιχεία του οποίου είναι η δόμηση του προγράμματος και η επαναλαμβανόμενη χρήση υποπρογραμμάτων, τα οποία είτε επιτελούν εργασίες γενικής φύσης είτε απευθύνονται σε ένα τμήμα του συνολικού προβλήματος. Στόχος είναι η κατανόηση των αρχών του προγραμματισμού και η εμπέδωση της φιλοσοφίας του, χρησιμοποιώντας ως μέσο τη γλώσσα προγραμματισμού υψηλού επιπέδου C.
Βιβλιογραφία
- H. Deitel, P. Deitel, C Προγραμματισμός, Εκδόσεις Γκιούρδα, 2010.
- Π. Μαστοροκώστας, Διαδικαστικός Προγραμματισμός, Τ.Ε.Ι. Σερρών, 2006.
- E. Ούτσιος, Δομημένος Προγραμματισμός: Σημειώσεις Εργαστηρίου, Τ.Ε.Ι. Σερρών, 2003.
- Ν. Χατζηγιαννάκης, Η Γλώσσα C σε Βάθος, 3η Έκδοση, Εκδόσεις Κλειδάριθμος, 2009.
Προαπαιτούμενα
Όχι