Οι σημειώσεις του μαθήματος Εισαγωγή στον Προγραμματισμό (Κ04) του Τμήματος Πληροφορικής και Τηλεπικοινωνιών του ΕΚΠΑ, από τον καθηγητή Παναγιώτη Σταματόπουλο. Ξεκινούν από το τι είναι ένας υπολογιστής και ένα πρόγραμμα και καλύπτουν όλη τη γλώσσα C: δείκτες, δυναμική μνήμη, δομές, λίστες, δέντρα, αρχεία, τον προεπεξεργαστή, και τέλος αλγορίθμους ταξινόμησης και αναζήτησης.
Διαβάστε τις σημειώσεις εδώ, ανά κεφάλαιο, ή κατεβάστε τις ολόκληρες:
Όλες οι σημειώσεις (PDF) Όλες οι σημειώσεις (Markdown) Πηγαίος κώδικας (GitHub)
| # | Κεφάλαιο | Θέματα | |
|---|---|---|---|
| 0 | Εισαγωγή | υπολογιστές, αλγόριθμοι, γλώσσες προγραμματισμού, μεταγλώττιση και σύνδεση, gcc |
|
| 1 | Πρώτα προγράμματα σε C | Hello world, υπολογισμός του π, Ορθόδοξο Πάσχα, μαγικό τετράγωνο, πεζά σε κεφαλαία | |
| 2 | Μεταβλητές, τύποι, τελεστές και παραστάσεις | τύποι, σταθερές, δηλώσεις, τελεστές, προτεραιότητα, ΜΚΔ / ΕΚΠ | |
| 3 | Η ροή του ελέγχου | if, switch, while, for, break / continue, goto |
|
| 4 | Συναρτήσεις, εμβέλεια και αναδρομή | συναρτήσεις, εμβέλεια και χρόνος ζωής, αναδρομή, δεκαδικοί / δυαδικοί | |
| 5 | Δείκτες και πίνακες | διευθύνσεις, δείκτες, ανάγνωση ακεραίων, πίνακες, ιστόγραμμα | |
| 6 | Δυναμική μνήμη, συμβολοσειρές και πολυδιάστατοι πίνακες | malloc / free, συμβολοσειρές, ορίσματα γραμμής εντολών, δείκτες σε συναρτήσεις |
|
| 7 | Απαριθμήσεις, δομές και ενώσεις | enum, struct, αυτο-αναφορικές δομές, typedef, union, πεδία bit |
|
| 8 | Λίστες και δυαδικά δέντρα | συνδεδεμένες λίστες, ταξινομημένα δυαδικά δέντρα | |
| 9 | Είσοδος και έξοδος | printf / scanf, ρεύματα, αρχεία, αντιγραφή αρχείων |
|
| 10 | Ο προεπεξεργαστής της C | #include, #define, μακροεντολές, υπό συνθήκη μεταγλώττιση |
|
| 11 | Ταξινόμηση και αναζήτηση | bubblesort, selection / insertion sort, quicksort, heapsort, σειριακή και δυαδική αναζήτηση | |
| 12 | Καλές πρακτικές, συχνά λάθη και βιβλιογραφία | οδηγίες σωστού προγραμματισμού, συχνά λάθη στην C, βιβλιογραφία |
Οι σημειώσεις γράφτηκαν αρχικά ως διαφάνειες σε LaTeX («Σημειώσεις Εισαγωγής στον
Προγραμματισμό», Αθήνα 2022). Το πρωτότυπο βρίσκεται στον φάκελο
original/. Εδώ το ίδιο υλικό
έχει μεταφερθεί σε Markdown, από το οποίο παράγονται η ιστοσελίδα και τα PDF.
Βρήκατε λάθος; Ανοίξτε ένα issue ή κάντε
ένα pull request στο αντίστοιχο chapters/*/README.md.