M.Sc. in Informatics Engineering

Hellenic Mediterranean University

Advanced Programming with C

Module Title: Προχωρημένης C

Teaching hours: 39
Credits: 7,5
Semester: 2nd
Instructor:

 

Course Objectives

1.Ο Προεπεξεργαστής της C, μακροεντολές, μεταγλώττιση υπό συνθήκη (Οδηγίες, π.χ. define, ifdef κλπ).

2.Ειδικοί τελεστές και τύποι (τελεστής κόμμα, τελεστές bit).

3.Δείκτες και συναρτήσεις.

  • Εισαγωγικά.
  • Δείκτες και πίνακες πολλών διαστάσεων.
  • Πίνακες δεικτών.
  • Δείκτες σε δείκτες.
  • Δείκτες σε συναρτήσεις.
  • Συναρτήσεις με μεταβλητό αριθμό ορισμάτων.
  • Αναδρομή.

4.Structures.

  • Πίνακες δομών.
  • Δείκτες και δομές.
  • Πεδία συγκεκριμένου εύρους bits.

5.Δυναμική διαχείριση μνήμης.

  • Συναρτήσεις malloc, calloc, realloc και free.
  • Δημιουργία δυναμικών πινάκων.

6.Δομές δεδομένων.

  • Συνδεδεμένες λίστες (απλές, διπλές, κυκλικές κλπ).
  • Δέντρα (δυαδικά, νηματικά, ψηφιακά, trie).
  • Γράφοι (πίνακες και λίστες γειτονικών κορυφών).
  • Κατακερματισμός.

7.Ειδικά θέματα μεταγλώττισης.

  • Παράμετροι γραμμής εντολών.
  • Χειρισμός λαθών.
  • Προγράμματα με πολλά αρχεία.

8.Είσοδος – έξοδος.

  • Ροές στην C.

9.Αρχεία.

  • Αρχεία κειμένου.
  • Δυαδικά αρχεία.
  • Τυχαία προσπέλαση αρχείων.

10.Βιβλιοθήκες της C.

  • string.h, time.h, stdlib.h κλπ.

11.Πολυνηματικός προγραμματισμός

  • Δημιουργία νημάτων.
  • Χρήση νημάτων.
  • Σήματα