ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Επιπλέον στοιχεία της C.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τύποι δεδομένων και τελεστές,
Advertisements

ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 1ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 5 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
ΜΑΘΗΜΑ 7ο Κυκλικές και Διπλά Συνδεδεμένες Λίστες,
Γλώσσα C & Unix Τμήμα Πληροφορικής, ΑΠΘ B’ εξάμηνο
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
Εντολες Επιλογης (Selection)
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων, Σημασιολογικές Ενέργειες.
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
Τελεστές ανάθεσης (assignment)
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
ΤΕΛΕΣΤΕΣ II ΜΑΘΗΜΑ 5.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
1 Ολυμπιάδα Πληροφορικής Μάθημα 2. 2 Στόχοι μαθήματος Αριθμητικοί– Λογικοί Τελεστές Η εντολή IF.
ΘΠ06 - Μεταγλωττιστές Συντακτική Ανάλυση, Bison 1.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αρχεία.
Ταξινόμηση και Αναζήτηση
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη C Ακέραιοι.
ΗΥ150 – Προγραμματισμός Ξ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Δομές Δεδομένων.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Lab 3: Sorted List ΕΠΛ231-Δομές Δεδομένων και Αλγόριθμοι115/4/2015.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης 1 Δείκτες σε συναρτήσεις Δείκτης σε συνάρτηση – Περιέχει τη διεύθυνση του κώδικα της συνάρτησης – Ό π ως ένας.
ΜΑΘ 3122/106 – Γλώσσα Προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
9-1 ΜΑΘΗΜΑ 9 ο Δυαδικά Δένδρα, Διάσχιση Δυαδικών Δένδρων Υλικό από τις σημειώσεις Ν. Παπασπύρου, 2006.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
2/28/00epl-1311 Παραδειγματα Aλγοριθμων Αριθμος λεξεων που διαβαστηκαν απο εισοδο Εκτυπωση περιφερειας τετραγωνων με * Υπολογισμος exp(x,n) = 1 + x/1!
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ -150 Προγραμματισμός Δομές Δεδομένων.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
HY150Ξενοφών Ζαμπούλης HY150 Ε π ι π λέον στοιχεία της C.
7-1 ΜΑΘΗΜΑ 7 ο Περισσότερα για Κυκλικές και Διπλά Διασυνδεόμενες Λίστες, Συναρτήσεις Βιβλιοθήκης, Διαχείριση Αρχείων.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Δυναμική Διαχείριση Μνήμης (1/2)
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Τύ π οι Μεταβλητών Τελεστές Βασική Είσοδος / Έξοδος.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις (μέρος δεύτερο) και Μεταβλητές.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
1 ο Εργαστήριο: Κατασκευή Εφαρμογών Client-Server echoserver και echoclient – Κώδικας εφαρμογών σε C Μπαλόμπας Παναγιώτης 8ο ΕΠΑΛ Θεσσαλονίκης 1 /* Αρχείο.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΔΟΜΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ C 1.Σχόλια 2.Οδηγίες προεπεξεργαστή 3.Ορισμοί τύπων 4.Δηλώσεις συναρτήσεων (πρωτότυπα) 5.Ορισμός της main 6.Ορισμοί συναρτήσεων.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Προτάσεις, εκφράσεις, τελεστές Βασικά στοιχεία ελέγχου προγράμματος
Δεδομένα, μεταβλητές, υπολογισμοί
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Δείκτες Προγραμματισμός Ι
Δομές.
Προγραμματισμός Ι Εισαγωγικά θέματα.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Προγραμματισμός ΗΥ Ενότητα 11: Header Files. Διδάσκων: Ηλίας Κ Σάββας,
Τύποι Μεταβλητών.
Τεχνολογία και Προγραμματισμός Υπολογιστών
Τεχνολογία και Προγραμματισμός Υπολογιστών
Ενότητα 9: Δείκτες και Δυναμική Διαχείριση Μνήμης.
Η ΑΡΙΘΜΙΤΙΚΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Πρωτογενείς τύποι δεδομένων
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
מבני נתונים ויעילות אלגוריתמים
Αρχές Προγραμματισμού (C)
Τύποι δεδομένων και τελεστές,
Είσοδος/έξοδος χαμηλού επιπέδου
Μεταγράφημα παρουσίασης:

ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Επιπλέον στοιχεία της C

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 2 Πρόγραμμα σε Διαφορετικά Αρχεία Οργανώνουμε καλύτερα τον κώδικα Χρήσιμα σε μεγάλα προγράμματα – Παράδειγμα (human tracking) linker header files – #include “myheader.h” extern – extern void myfunction();

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 3 header files – Παράδειγμα - “myAlloc.h” #include #define Pi //Orismos Domwn typedef struct Level { int level; struct List *head; struct List *tail; struct Level *next; } Level; typedef struct List { float **image; int l,c; struct List *next; } List; //Orismos global metablhtwn int globalVariable; //prototypes sunarthsewn void **Alloc2D(int dimx, int dimx_bytes, int dimy, int dimy_bytes); int **FreeInt(int **I, int dimx); Level *AllocTree(int depth, int l, int c); Level *FreeTree(Level *root);

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 4 Ορίσματα στη γραμμή εντολής int main(int argc, char *argv[]) { int number; if (argc != 2) { printf(“Usage:%s number\n”,argv[0]); exit(0); } number = atoi(argv[1]); … } int main(int argc, char *argv[]) argc: # Ορισμάτων argv: Ορίσματα Παράδειγμα > a.out test.txt //argc = 4 //argv[0] = “a.out” //argv[1] = “10” //argv[2] = “20” //argv[3] = “test.txt”

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 5 Χειρισμός Bits (1101) 2 = 1 x x x x 2 0 = (13) 10 (A3F) 16 = 10 x x x 16 0 = (2623) 10

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 6 Χειρισμός Bits Οι τελεστές των bits εφαρμόζονται σε κάθε bit των ακεραίων τιμών και είναι: ~ (ΣΥΜΠΛΗΡΩΜΑ) ~1 = 0 ~0 = 1 – ~( ) = ( ) & (AND) 0 & 1 = 0 1 & 1 = 1 – ( ) & ( ) = ( ) | (OR) 0 | 1 = 1 0 | 0 = 0 – ( ) | ( ) = ( ) ^ (XOR) 1 ^ 1 = 0 1 ^ 0 = 1 – ( ) ^ ( ) = ( )

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 7 Χειρισμός Bits Τελεστές ολίσθησης > – x << y ολισθαίνει το αριστερά κατά y θέσεις bit Τα νέα bits είναι 0 ( ) << 2 = ( ) int a = 1; int b; b = a << 2; /* assigns 4 to b */ a <<= 2; /* changes a to 4 */

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 8 Χειρισμός Bits Τελεστές ολίσθησης > – x >> y ολισθαίνει το δεξιά κατά y θέσεις bit Αν το x είναι unsigned, τα νέα bits είναι 0 Αλλιώς, τα νέα bits διατηρούν το πρόσημο (ανάλογα με την αρχιτεκτονική της μηχανής) ( ) >> 2 = ( ) (unsigned) ( ) >> 2 = ( ) (signed – sign extension)

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 9 Χειρισμός Bits - Παραδείγματα Πόσα bits του x είναι 1; int getBitsEqualToOne(int x) { int n; for (n = 0; x != 0; ++n) x &= x-1; return n; }

ΗΥ150 – Προγραμματισμός Κώστας Παναγιωτάκης 10 Χειρισμός Bits - Παραδείγματα Μετατροπή σε “δυαδικό” string του ακεραίου n, και εκτύπωση του. void printBinary(int n) { int i; int size = 8 * sizeof(int); char *ps = (char *)malloc(size+1); for (i = size - 1; i >= 0; i--, n >>= 1) ps[i] = (01 & n) + '0'; ps[size] = '\0'; printf(“%s\n”,ps); free(ps); }