ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10

Dimitris Psounis
Dimitris PsounisTeacher & Manager at Δημήτρης Ψούνης - Υπηρεσίες Εκπαίδευσης
H ΓΛΩΣΣΑ C
Μάθηµα 10:
Χαρακτήρες και Συµβολοσειρές
∆ηµήτρης Ψούνης
Περιεχόµενα Μαθήµατος
Α. Χαρακτήρες
1. Ο τύπος δεδοµένων char
2. O πίνακας ASCII
3. Χρήση Μεταβλητών τύπου char
Β. Συµβολοσειρές
1. Τι είναι η συµβολοσειρά
2. ∆ιάβασµα και Εκτύπωση Συµβολοσειράς
3. Οι συναρτήσεις gets και puts
4. Η βιβλιοθήκη string.h
Γ. Ασκήσεις
2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Α. Χαρακτήρες
1. Ο τύπος δεδοµένων char
Στην C ο τύπος δεδοµένων char χρησιµοποιείται για να αποθηκεύσουµε χαρακτήρες.
Στην πραγµατικότητα όµως δεν αποθηκεύονται χαρακτήρες! Όλα τα δεδοµένα αποθηκεύονται
σε αριθµητική µορφή!
Έτσι και οι χαρακτήρες είναι ακέραιοι αριθµοί από το 0 εώς το 255.
Και χρησιµοποιείται ένας µεταφραστικός πίνακας, ο λεγόµενος πίνακας των ASCII
κωδικών, που κάνει την αντιστοίχιση σε κάθε αριθµό µε τον αντίστοιχο χαρακτήρα
Όποτε ο µεταγλωττιστής θέλει να διαχειριστεί έναν χαρακτήρα, συσχετίζει τον χαρακτήρα
µε τον αριθµό που αντιστοιχεί σε αυτόν, σύµφωνα µε τον πίνακα ASCII.
Άρα θα πρέπει να ξέρουµε ότι:
Αν µια µεταβλητή char χρησιµοποιηθεί ως χαρακτήρας, ερµηνεύεται ως χαρακτήρας
Αν µια µεταβλητή char χρησιµοποιηθεί ως αριθµός, ερµηνεύεται ως αριθµός
3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
A. Χαρακτήρες
2. Ο πίνακας ASCII
4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Στο συνηµµένο αρχείο µπορείτε να βρείτε τον πίνακα χαρακτήρων ASCII. Το ενδιαφέρον µας θα
εστιαστεί στη στήλη που έχει τους χαρακτήρες και τον αντίστοιχο αύξοντα αριθµό του
χαρακτήρα.
A. Χαρακτήρες
3. Χρήση Μεταβλητών τύπου char
5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
∆ηλώνουµε έναν χαρακτήρα µε την συνήθη εντολή δήλωσης:
Για να αναθέσουµε στο χαρακτήρα ch την τιµή π.χ. του χαρακτήρα a µπορούµε να το
κάνουµε µε δύο τρόπους:
Είτε µέσω του αντίστοιχου ASCII κωδικού:
Είτε µέσω συµβολικής απεικόνισης:
Προσοχή! Όταν θέλουµε να απεικονίσουµε έναν χαρακτήρα, θα πρέπει
υποχρεωτικά να τον γράψουµε µέσα σε µονά εισαγωγικά!
Επίσης ο προσδιοριστής µετατροπής της printf για τον τύπο δεδοµένων χαρακτήρα είναι %c.
Έτσι θα µπορούσαµε να τυπώσουµε τον χαρακτήρα µε την εντολή:
char ch;
ch=97;
ch='a';
printf("%c",ch);
A. Χαρακτήρες
3. Χρήση Μεταβλητών τύπου char
6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Τρέξτε το ακόλουθο πρόγραµµα που δείχνει πως απεικονίζεται οι χαρακτήρες σε ένα
πρόγραµµα C
/* char.c */
#include <stdio.h>
main()
{
char c;
for (c=80; c<=100; c++)
{
printf("nO xaraktiras %d einai %c",c,c);
}
}
Σηµειώστε ότι για να εκτυπωθούν οι ASCII 128-255 πρέπει να δηλώσουµε την µεταβλητή c σαν
unsigned char.
Β. Συµβολοσειρές
1. Τι είναι η συµβολοσειρά
7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Σε πολλές περιπτώσεις για να προβάλλουµε κείµενο θέλουµε να απεικονίσουµε πολλούς
χαρακτήρες σε σειρά. Αυτή είναι η έννοια της συµβολοσειράς, δηλαδή είναι µια σειρά από
χαρακτήρες.
Στην C αυτό γίνεται δηλώνοντας απλά έναν πίνακα από χαρακτήρες. Έτσι η εντολή δήλωσης:
∆ηλώνει έναν πίνακα από 20 χαρακτήρες, άρα µια συµβολοσειρά το πολύ 19 χαρακτήρων.
ΠΡΟΣΟΧΗ! Είναι το πολύ 19 χαρακτήρων (και όχι 20) διότι πάντα σε µια συµβολοσειρά
απεικονίζεται το τέλος της συµβολοσειράς µε τον ειδικό χαρακτήρα 0 (slash µηδέν).
Για παράδειγµα η συµβολοσειρά «hello» αποθηκεύεται στην µνήµη ως εξής:
char str[20];
str[0] str[1] str[2] str[3]
…
str[4] str[5]
h e l l o 0
str[20]
Β. Συµβολοσειρές
1. Τι είναι η συµβολοσειρά
8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Η αρχικοποίηση µιας συµβολοσειράς µπορεί να γίνει κατά την δήλωση µε τρεις τρόπους:
Με τον γνωστό τρόπο αρχικοποίησης διάταξης:
Επίσης µε έναν συντοµογραφικό τρόπο, χρησιµοποιώντας τα διπλά εισαγωγικά
Και µε έναν ακόµη τρόπο που δεσµεύει τον απαραίτητο χώρο (στο παράδειγµα 3 θέσεις
µνήµης:
Προσοχή όµως ότι αν δηλώσουµε και αρχικοποιήσουµε την συµβολοσειρά µέσω
δείκτη, τότε δεν µπορούµε να τροποποιήσουµε το περιεχόµενό της (συµπεριφέρεται
σαν σταθερά)
char pin[3]={'a','b','0'};
char pin[3]="ab";
char *pin="ab"; ή char pin[]="ab";
Β. Συµβολοσειρές
2. ∆ιάβασµα και Εκτύπωση µίας Συµβολοσειράς
9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Για την εκτύπωση (µε την printf) και την ανάγνωση (µε την scanf) µιας συµβολοσειράς
χρησιµοποιείται ο προσδιοριστής %s.
Ωστόσο πρέπει να είµαστε προσεκτικοί!
Μία συµβολοσειρά είναι ένας πίνακας χαρακτήρων, άρα αφού είναι πίνακας, το όνοµα της
συµβολοσειράς είναι δείκτης στην αρχή της διάταξης.
Έτσι στην εντολή scanf δεν πρέπει να βάλουµε το & στο όνοµα της µεταβλητής.
Για παράδειγµα αν έχουµε δηλώσει µία συµβολοσειρά:
Τότε η εκτύπωσή της θα γίνεται µε την εντολή:
Ενώ το διάβασµα της συµβολοσειράς θα γίνεται µε την εντολή:
char string[100];
printf("%s",string);
scanf("%s",string);
Β. Συµβολοσειρές
2. ∆ιάβασµα και Εκτύπωση µίας Συµβολοσειράς
10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Τρέξτε το ακόλουθο πρόγραµµα και εισάγετε στην είσοδο πρώτα την συµβολοσειρά
«teststring» και έπειτα την συµβολοσειρά «test string» (πρώτα χωρίς κενό και µετά µε κενό) και
δείτε το αποτέλεσµα.
/* string.c: Deixnei tin xrisi tis scanf kai tis printf me
simvoloseires */
#include <stdio.h>
main()
{
char string[80];
printf("Dwste mia simboloseira: ");
scanf("%s",string);
printf("Pliktrologisate tin simvoloseira: %s",string);
}
Β. Συµβολοσειρές
3. Οι συναρτήσεις gets και puts
11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Όταν εισάγουµε µία συµβολοσειρά µε scanf, διαβάζεται και αποθηκεύεται µέχρι τον χαρακτήρα
αλλαγής γραµµής που εισάγουµε ή µέχρι το πρώτο κενό που εισάγουµε.
Προκειµένου να αποθηκεύονται και τα κενά που τυχόν γράφει ο χρήστης, χρησιµοποιούµε την
συνάρτηση gets που έχει πρωτότυπο:
Η συνάρτηση αυτή αποθηκεύει στη συµβολοσειρά string όλην την συµβολοσειρά που
διαβάζεται από τον χρήστη, µε τα κενά να συµπεριλαµβάνονται. Είναι ορισµένη στην
βιβλιοθήκη:
Στην ίδια βιβλιοθήκη ορίζεται η συνάρτηση puts που τυπώνει στην οθόνη την συµβολοσειρά
που δέχεται ως όρισµα ακολουθούµενη από ένα ‘n’:
Που επίσης έχει οριστεί στη βιβλιοθήκη
char *gets(char *string)
int puts(char *string)
stdio.h
stdio.h
Β. Συµβολοσειρές
4. Η βιβλιοθήκη string.h
12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Είδαµε µία πρώτη εισαγωγή στις συµβολοσειρές.
Επειδή η διαχείριση συµβολοσειρών είναι µια συνηθισµένη διαδικασία στην C, έχει οριστεί µία
βιβλιοθήκη, η:
η οποία ορίζει συναρτήσεις που κάνουν πιο εύκολη την επεξεργασία συµβολοσειρών.
Εκεί ορίζονται συναρτήσεις όπως η συνάρτηση:
Η οποία αντιγράφει την συµβολοσειρά src στην συµβολοσειρά dest.
Και η συνάρτηση:
Που επιστρέφει το πλήθος των χαρακτήρων της συµβολοσειρας string.
Θα δούµε αναλυτικά την βιβλιοθήκη αυτή σε επόµενο µάθηµα
string.h
int strlen(char *string)
void strcpy(char *dest, char *src)
Γ. Ασκήσεις
1. Μήκος Συµβολοσειράς
13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Το πλήθος των συµβόλων µιας συµβολοσειράς (εκτός του ειδικού χαρακτήρα 0) αναφέρεται
σαν το µήκος της συµβολοσειράς.
Κατασκευάστε µία συνάρτηση µε πρωτότυπο int mystrlen(char *s) που δέχεται ως όρισµα µία
συµβολοσειρά και επιστρέφει το µήκος της.
Γράψτε ένα πρόγραµµα C, το οποίο θα διαβάζει από την είσοδο µια συµβολοσειρά µε χρήση
της gets και έπειτα θα υπολογίζει και θα τυπώνει το µήκος της συµβολοσειράς
Η συνάρτηση int strlen(char *s) που έχει οριστεί στο string.h εκτελεί ακριβώς την ενέργεια που
περιγράφεται παραπάνω.
Γ. Ασκήσεις
2. Αντιγραφή Συµβολοσειρών
14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Κατασκευάστε µία συνάρτηση µε πρωτότυπο char *mystrcpy(char *dest, char *src) που δέχεται
ως ορίσµατα δύο συµβολοσειρές και αντιγράφει τη συµβολοσειρά src στην συµβολοσειρά dest.
Η συνάρτηση να επιστρέφει έναν δείκτη στην συµβολοσειρά dest.
Γράψτε ένα πρόγραµµα C, το οποίο θα διαβάζει από την είσοδο δύο συµβολοσειρές µε χρήση
της gets και έπειτα θα δίνει µία επιλογή στο χρήστη για να αντιγράψει όποια από τις δύο
συµβολοσειρές επιθυµεί σε µία τρίτη συµβολοσειρά. Τελικά να τυπώνει και τις τρεις
συµβολοσειρές στην οθόνη.
Η συνάρτηση char *strcpy(char *dest, char *src) που έχει οριστεί στο string.h εκτελεί ακριβώς
την ενέργεια που περιγράφεται παραπάνω.
Γ. Ασκήσεις
3. Μετατροπή σε Κεφαλαία
15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Γράψτε ένα πρόγραµµα που να διαβάζει µια συµβολοσειρά από τον χρήστη και να µετατρέπει
κάθε µικρό γράµµα στο αντίστοιχο κεφαλαίο και να τυπώνει το αποτέλεσµα στην οθόνη
Υποδείξεις:
∆ηλώστε µία αρκετά µεγάλη συµβολοσειρά (π.χ. 150 χαρακτήρων)
Παρατηρήστε από τον πίνακα χαρακτήρων ASCII ότι κάθε µικρός χαρακτήρας διαφέρει
από τον αντίστοιχο κεφαλαίο κατά 32 ακριβώς θέσεις.
Σκεφθείτε ότι θα αλλάζουν µόνο οι χαρακτήρες που είναι µικροί. Συνεπώς συµβουλευθείτε
τον πίνακα ASCII για να δείτε ποιοι χαρακτήρές είναι οι µικροί.
Αποφασίστε αν θα χρησιµοποιήσετε την gets ή την scanf και για ποιο λόγο.
Γ. Ασκήσεις
4. Μορφοποίηση Εξόδου
16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
∆είτε ότι στο 2ο πακέτο χαρακτήρων του πίνακα ASCII (128-255) υπάρχουν κάποιοι χαρακτήρες
που µε διπλή γραµµή µπορούν να απεικονίσουν ένα πλαίσιο.
Χρησιµοποιήστε τους χαρακτήρες αυτούς για να εκτυπώσετε το µήνυµα (µαζί µε το πλάισιο):
Hello World!Hello World!
Γ. Ασκήσεις
5. Σύγκριση συµβολοσειρών
17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
Κατασκευάστε πρόγραµµα C το οποίο:
Να διαβάζει δύο λέξεις µε µικρούς λατινικούς χαρακτήρες (να πραγµατοποιηθεί έλεγχος ότι
ο χρήστης πληκτρολόγησε µικρους λατινικούς χαρακτήρες)
Να πραγµατοποιεί αλφαβητική σύγκριση των συµβολοσειρών και να τυπώνει κατάλληλο
µήνυµα.
Παράδειγµα επιθυµητής εκτέλεσης:
Dwse tin 1i simvoloseira: test
Dwse tin 2i simvoloseira: abba
=====
Isxyei: abba < test
Παρόµοια ενέργεια επιτελεί η συνάρτηση int strcmp(char *s1, char *s2) της βιβλιοθήκης string.h
την οποία θα µελετήσουµε σε επόµενο µάθηµα
1 of 17

Recommended

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12 by
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Dimitris Psounis
5.5K views24 slides
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ by
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣDimitris Psounis
7.7K views35 slides
Η Γλώσσα C - Μάθημα 1 by
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Dimitris Psounis
15.1K views23 slides
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ by
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝDimitris Psounis
4.2K views25 slides
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ by
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣDimitris Psounis
9.7K views34 slides
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ) by
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
8.3K views34 slides

More Related Content

What's hot

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ by
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣDimitris Psounis
17.5K views26 slides
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ by
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑDimitris Psounis
3.5K views12 slides
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 by
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 Dimitris Psounis
5.2K views27 slides
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ) by
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
2.6K views15 slides
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ by
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣDimitris Psounis
15.3K views34 slides
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ by
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥDimitris Psounis
4K views30 slides

What's hot(20)

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ by Dimitris Psounis
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Dimitris Psounis17.5K views
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ by Dimitris Psounis
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
Dimitris Psounis3.5K views
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 by Dimitris Psounis
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
Dimitris Psounis5.2K views
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.6K views
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ by Dimitris Psounis
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Dimitris Psounis15.3K views
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ by Dimitris Psounis
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ
Dimitris Psounis4K views
Η Γλώσσα C - Μάθημα 2 by Dimitris Psounis
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2
Dimitris Psounis8.8K views
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ by Dimitris Psounis
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
Dimitris Psounis3K views
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 by Dimitris Psounis
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
Dimitris Psounis3.4K views
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3 by Dimitris Psounis
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
Dimitris Psounis5.7K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
Dimitris Psounis3.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
Dimitris Psounis6.8K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
Dimitris Psounis4.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
Dimitris Psounis5.8K views
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ by Dimitris Psounis
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
Dimitris Psounis4.3K views
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση) by Dimitris Psounis
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 2 (Εκτύπωση)
Dimitris Psounis6.9K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
Dimitris Psounis3.9K views

More from Dimitris Psounis

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣDimitris Psounis
4.9K views25 slides
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ) by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Dimitris Psounis
641 views7 slides
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ) by
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)Dimitris Psounis
475 views8 slides
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ by
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣDimitris Psounis
1.4K views29 slides
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣDimitris Psounis
5.9K views30 slides
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ) by
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Dimitris Psounis
3.8K views8 slides

More from Dimitris Psounis(20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Dimitris Psounis4.9K views
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ) by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Dimitris Psounis641 views
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ) by Dimitris Psounis
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
Dimitris Psounis475 views
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ by Dimitris Psounis
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
Dimitris Psounis1.4K views
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Dimitris Psounis5.9K views
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ) by Dimitris Psounis
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Dimitris Psounis3.8K views
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C by Dimitris Psounis
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
Dimitris Psounis2.3K views
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p) by Dimitris Psounis
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
Dimitris Psounis331 views
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6 by Dimitris Psounis
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
Dimitris Psounis2.9K views
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5 by Dimitris Psounis
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
Dimitris Psounis899 views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.5K views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
Dimitris Psounis2.5K views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis4.6K views
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 by Dimitris Psounis
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis4.5K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
Dimitris Psounis3.2K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.1K views
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ) by Dimitris Psounis
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis2.8K views

Recently uploaded

1ος Περίπατος Γυμνασίου Κεραμωτής 2023 στον Αλιευτικό Συνεταιρισμό - 09.11.23 by
1ος Περίπατος Γυμνασίου Κεραμωτής 2023 στον Αλιευτικό Συνεταιρισμό - 09.11.23 1ος Περίπατος Γυμνασίου Κεραμωτής 2023 στον Αλιευτικό Συνεταιρισμό - 09.11.23
1ος Περίπατος Γυμνασίου Κεραμωτής 2023 στον Αλιευτικό Συνεταιρισμό - 09.11.23 gymkeram
11 views23 slides
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx by
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptxΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptxssuser86b52c
13 views18 slides
ΕΞΕ - 136784 - 2023 - Υποβολή δικαιολογητικών για προφορική ή γραπτή εξέταση ... by
ΕΞΕ - 136784 - 2023 - Υποβολή δικαιολογητικών για προφορική ή γραπτή εξέταση ...ΕΞΕ - 136784 - 2023 - Υποβολή δικαιολογητικών για προφορική ή γραπτή εξέταση ...
ΕΞΕ - 136784 - 2023 - Υποβολή δικαιολογητικών για προφορική ή γραπτή εξέταση ...2lykkomo
850 views7 slides
2023_11_29_Φ_251_136784_Α5_ΥΠΟΒΟΛΗ_ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ_ΥΠΟΨΗΦΙΩΝ_ΜΕ_ΕΙΔΙΚΕΣ_ΕΚΠΑΙ... by
2023_11_29_Φ_251_136784_Α5_ΥΠΟΒΟΛΗ_ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ_ΥΠΟΨΗΦΙΩΝ_ΜΕ_ΕΙΔΙΚΕΣ_ΕΚΠΑΙ...2023_11_29_Φ_251_136784_Α5_ΥΠΟΒΟΛΗ_ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ_ΥΠΟΨΗΦΙΩΝ_ΜΕ_ΕΙΔΙΚΕΣ_ΕΚΠΑΙ...
2023_11_29_Φ_251_136784_Α5_ΥΠΟΒΟΛΗ_ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ_ΥΠΟΨΗΦΙΩΝ_ΜΕ_ΕΙΔΙΚΕΣ_ΕΚΠΑΙ...ssuser9e6212
518 views7 slides
Ο ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ.pptx by
Ο ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ.pptxΟ ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ.pptx
Ο ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ.pptxssuser86b52c
11 views20 slides
Θ.Ε. 3. Η Δημιουργία του κόσμου by
Θ.Ε. 3. Η Δημιουργία του κόσμουΘ.Ε. 3. Η Δημιουργία του κόσμου
Θ.Ε. 3. Η Δημιουργία του κόσμουRoy Akanthopoulou
70 views4 slides

Recently uploaded(20)

1ος Περίπατος Γυμνασίου Κεραμωτής 2023 στον Αλιευτικό Συνεταιρισμό - 09.11.23 by gymkeram
1ος Περίπατος Γυμνασίου Κεραμωτής 2023 στον Αλιευτικό Συνεταιρισμό - 09.11.23 1ος Περίπατος Γυμνασίου Κεραμωτής 2023 στον Αλιευτικό Συνεταιρισμό - 09.11.23
1ος Περίπατος Γυμνασίου Κεραμωτής 2023 στον Αλιευτικό Συνεταιρισμό - 09.11.23
gymkeram11 views
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx by ssuser86b52c
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptxΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx
ΧΡΙΣΤΟΥΓΕΝΝΑ 2 (1).pptx
ssuser86b52c13 views
ΕΞΕ - 136784 - 2023 - Υποβολή δικαιολογητικών για προφορική ή γραπτή εξέταση ... by 2lykkomo
ΕΞΕ - 136784 - 2023 - Υποβολή δικαιολογητικών για προφορική ή γραπτή εξέταση ...ΕΞΕ - 136784 - 2023 - Υποβολή δικαιολογητικών για προφορική ή γραπτή εξέταση ...
ΕΞΕ - 136784 - 2023 - Υποβολή δικαιολογητικών για προφορική ή γραπτή εξέταση ...
2lykkomo850 views
2023_11_29_Φ_251_136784_Α5_ΥΠΟΒΟΛΗ_ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ_ΥΠΟΨΗΦΙΩΝ_ΜΕ_ΕΙΔΙΚΕΣ_ΕΚΠΑΙ... by ssuser9e6212
2023_11_29_Φ_251_136784_Α5_ΥΠΟΒΟΛΗ_ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ_ΥΠΟΨΗΦΙΩΝ_ΜΕ_ΕΙΔΙΚΕΣ_ΕΚΠΑΙ...2023_11_29_Φ_251_136784_Α5_ΥΠΟΒΟΛΗ_ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ_ΥΠΟΨΗΦΙΩΝ_ΜΕ_ΕΙΔΙΚΕΣ_ΕΚΠΑΙ...
2023_11_29_Φ_251_136784_Α5_ΥΠΟΒΟΛΗ_ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ_ΥΠΟΨΗΦΙΩΝ_ΜΕ_ΕΙΔΙΚΕΣ_ΕΚΠΑΙ...
ssuser9e6212518 views
Ο ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ.pptx by ssuser86b52c
Ο ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ.pptxΟ ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ.pptx
Ο ΑΪ ΒΑΣΙΛΗΣ ΣΤΙΣ ΔΙΑΦΟΡΕΣ ΧΩΡΕΣ.pptx
ssuser86b52c11 views
Θ.Ε. 3. Η Δημιουργία του κόσμου by Roy Akanthopoulou
Θ.Ε. 3. Η Δημιουργία του κόσμουΘ.Ε. 3. Η Δημιουργία του κόσμου
Θ.Ε. 3. Η Δημιουργία του κόσμου
Politexneio_2023.pptx by 36dimperist
Politexneio_2023.pptxPolitexneio_2023.pptx
Politexneio_2023.pptx
36dimperist40 views
ΕΘΙΜΑ ΧΡΙΣΤΟΥΓΕΝΝΩΝ 1.pptx by ssuser86b52c
ΕΘΙΜΑ    ΧΡΙΣΤΟΥΓΕΝΝΩΝ 1.pptxΕΘΙΜΑ    ΧΡΙΣΤΟΥΓΕΝΝΩΝ 1.pptx
ΕΘΙΜΑ ΧΡΙΣΤΟΥΓΕΝΝΩΝ 1.pptx
ssuser86b52c15 views
ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΑΤΤΙΚΗΣ. by ssuser43d27b
ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΑΤΤΙΚΗΣ.ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΑΤΤΙΚΗΣ.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΑΤΤΙΚΗΣ.
ssuser43d27b11 views
ΠΡΟΓΡΑΜΜΑ_ΤΕΛΙΚΟ_01.12.2023.pdf by 2lykkomo
ΠΡΟΓΡΑΜΜΑ_ΤΕΛΙΚΟ_01.12.2023.pdfΠΡΟΓΡΑΜΜΑ_ΤΕΛΙΚΟ_01.12.2023.pdf
ΠΡΟΓΡΑΜΜΑ_ΤΕΛΙΚΟ_01.12.2023.pdf
2lykkomo1.3K views
ΕΞΕ - 136798 - 2023 - Αίτηση Δήλωση ΓΕΛ 2024 - Έκδοση 1.pdf by 2lykkomo
ΕΞΕ - 136798 - 2023 - Αίτηση Δήλωση ΓΕΛ 2024 - Έκδοση 1.pdfΕΞΕ - 136798 - 2023 - Αίτηση Δήλωση ΓΕΛ 2024 - Έκδοση 1.pdf
ΕΞΕ - 136798 - 2023 - Αίτηση Δήλωση ΓΕΛ 2024 - Έκδοση 1.pdf
2lykkomo1.5K views
ΧΡΙΣΤΟΥΓΕΝΝΑ ΣΕ ΟΛΟΝ ΤΟΝ ΚΟΣΜΟ.pptx by ssuser86b52c
ΧΡΙΣΤΟΥΓΕΝΝΑ ΣΕ ΟΛΟΝ ΤΟΝ ΚΟΣΜΟ.pptxΧΡΙΣΤΟΥΓΕΝΝΑ ΣΕ ΟΛΟΝ ΤΟΝ ΚΟΣΜΟ.pptx
ΧΡΙΣΤΟΥΓΕΝΝΑ ΣΕ ΟΛΟΝ ΤΟΝ ΚΟΣΜΟ.pptx
ssuser86b52c23 views
Επιστολή με θέμα τους πρόσφυγες by Dimitra Mylonaki
Επιστολή με θέμα τους πρόσφυγεςΕπιστολή με θέμα τους πρόσφυγες
Επιστολή με θέμα τους πρόσφυγες
Dimitra Mylonaki114 views
ΣΤ2 ΕΛΛΗΝΙΚΑ ΧΩΡΙΑ ΧΡΥΣΑ ΚΟΚΟΡΙΚΟΥ.pdf by Chrisa Kokorikou
ΣΤ2 ΕΛΛΗΝΙΚΑ ΧΩΡΙΑ ΧΡΥΣΑ ΚΟΚΟΡΙΚΟΥ.pdfΣΤ2 ΕΛΛΗΝΙΚΑ ΧΩΡΙΑ ΧΡΥΣΑ ΚΟΚΟΡΙΚΟΥ.pdf
ΣΤ2 ΕΛΛΗΝΙΚΑ ΧΩΡΙΑ ΧΡΥΣΑ ΚΟΚΟΡΙΚΟΥ.pdf
Chrisa Kokorikou42 views
ΠΕΡΙΚΛΕΟΥΣ ΕΠΙΤΑΦΙΟΣ, ΚΕΦ 39 by ssuser43d27b
ΠΕΡΙΚΛΕΟΥΣ ΕΠΙΤΑΦΙΟΣ, ΚΕΦ 39ΠΕΡΙΚΛΕΟΥΣ ΕΠΙΤΑΦΙΟΣ, ΚΕΦ 39
ΠΕΡΙΚΛΕΟΥΣ ΕΠΙΤΑΦΙΟΣ, ΚΕΦ 39
ssuser43d27b17 views
Γυμνάσιο Κεραμωτής - Διδακτική επίσκεψη στο Ρούπελ 31.10.2023 by gymkeram
Γυμνάσιο Κεραμωτής - Διδακτική επίσκεψη στο Ρούπελ 31.10.2023Γυμνάσιο Κεραμωτής - Διδακτική επίσκεψη στο Ρούπελ 31.10.2023
Γυμνάσιο Κεραμωτής - Διδακτική επίσκεψη στο Ρούπελ 31.10.2023
gymkeram14 views
Μύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptx by gymkeram
Μύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptxΜύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptx
Μύρισε Χριστούγεννα στο Γυμνάσιο Κεραμωτής.pptx
gymkeram48 views
Από τον μαγνητισμό στον ηλεκτρισμό by Dimitra Mylonaki
Από τον μαγνητισμό στον ηλεκτρισμόΑπό τον μαγνητισμό στον ηλεκτρισμό
Από τον μαγνητισμό στον ηλεκτρισμό
Dimitra Mylonaki10 views

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 10

  • 1. H ΓΛΩΣΣΑ C Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές ∆ηµήτρης Ψούνης
  • 2. Περιεχόµενα Μαθήµατος Α. Χαρακτήρες 1. Ο τύπος δεδοµένων char 2. O πίνακας ASCII 3. Χρήση Μεταβλητών τύπου char Β. Συµβολοσειρές 1. Τι είναι η συµβολοσειρά 2. ∆ιάβασµα και Εκτύπωση Συµβολοσειράς 3. Οι συναρτήσεις gets και puts 4. Η βιβλιοθήκη string.h Γ. Ασκήσεις 2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
  • 3. Α. Χαρακτήρες 1. Ο τύπος δεδοµένων char Στην C ο τύπος δεδοµένων char χρησιµοποιείται για να αποθηκεύσουµε χαρακτήρες. Στην πραγµατικότητα όµως δεν αποθηκεύονται χαρακτήρες! Όλα τα δεδοµένα αποθηκεύονται σε αριθµητική µορφή! Έτσι και οι χαρακτήρες είναι ακέραιοι αριθµοί από το 0 εώς το 255. Και χρησιµοποιείται ένας µεταφραστικός πίνακας, ο λεγόµενος πίνακας των ASCII κωδικών, που κάνει την αντιστοίχιση σε κάθε αριθµό µε τον αντίστοιχο χαρακτήρα Όποτε ο µεταγλωττιστής θέλει να διαχειριστεί έναν χαρακτήρα, συσχετίζει τον χαρακτήρα µε τον αριθµό που αντιστοιχεί σε αυτόν, σύµφωνα µε τον πίνακα ASCII. Άρα θα πρέπει να ξέρουµε ότι: Αν µια µεταβλητή char χρησιµοποιηθεί ως χαρακτήρας, ερµηνεύεται ως χαρακτήρας Αν µια µεταβλητή char χρησιµοποιηθεί ως αριθµός, ερµηνεύεται ως αριθµός 3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές
  • 4. A. Χαρακτήρες 2. Ο πίνακας ASCII 4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Στο συνηµµένο αρχείο µπορείτε να βρείτε τον πίνακα χαρακτήρων ASCII. Το ενδιαφέρον µας θα εστιαστεί στη στήλη που έχει τους χαρακτήρες και τον αντίστοιχο αύξοντα αριθµό του χαρακτήρα.
  • 5. A. Χαρακτήρες 3. Χρήση Μεταβλητών τύπου char 5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές ∆ηλώνουµε έναν χαρακτήρα µε την συνήθη εντολή δήλωσης: Για να αναθέσουµε στο χαρακτήρα ch την τιµή π.χ. του χαρακτήρα a µπορούµε να το κάνουµε µε δύο τρόπους: Είτε µέσω του αντίστοιχου ASCII κωδικού: Είτε µέσω συµβολικής απεικόνισης: Προσοχή! Όταν θέλουµε να απεικονίσουµε έναν χαρακτήρα, θα πρέπει υποχρεωτικά να τον γράψουµε µέσα σε µονά εισαγωγικά! Επίσης ο προσδιοριστής µετατροπής της printf για τον τύπο δεδοµένων χαρακτήρα είναι %c. Έτσι θα µπορούσαµε να τυπώσουµε τον χαρακτήρα µε την εντολή: char ch; ch=97; ch='a'; printf("%c",ch);
  • 6. A. Χαρακτήρες 3. Χρήση Μεταβλητών τύπου char 6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Τρέξτε το ακόλουθο πρόγραµµα που δείχνει πως απεικονίζεται οι χαρακτήρες σε ένα πρόγραµµα C /* char.c */ #include <stdio.h> main() { char c; for (c=80; c<=100; c++) { printf("nO xaraktiras %d einai %c",c,c); } } Σηµειώστε ότι για να εκτυπωθούν οι ASCII 128-255 πρέπει να δηλώσουµε την µεταβλητή c σαν unsigned char.
  • 7. Β. Συµβολοσειρές 1. Τι είναι η συµβολοσειρά 7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Σε πολλές περιπτώσεις για να προβάλλουµε κείµενο θέλουµε να απεικονίσουµε πολλούς χαρακτήρες σε σειρά. Αυτή είναι η έννοια της συµβολοσειράς, δηλαδή είναι µια σειρά από χαρακτήρες. Στην C αυτό γίνεται δηλώνοντας απλά έναν πίνακα από χαρακτήρες. Έτσι η εντολή δήλωσης: ∆ηλώνει έναν πίνακα από 20 χαρακτήρες, άρα µια συµβολοσειρά το πολύ 19 χαρακτήρων. ΠΡΟΣΟΧΗ! Είναι το πολύ 19 χαρακτήρων (και όχι 20) διότι πάντα σε µια συµβολοσειρά απεικονίζεται το τέλος της συµβολοσειράς µε τον ειδικό χαρακτήρα 0 (slash µηδέν). Για παράδειγµα η συµβολοσειρά «hello» αποθηκεύεται στην µνήµη ως εξής: char str[20]; str[0] str[1] str[2] str[3] … str[4] str[5] h e l l o 0 str[20]
  • 8. Β. Συµβολοσειρές 1. Τι είναι η συµβολοσειρά 8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Η αρχικοποίηση µιας συµβολοσειράς µπορεί να γίνει κατά την δήλωση µε τρεις τρόπους: Με τον γνωστό τρόπο αρχικοποίησης διάταξης: Επίσης µε έναν συντοµογραφικό τρόπο, χρησιµοποιώντας τα διπλά εισαγωγικά Και µε έναν ακόµη τρόπο που δεσµεύει τον απαραίτητο χώρο (στο παράδειγµα 3 θέσεις µνήµης: Προσοχή όµως ότι αν δηλώσουµε και αρχικοποιήσουµε την συµβολοσειρά µέσω δείκτη, τότε δεν µπορούµε να τροποποιήσουµε το περιεχόµενό της (συµπεριφέρεται σαν σταθερά) char pin[3]={'a','b','0'}; char pin[3]="ab"; char *pin="ab"; ή char pin[]="ab";
  • 9. Β. Συµβολοσειρές 2. ∆ιάβασµα και Εκτύπωση µίας Συµβολοσειράς 9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Για την εκτύπωση (µε την printf) και την ανάγνωση (µε την scanf) µιας συµβολοσειράς χρησιµοποιείται ο προσδιοριστής %s. Ωστόσο πρέπει να είµαστε προσεκτικοί! Μία συµβολοσειρά είναι ένας πίνακας χαρακτήρων, άρα αφού είναι πίνακας, το όνοµα της συµβολοσειράς είναι δείκτης στην αρχή της διάταξης. Έτσι στην εντολή scanf δεν πρέπει να βάλουµε το & στο όνοµα της µεταβλητής. Για παράδειγµα αν έχουµε δηλώσει µία συµβολοσειρά: Τότε η εκτύπωσή της θα γίνεται µε την εντολή: Ενώ το διάβασµα της συµβολοσειράς θα γίνεται µε την εντολή: char string[100]; printf("%s",string); scanf("%s",string);
  • 10. Β. Συµβολοσειρές 2. ∆ιάβασµα και Εκτύπωση µίας Συµβολοσειράς 10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Τρέξτε το ακόλουθο πρόγραµµα και εισάγετε στην είσοδο πρώτα την συµβολοσειρά «teststring» και έπειτα την συµβολοσειρά «test string» (πρώτα χωρίς κενό και µετά µε κενό) και δείτε το αποτέλεσµα. /* string.c: Deixnei tin xrisi tis scanf kai tis printf me simvoloseires */ #include <stdio.h> main() { char string[80]; printf("Dwste mia simboloseira: "); scanf("%s",string); printf("Pliktrologisate tin simvoloseira: %s",string); }
  • 11. Β. Συµβολοσειρές 3. Οι συναρτήσεις gets και puts 11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Όταν εισάγουµε µία συµβολοσειρά µε scanf, διαβάζεται και αποθηκεύεται µέχρι τον χαρακτήρα αλλαγής γραµµής που εισάγουµε ή µέχρι το πρώτο κενό που εισάγουµε. Προκειµένου να αποθηκεύονται και τα κενά που τυχόν γράφει ο χρήστης, χρησιµοποιούµε την συνάρτηση gets που έχει πρωτότυπο: Η συνάρτηση αυτή αποθηκεύει στη συµβολοσειρά string όλην την συµβολοσειρά που διαβάζεται από τον χρήστη, µε τα κενά να συµπεριλαµβάνονται. Είναι ορισµένη στην βιβλιοθήκη: Στην ίδια βιβλιοθήκη ορίζεται η συνάρτηση puts που τυπώνει στην οθόνη την συµβολοσειρά που δέχεται ως όρισµα ακολουθούµενη από ένα ‘n’: Που επίσης έχει οριστεί στη βιβλιοθήκη char *gets(char *string) int puts(char *string) stdio.h stdio.h
  • 12. Β. Συµβολοσειρές 4. Η βιβλιοθήκη string.h 12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Είδαµε µία πρώτη εισαγωγή στις συµβολοσειρές. Επειδή η διαχείριση συµβολοσειρών είναι µια συνηθισµένη διαδικασία στην C, έχει οριστεί µία βιβλιοθήκη, η: η οποία ορίζει συναρτήσεις που κάνουν πιο εύκολη την επεξεργασία συµβολοσειρών. Εκεί ορίζονται συναρτήσεις όπως η συνάρτηση: Η οποία αντιγράφει την συµβολοσειρά src στην συµβολοσειρά dest. Και η συνάρτηση: Που επιστρέφει το πλήθος των χαρακτήρων της συµβολοσειρας string. Θα δούµε αναλυτικά την βιβλιοθήκη αυτή σε επόµενο µάθηµα string.h int strlen(char *string) void strcpy(char *dest, char *src)
  • 13. Γ. Ασκήσεις 1. Μήκος Συµβολοσειράς 13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Το πλήθος των συµβόλων µιας συµβολοσειράς (εκτός του ειδικού χαρακτήρα 0) αναφέρεται σαν το µήκος της συµβολοσειράς. Κατασκευάστε µία συνάρτηση µε πρωτότυπο int mystrlen(char *s) που δέχεται ως όρισµα µία συµβολοσειρά και επιστρέφει το µήκος της. Γράψτε ένα πρόγραµµα C, το οποίο θα διαβάζει από την είσοδο µια συµβολοσειρά µε χρήση της gets και έπειτα θα υπολογίζει και θα τυπώνει το µήκος της συµβολοσειράς Η συνάρτηση int strlen(char *s) που έχει οριστεί στο string.h εκτελεί ακριβώς την ενέργεια που περιγράφεται παραπάνω.
  • 14. Γ. Ασκήσεις 2. Αντιγραφή Συµβολοσειρών 14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Κατασκευάστε µία συνάρτηση µε πρωτότυπο char *mystrcpy(char *dest, char *src) που δέχεται ως ορίσµατα δύο συµβολοσειρές και αντιγράφει τη συµβολοσειρά src στην συµβολοσειρά dest. Η συνάρτηση να επιστρέφει έναν δείκτη στην συµβολοσειρά dest. Γράψτε ένα πρόγραµµα C, το οποίο θα διαβάζει από την είσοδο δύο συµβολοσειρές µε χρήση της gets και έπειτα θα δίνει µία επιλογή στο χρήστη για να αντιγράψει όποια από τις δύο συµβολοσειρές επιθυµεί σε µία τρίτη συµβολοσειρά. Τελικά να τυπώνει και τις τρεις συµβολοσειρές στην οθόνη. Η συνάρτηση char *strcpy(char *dest, char *src) που έχει οριστεί στο string.h εκτελεί ακριβώς την ενέργεια που περιγράφεται παραπάνω.
  • 15. Γ. Ασκήσεις 3. Μετατροπή σε Κεφαλαία 15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Γράψτε ένα πρόγραµµα που να διαβάζει µια συµβολοσειρά από τον χρήστη και να µετατρέπει κάθε µικρό γράµµα στο αντίστοιχο κεφαλαίο και να τυπώνει το αποτέλεσµα στην οθόνη Υποδείξεις: ∆ηλώστε µία αρκετά µεγάλη συµβολοσειρά (π.χ. 150 χαρακτήρων) Παρατηρήστε από τον πίνακα χαρακτήρων ASCII ότι κάθε µικρός χαρακτήρας διαφέρει από τον αντίστοιχο κεφαλαίο κατά 32 ακριβώς θέσεις. Σκεφθείτε ότι θα αλλάζουν µόνο οι χαρακτήρες που είναι µικροί. Συνεπώς συµβουλευθείτε τον πίνακα ASCII για να δείτε ποιοι χαρακτήρές είναι οι µικροί. Αποφασίστε αν θα χρησιµοποιήσετε την gets ή την scanf και για ποιο λόγο.
  • 16. Γ. Ασκήσεις 4. Μορφοποίηση Εξόδου 16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές ∆είτε ότι στο 2ο πακέτο χαρακτήρων του πίνακα ASCII (128-255) υπάρχουν κάποιοι χαρακτήρες που µε διπλή γραµµή µπορούν να απεικονίσουν ένα πλαίσιο. Χρησιµοποιήστε τους χαρακτήρες αυτούς για να εκτυπώσετε το µήνυµα (µαζί µε το πλάισιο): Hello World!Hello World!
  • 17. Γ. Ασκήσεις 5. Σύγκριση συµβολοσειρών 17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές Κατασκευάστε πρόγραµµα C το οποίο: Να διαβάζει δύο λέξεις µε µικρούς λατινικούς χαρακτήρες (να πραγµατοποιηθεί έλεγχος ότι ο χρήστης πληκτρολόγησε µικρους λατινικούς χαρακτήρες) Να πραγµατοποιεί αλφαβητική σύγκριση των συµβολοσειρών και να τυπώνει κατάλληλο µήνυµα. Παράδειγµα επιθυµητής εκτέλεσης: Dwse tin 1i simvoloseira: test Dwse tin 2i simvoloseira: abba ===== Isxyei: abba < test Παρόµοια ενέργεια επιτελεί η συνάρτηση int strcmp(char *s1, char *s2) της βιβλιοθήκης string.h την οποία θα µελετήσουµε σε επόµενο µάθηµα