SlideShare a Scribd company logo
H ΓΛΩΣΣΑ C
Μάθηµα 18:
Η Βιβλιοθήκη string.h
∆ηµήτρης Ψούνης
Περιεχόµενα Μαθήµατος
Α. Η Βιβλιοθήκη string.h
1. Εισαγωγή
2. Βασικές Συναρτήσεις του string.h
1. Μήκος Συµβολοσειράς (strlen)
2. Αντιγραφή Συµβολοσειράς (strcpy)
3. Συνένωση Συµβολοσειράς (strcat)
4. Σύγκριση Συµβολοσειρών (strcmp)
5. Αναζήτηση Συµβολοσειράς (strstr)
3. Περισσότερες Συναρτήσεις του string.h
1. Η συνάρτηση strncpy
2. Η συνάρτηση strncat
3. Η συνάρτηση strncmp
4. Η συνάρτηση strdup
5. Η συνάρτηση strtok
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
1. Η συνάρτηση strchr
2. Η συνάρτηση strrchr
3. Η συνάρτηση strcspn
4. Η συνάρτηση strspn
5. Επιπλέον Συναρτήσεις του string.h
1. Συναρτήσεις που δεν ορίζονται στο ANSI πρότυπο
2. Συναρτήσεις ελέγχου χαρακτήρων
Β. Ασκήσεις
2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Α. Η Βιβλιοθήκη string.h
1. Εισαγωγή
3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Οι συµβολοσειρές είναι σηµαντικό µέρος σχεδόν σε οποιοδήποτε πρόγραµµα C.
Στο «Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές» είδαµε το συντακτικό των συµβολοσειρών
και κατασκευάσαµε κάποιες συναρτήσεις για τον χειρισµό συµβολοσειρών.
Στο σηµερινό µάθηµα, θα µελετήσουµε την βιβλιοθήκη συναρτήσεων string.h η οποία υλοποιεί
ένα σύνολο από συναρτήσεις που είναι πολύ πιθανό να είναι χρήσιµες στα προγράµµατά µας:
Για αντιγραφή και συνένωση συµβολοσειρών
Για σύγκριση συµβολοσειρών
Για αναζήτηση σε συµβολοσειρές
Και αρκετές ακόµη!
Σηµείωση:
Το µάθηµα αυτό είναι το πρώτο που αφιερώνουµε εξ’ ολοκλήρου σε µια βιβλιοθήκη
συναρτήσεων της C.
Η C έχει αρκετές βιβλιοθήκες µε πολύ χρήσιµες συναρτήσεις. Θα µελετήσουµε και άλλες
βιβλιοθήκες σε επόµενα µαθήµατα.
A. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Οι πιο συχνά χρησιµοποιούµενες συναρτήσεις του string.h είναι οι ακόλουθες πέντε:
Εκτελούν τις βασικές πράξεις που είναι συχνότερο να είναι χρήσιµες σε ένα πρόγραµµα
χειρισµού συµβολοσειρών.
Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία
strlen size_t strlen(char *str) Επιστρέφει το µήκος της συµβολοσειράς
strcpy char *strcpy( char *dest,
const char *src)
Αντιγράφει στη συµβολοσειρά dest τη συµβολοσειρά src
strcat char *strcat(char *str1,
const char *str2)
Συνένωση συµβολοσειρών (str1=str1+str2)
strcmp int strcmp(const char
*str1, const char *str2)
Σύγκριση συµβολοσειρών (Επιστρέφει <0 αν str1<str2,
=0 αν str1=str2, >0 αν str1>str2)
strstr char *strstr(const char
*str, const char *search)
Επιστρέφει δείκτη στην 1η εµφάνιση της search στην str
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
1. Μήκος Συµβολοσειράς (strlen)
5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strlen:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται σαν όρισµα µία συµβολοσειρά:
Επιστρέφει το µήκος της (πλήθος χαρακτήρων) που περιέχει
∆εν µετριέται το ‘0’.
size_t strlen(char *str)
string.h
Σηµείωση:
To size_t είναι ένα (περίπου) «συνώνυµο» του τύπου δεδοµένων unsigned int
Όπου το συναντάµε θα αντιµετωπίζουµε το επιστρεφόµενο αποτέλεσµα ως ακέραιο αριθµό
6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strlen
/* strlen.c: Epideikniei ti xrisi tis strlen */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
char str[N];
/* eisodos */
printf("Dwse ti simvoloseira: ");
gets(str);
/* eksodos */
printf("Mikos=%d",strlen(str));
}
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
1. Μήκος Συµβολοσειράς (strlen)
7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strcpy:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές:
Αντιγράφει την συµβολοσειρά src στην συµβολοσειρά dest (περιλαµβάνοντας το
χαρακτήρα 0)
Επιστρέφει ένα δείκτη στη συµβολοσειρά dest.
char *strcpy( char *dest, const char *src)
string.h
Σηµείωση:
Είναι ευθύνη του προγραµµατιστή να έχει δεσµεύσει χώρο και αυτός να είναι επαρκής για τη
συµβολοσειρά dest
H strcpy είναι υποχρεωτική όταν θέλουµε να αντιγράψουµε συµβολοσειρές. Η εντολή str1=str2
αναθέτει τον δείκτη str2 να δείχνει στην µνήµη που δείχνει η str1 άρα ∆ΕΝ κάνει αντιγραφή
συµβολοσειράς.
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
2. Αντιγραφή Συµβολοσειρών (strcpy)
8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcpy
/* strcpy.c: Epideikniei ti xrisi tis strcpy */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
char str1[N], str2[N];
/* eisodos */
printf("Dwse ti simvoloseira: ");
gets(str1);
/* antigrafi me tin strcpy */
strcpy(str2,str1);
/* eksodos */
printf("str1=%s, str2=%s",str1,str2);
}
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
2. Αντιγραφή Συµβολοσειρών (strcpy)
9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strcat:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές str1 και str2 και:
Αντιγράφει στο τέλος της str1 ένα αντίγραφο της str2
Βάζει στο τέλος της νέας str1 ένα 0
Επιστρέφει ένα δείκτη στη συµβολοσειρά str1.
char *strcat(char *str1, const char *str2)
string.h
ΠΡΙΝ:
Hello
World
str1
str2
META:
str1
str2
HelloWorld
World
Σηµείωση:
Είναι ευθύνη του προγραµµατιστή να έχει δεσµεύσει χώρο και αυτός να είναι επαρκής για τη
συµβολοσειρά που θα προκύψει από τη συνένωση των συµβολοσειρών.
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
3. Συνένωση Συµβολοσειρών (strcat)
10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcat
/* strcat.c: Epideikniei ti xrisi tis strcat */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
char str1[N], str2[N];
/* eisodos */
printf("Dwse ti simvoloseira 1: ");
gets(str1);
printf("Dwse ti simvoloseira 2: ");
gets(str2);
/* antigrafi me tin strcat */
strcat(str1,str2);
printf("nstr1=%s",str1);
strcat(str1,str2);
printf("nstr1=%s",str1);
}
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
3. Συνένωση Συµβολοσειρών (strcat)
11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strcmp:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές και ανάλογα µε την αλφαριθµητική
σύγκρισή τους:
Αν str1<str2 επιστρέφει ακέραιο < 0
Αν str1==str2 επιστρέφει 0
Αν str1>str2 επιστρέφει ακέραιο > 0
int strcmp(const char *str1, const char *str2)
string.h
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
4. Σύγκριση Συµβολοσειρών (strcmp)
12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcmp
/* strcmp.c: Anadeiknyei ti xrisi tis strcmp */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
int res;
char str1[N], str2[N];
/* eisodos */
printf("Dwse ti simvoloseira 1: ");
gets(str1);
printf("Dwse ti simvoloseira 2: ");
gets(str2);
/* sygrisi me tin strcmp */
res=strcmp(str1,str2);
if (res<0)
printf("str1<str2 (res=%d)",res);
else if (res==0)
printf("str1==str2 (res=%d)",res);
else
printf("str1>str2 (res=%d)",res);
}
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
4. Σύγκριση Συµβολοσειρών (strcmp)
13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strstr:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται µία συµβολοσειρά (str)
Επιστρέφει:
∆είκτη στην 1η εµφάνιση της search στην str.
NULL αν δεν υπάρχει η search στην str
char *strstr(const char *str, const char *search)
string.h
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
5. Αναζήτηση Συµβολοσειράς (strstr)
14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strspn
/* strstr.c: Anadeiknyei ti xrisi tis strstr */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
char str1[N], str2[N];
char *ptr;
/* eisodos */
printf("Dwse to keimeno sto opoio anazitoume: ");
gets(str1);
printf("Dwse ti anazitoume: ");
gets(str2);
ptr=strstr(str1,str2);
while(ptr!=NULL)
{
printf("Stin thesi %d: %sn",ptr-str1,ptr);
ptr=strstr(ptr+1,str2);
}
}
Α. Η Βιβλιοθήκη string.h
2. Βασικές Συναρτήσεις του string.h
5. Αναζήτηση Συµβολοσειράς (strstr)
A. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Οι ακόλουθες συναρτήσεις χρησιµοποιούνται επισης συχνά στην πράξη. Είναι συναρτήσεις:
Που συγκεκριµενοποιούν το µήκος συµβολοσειράς στις συνήθεις πράξεις (strncpy,
strncat,strncmp)
∆ιευκόλυνσης χρήσης της αντιγραφής (strdup)
∆ιαχωρισµού συµβολοσειράς σε λέξεις (strtok)
Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία
strncpy char *strncpy( char
*dest, const char *src,
size_t n)
Αντιγράφει n χαρακτήρες από τη συµβολοσειρά dest στη
συµβολοσειρά src
strncat char *strncat(char *str1,
const char *str2, size_t
n)
Συνένωση συµβολοσειρών (str1=str1+str2) µε
συγκεκριµένο µήκος της str2.
strncmp int strncmp(const char
*str1, const char *str2,
size_t n)
Σύγκριση των n πρώτων χαρακτήρων συµβολοσειρών
(Επιστρέφει <0 αν str1<str2,
=0 αν str1=str2, >0 αν str1>str2)
strdup char *strdup(const char
*str)
Επιστρέφει ένα αντίγραφο της συµβολοσειράς str
(δεσµεύοντας µνήµη για αυτήν)
strtok char *strtok(char *str,
char *delim)
∆ιαχωρίζει την συµβολοσειρά str µε βάση τα διαχωριστικά της
delim
16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strncpy:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές και έναν ακέραιο:
Αν το µήκος της src είναι µικρότερο του n:
Αντιγράφει τη συµβολοσειρά src στην συµβολοσειρά dest (περιλαµβάνοντας το
χαρακτήρα 0)
Αν το µήκος της src είναι µεγαλύτερο(ή ίσο) του n:
Αντιγράφει τους πρώτους n χαρακτήρες από την συµβολοσειρά src στην
συµβολοσειρά dest (χωρίς να προσθέτει το χαρακτήρα 0)
Επιστρέφει ένα δείκτη στη συµβολοσειρά dest.
char *strncpy( char *dest, const char *src, size_t n)
string.h
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
1. Η συνάρτηση strncpy()
17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcpy
/* strncpy.c: Epideikniei ti xrisi tis strncpy */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
char str1[N], str2[N];
int l=5;
/* eisodos */
printf("Dwse ti simvoloseira: ");
gets(str1);
/* antigrafi me tin strncpy */
strncpy(str2,str1,l);
/* eksodos */
printf("str1=%s, str2=%s",str1,str2);
}
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
1. Η συνάρτηση strncpy()
18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strncat:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές και έναν ακέραιο:
Αν το µήκος της str2 είναι µικρότερο του n:
Αντιγράφει στο τέλος της str1 ένα αντίγραφο της str2.
Βάζει στο τέλος της νέας str1 ένα 0
Αν το µήκος της str2 είναι µεγαλύτερο(ή ίσο) του n:
Αντιγράφει στο τέλος της str1 τους πρώτους n χαρακτήρες της str2.
Βάζει στο τέλος της νέας str1 το 0
Επιστρέφει ένα δείκτη στη συµβολοσειρά str1.
char *strncat(char *str1, const char *str2, size_t n)
string.h
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
2. Η συνάρτηση strncat()
19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strncat
/* strncat.c: Epideikniei ti xrisi tis strncat */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
int i;
char str1[N], str2[N];
/* eisodos */
printf("Dwse ti simvoloseira 1: ");
gets(str1);
printf("Dwse ti simvoloseira 2: ");
gets(str2);
/* antigrafi me tin strncat */
for (i=1; i<=5; i++)
{
strncat(str1,str2,i);
printf("nstr1=%s",str1);
}
}
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
2. Η συνάρτηση strncat()
20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strncmp:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές και έναν ακέραιο n και συγκρίνει τους
πρώτους n χαρακτήρες (ή µέχρι το 0):
Αν str1<str2 επιστρέφει ακέραιο < 0
Αν str1==str2 επιστρέφει 0
Αν str1>str2 επιστρέφει ακέραιο > 0
int strncmp(const char *str1, const char *str2, size_t n)
string.h
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
3. Η συνάρτηση strncmp()
21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strncmp
/* strncmp.c: Anadeiknyei ti xrisi tis strncmp */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
int res,l=4;
char str1[N], str2[N];
/* eisodos */
printf("Dwse ti simvoloseira 1: ");
gets(str1);
printf("Dwse ti simvoloseira 2: ");
gets(str2);
/* sygkrisi me tin strncmp */
res=strncmp(str1,str2,l);
/* eksodos */
if (res<0)
printf("str1<str2 (res=%d)",res);
else if (res==0)
printf("str1==str2 (res=%d)",res);
else
printf("str1>str2 (res=%d)",res);
}
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
3. Η συνάρτηση strncmp()
22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strdup:
Και έχει οριστεί στη βιβλιοθήκη:
Προσοχή ότι δεν είναι ANSI (ενδέχεται να µην υποστηρίζεται από τον µεταγλωττιστή)
Η συνάρτηση δέχεται ως όρισµα µία συµβολοσειρά.
∆εσµεύει κατάλληλο χώρο (µε malloc), αντιγράφει τη συµβολοσειρα στο δεσµευµένο χώρο και
επιστρέφει:
Έναν δείκτη στη νέα συµβολοσειρά.
NULL αν δεν έγινε η αντιγραφή
char *strdup(const char *str)
string.h
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
4. Η συνάρτηση strdup()
23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strdup
/* strdup.c: Anadeiknyei ti xrisi tis strdup */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
char str[N];
char *str2;
/* eisodos */
printf("Dwse ti simvoloseira: ");
gets(str);
/* antigrafi me tin strdup */
str2=strdup(str);
/* eksodos */
if (!str2)
{
printf("Adynamia desmeusis mnimis!");
}
else{
printf("Antigrafike: %s me mikos: %d",str2,strlen(str2));
}
}
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
4. Η συνάρτηση strdup()
24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strtok:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται ως όρισµα µία συµβολοσειρά str και µία συµβολοσειρά που κωδικοποιεί
διαχωριστικά (π.χ. κόµµα, τελεια,κενό: “,. “).
Αν το str δεν είναι NULL (πρώτη κλήση), τότε επιστρέφει έναν δείκτη στην αρχή της
συµβολοσειράς, έχοντας αντικαταστήσει την πρώτη εµφάνιση διαχωριστικού µε 0.
Αν το str είναι NULL (επόµενες κλήσεις) τότε συνεχίζει η λειτουργία της από το σηµείο που η
τελευταία κλήση βρήκε έναν από τους χαρακτήρες διαχωρισµού.
char *strtok(char *str, char *delim)
string.h
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
5. Η συνάρτηση strtok()
Σηµείωση:
Το παράδειγµα της επόµενης διαφάνειας αναδεικνύει τη συνάρτηση.
25∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strdup
/* strtok.c: Anadeiknyei ti xrisi tis strtok */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
int i,res;
char str[N], *p;
/* eisodos */
printf("Dwse ti simvoloseira: ");
gets(str);
/* xwrismos me tin strtok */
p=strtok(str," ,.");
/* eksodos */
while(p!=NULL)
{
printf("%sn",p);
p=strtok(NULL," ,.");
}
}
Α. Η Βιβλιοθήκη string.h
3. Περισσότερες Συναρτήσεις του string.h
5. Η συνάρτηση strtok()
A. Η Βιβλιοθήκη string.h
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
26∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Ως συνέχεια της συνάρτησης strstr υπάρχουν και οι εξής συναρτήσεις που κάνουν αναζήτηση
συµβολοσειράς
Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία
strchr char *strchr(const char
*str, int ch)
Επιστρέφει δείκτη στην 1η εµφάνιση του χαρακτήρα ch στην
str
strrchr char *strrchr(const char
*str, int ch)
Επιστρέφει δείκτη στην 1η εµφάνιση του χαρακτήρα ch στην
str (αντιστρόφως)
strcspn size_t strcspn(const char
*str, const char *search)
Επιστρέφει τη θέση που βρέθηκε η search στην str
strspn size_t strspn(const char
*str, const char *search)
Επιστρέφει πόσοι χαρακτήρες της search βρέθηκαν στην str
Α. Η Βιβλιοθήκη string.h
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
1. Η συνάρτηση strchr()
27∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strchr:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται ως ορίσµατα µία συµβολοσειρά και έναν χαρακτήρα.
Επιστρέφει έναν δείκτη στην πρώτη εµφάνιση του χαρακτήρα στην συµβολοσειρά.
Αν ο χαρακτήρας δεν υπάρχει στην συµβολοσειρά επιστρέφει NULL.
char *strchr(const char *str, int ch)
string.h
28∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strchr
/* strchr.c: Anadeiknyei ti xrisi tis strchr */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
int i,res;
char str[N], ch;
char *ptr;
/* eisodos */
printf("Dwse ti simvoloseira: ");
gets(str);
printf("Dwse to xaraktira: ");
ch=getchar();
/* anazitisi me tin strchr */
ptr=strchr(str,ch);
while(ptr!=NULL)
{
puts(ptr);
ptr=strchr(ptr+1,ch);
}
}
Α. Η Βιβλιοθήκη string.h
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
1. Η συνάρτηση strchr()
29∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strrchr:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται ως ορίσµατα µία συµβολοσειρά και έναν χαρακτήρα.
Επιστρέφει έναν δείκτη στην τελευταία εµφάνιση του χαρακτήρα στην συµβολοσειρά.
Αν ο χαρακτήρας δεν υπάρχει στην συµβολοσειρά επιστρέφει NULL.
char *strrchr(const char *str, int ch)
string.h
Α. Η Βιβλιοθήκη string.h
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
2. Η συνάρτηση strrchr()
30∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strchr
/* strrchr.c: Anadeiknyei ti xrisi tis strrchr */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
char str[N], ch;
char *ptr;
/* eisodos */
printf("Dwse ti simvoloseira: ");
gets(str);
printf("Dwse to xaraktira: ");
ch=getchar();
/* anazitisi me tin strrchr */
ptr=strrchr(str,ch);
puts(ptr);
}
Α. Η Βιβλιοθήκη string.h
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
2. Η συνάρτηση strrchr()
31∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strcspn :
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται µία συµβολοσειρά (str) στην οποία ψάχνει για την 1η εµφάνιση
οποιουδήποτε από τους χαρακτήρες της συµβολοσειράς (search)
Επιστρέφει:
Την θέση της 1ης εµφάνισης (αν βρέθηκε εµφάνιση)
Το µήκος της συµβολοσειράς str (αν δεν βρέθηκε εµφάνιση)
size_t strcspn(const char *str, const char *search)
string.h
Α. Η Βιβλιοθήκη string.h
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
3. Η συνάρτηση strcspn()
32∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcspn
/* strcspn.c: Anadeiknyei ti xrisi tis strcspn */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
char str[N], ch;
char *ptr;
int pos;
/* eisodos */
printf("Dwse ti simvoloseira: ");
gets(str);
/* anazitisi me tin strcspn */
pos=strcspn(str,"abc");
if (pos!=strlen(str))
printf("Apo ti thesi %d: %s",pos, &str[pos]);
else
printf("Den vrethikan oi xaraktires abc stin %s", str);
}
Α. Η Βιβλιοθήκη string.h
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
3. Η συνάρτηση strcspn()
33∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το πρωτότυπο της συνάρτησης strspn:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση δέχεται µία συµβολοσειρά (str)
Σε αυτήν µετράει πόσοι συνεχόµενοι (από την αρχή) χαρακτήρες περιέχονται στην
συµβολοσειρά search
Επιστρέφει:
Το πλήθος των χαρακτήρων της str που βρέθηκαν να περιέχονται και στην search.
size_t strspn(const char *str, const char *search)
string.h
Α. Η Βιβλιοθήκη string.h
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
4. Η συνάρτηση strspn()
34∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strspn
/* strspn.c: Anadeiknyei ti xrisi tis strcspn */
#include <stdio.h>
#include <string.h>
#define N 80
main()
{
char str1[N], str2[N];
char *ptr;
int i,length;
/* eisodos */
printf("Dwse ti 1i simvoloseira: ");
gets(str1);
printf("Dwse ti 2i simvoloseira: ");
gets(str2);
/* anazitisi me tin strspn */
length=strspn(str1,str2);
if (length>0){
printf("Oi prwtoi %d xaraktires tis str1 periexontai stin stin
str2:",length);
for (i=0; i<length; i++)
printf("%c",str1[i]);
}
else
printf("Oi symvoloseires den tairiazoun");
Α. Η Βιβλιοθήκη string.h
4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά
4. Η συνάρτηση strspn()
35∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Οι ακόλουθες συναρτήσεις δεν ορίζονται στο πρότυπο ANSI, αλλά έχουν υλοποιηθεί στους
περισσότερους µεταγλωττιστές:
Όνοµα Λειτουργία Πρωτότυπο Συνάρτησης Λειτουργία
strlwr Μετατροπή σε
µικρά
char *strlwr(char *str) ∆έχεται ως όρισµα µια συµβολοσειρά
Μετατρέπει τους κεφαλαίους χαρακτήρες
σε µικρούς
Επιστρέφει δείκτη στην str
strupr Μετατροπή σε
κεφαλαία
char *strupr(char *str) ∆έχεται ως όρισµα µια συµβολοσειρά
Μετατρέπει τους µικρούς χαρακτήρες σε
κεφαλαίους
Επιστρέφει δείκτη στην str
strrev Αντιστροφή
Συµβολοσειράς
char *strrev(char *str) ∆έχεται ως όρισµα µια συµβολοσειρά
Αντιστρέφει τη συµβολοσειρά
Επιστρέφει δείκτη στην str
Α. Η Βιβλιοθήκη string.h
5. Επιπλέον Συναρτήσεις του string.h
1. Συναρτήσεις που δεν ορίζονται στο ANSI πρότυπο
36∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Οι ακόλουθες συναρτήσεις δεν ορίζονται στο πρότυπο ANSI, αλλά έχουν υλοποιηθεί στους
περισσότερους µεταγλωττιστές:
Όνοµα Λειτουργία Πρωτότυπο Συνάρτησης Λειτουργία
strset Αντικατάσταση
χαρακτήρων
συµβολοσειράς
char *strset(char *str, int
ch)
∆έχεται ως όρισµα µια συµβολοσειρά.
Γράφει σε όλη τη συµβολοσειρά το
χαρακτήρα ch.
Επιστρέφει δείκτη στην str
strnset Αντικατάσταση
χαρακτήρων
συµβολοσειράς
char *strnset(char *str,
int ch,size_t n)
∆έχεται ως όρισµα µια συµβολοσειρά.
Αντικαθιστά τους n πρώτους χαρακτήρες
της str µε ch.
Επιστρέφει δείκτη στην str
Α. Η Βιβλιοθήκη string.h
5. Επιπλέον Συναρτήσεις του string.h
1. Συναρτήσεις που δεν ορίζονται στο ANSI πρότυπο
37∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Οι ακόλουθες συναρτήσεις χρησιµεύουν για τον έλεγχο ενός χαρακτήρα:
Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία
isalnum int isalnum(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι
αλφαριθµητικό (χαρακτήρας ή ψηφίο)
isalpha int isalpha(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι γράµµα
isdigit int isdigit(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι ψηφίο
ispunct int ispunct(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι σηµείο
στίξης
iscntrl int iscntrl(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι to CTRL
isgraph int isgraph(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι
εκτυπώσιµος χαρακτήρας (εκτός του space)
isprint int isprint(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι
εκτυπώσιµος χαρακτήρας (περιλαµβάνει το space)
Α. Η Βιβλιοθήκη string.h
5. Επιπλέον Συναρτήσεις του string.h
2. Συναρτήσεις ελέγχου χαρακτήρων
38∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Οι ακόλουθες συναρτήσεις χρησιµεύουν για τον έλεγχο ενός χαρακτήρα:
Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία
isupper int isupper(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι κεφαλαίος
islower int islower(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι µικρός
isspace int isspace(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι κενό
(space,tab,vertical tab,form feed, ή carriage
return)
isblank int isblank(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι κενό
isxdigit int isxdigit(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι 16δικό
ψηφίο
Α. Η Βιβλιοθήκη string.h
5. Επιπλέον Συναρτήσεις του string.h
2. Συναρτήσεις ελέγχου χαρακτήρων
Β. Ασκήσεις
1. Ταξινόµηση Συµβολοσειρών
39∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Στο µάθηµα «Αλγόριθµοι σε C: Μάθηµα 3 – Ταξινόµηση Πίνακα» κατασκευάσαµε ένα πρόγραµµα
που υλοποιεί ταξινόµηση ακεραίων. Τροποποιήστε το πρόγραµµα έτσι ώστε:
1. Να διαβάζει από την είσοδο 10 συµβολοσειρές
2. Να ταξινοµεί τις συµβολοσειρές χρησιµοποιώντας για την συγκριση τη συνάρτηση strcmp.
3. Να προβάλλει τον ταξινοµηµένο πίνακα στην οθόνη.
Β. Ασκήσεις
2. Ταξινόµηση Συµβολοσειρών
40∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
Τροποποιήστε το πρόγραµµα της εφαρµογής 1, έτσι ώστε αντί να διαβάζει 20 συµβολοσειρές, να
διαβάζει µία φράση, να την αποδοµεί σε λέξεις µε την strtok και έπειτα να ταξινοµεί τις λέξεις που
προέκυψαν.

More Related Content

What's hot

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1
Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 3
Η Γλώσσα C - Μάθημα 3 Η Γλώσσα C - Μάθημα 3
Η Γλώσσα C - Μάθημα 3
Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
Dimitris Psounis
 

What's hot (20)

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 11
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
 
Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1
 
Η Γλώσσα C - Μάθημα 3
Η Γλώσσα C - Μάθημα 3 Η Γλώσσα C - Μάθημα 3
Η Γλώσσα C - Μάθημα 3
 
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5ΠΛΗ10 ΜΑΘΗΜΑ 1.5
ΠΛΗ10 ΜΑΘΗΜΑ 1.5
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4ΠΛΗ10 ΜΑΘΗΜΑ 1.4
ΠΛΗ10 ΜΑΘΗΜΑ 1.4
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
 

Viewers also liked

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ31 ΜΑΘΗΜΑ 2.1
ΠΛΗ31 ΜΑΘΗΜΑ 2.1ΠΛΗ31 ΜΑΘΗΜΑ 2.1
ΠΛΗ31 ΜΑΘΗΜΑ 2.1
Dimitris Psounis
 
ΠΛΗ31 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ31 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 

Viewers also liked (11)

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 ΜΑΘΗΜΑ 2.1
ΠΛΗ31 ΜΑΘΗΜΑ 2.1ΠΛΗ31 ΜΑΘΗΜΑ 2.1
ΠΛΗ31 ΜΑΘΗΜΑ 2.1
 
ΠΛΗ31 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ31 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ31 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ31 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
 
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
 

More from Dimitris Psounis

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Dimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
Dimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 

More from Dimitris Psounis (20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32
 
ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31
 

Recently uploaded

TABOO ΠΑΙΧΝΙΔΙ με Θεματα γλώσσας , ιστορίας , φυσικής
TABOO ΠΑΙΧΝΙΔΙ με Θεματα γλώσσας , ιστορίας , φυσικήςTABOO ΠΑΙΧΝΙΔΙ με Θεματα γλώσσας , ιστορίας , φυσικής
TABOO ΠΑΙΧΝΙΔΙ με Θεματα γλώσσας , ιστορίας , φυσικής
ΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
Φυσικές Καταστροφές | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώρα. Φίλος...
Φυσικές Καταστροφές | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώρα. Φίλος...Φυσικές Καταστροφές | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώρα. Φίλος...
Φυσικές Καταστροφές | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώρα. Φίλος...
elyiem
 
ΔΟΚΙΜΑΣΤΙΚΗ ΕΡΓΑΣΙΑ ΓΙΑ ΤΑ ΕΝΤΟΜΑ ΜΕ ΤΙΤΛΟ Η ΠΕΤΑΛΟΥΔΑ.pptx
ΔΟΚΙΜΑΣΤΙΚΗ ΕΡΓΑΣΙΑ  ΓΙΑ ΤΑ ΕΝΤΟΜΑ ΜΕ ΤΙΤΛΟ Η ΠΕΤΑΛΟΥΔΑ.pptxΔΟΚΙΜΑΣΤΙΚΗ ΕΡΓΑΣΙΑ  ΓΙΑ ΤΑ ΕΝΤΟΜΑ ΜΕ ΤΙΤΛΟ Η ΠΕΤΑΛΟΥΔΑ.pptx
ΔΟΚΙΜΑΣΤΙΚΗ ΕΡΓΑΣΙΑ ΓΙΑ ΤΑ ΕΝΤΟΜΑ ΜΕ ΤΙΤΛΟ Η ΠΕΤΑΛΟΥΔΑ.pptx
roulazax
 
ερωτησεις επαναληψης ιστορια Α λυκείου .docx
ερωτησεις επαναληψης ιστορια Α λυκείου .docxερωτησεις επαναληψης ιστορια Α λυκείου .docx
ερωτησεις επαναληψης ιστορια Α λυκείου .docx
VetaPougaridou1
 
Φυσικές Καταστροφές (Βίντεο) | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώ...
Φυσικές Καταστροφές (Βίντεο) | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώ...Φυσικές Καταστροφές (Βίντεο) | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώ...
Φυσικές Καταστροφές (Βίντεο) | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώ...
elyiem
 
Εκφοβισμός | Πληροφορία τότε και τώρα: Φίλος ή εχθρός; | Ίδρυμα Αικατερίνης Λ...
Εκφοβισμός | Πληροφορία τότε και τώρα: Φίλος ή εχθρός; | Ίδρυμα Αικατερίνης Λ...Εκφοβισμός | Πληροφορία τότε και τώρα: Φίλος ή εχθρός; | Ίδρυμα Αικατερίνης Λ...
Εκφοβισμός | Πληροφορία τότε και τώρα: Φίλος ή εχθρός; | Ίδρυμα Αικατερίνης Λ...
elyiem
 
Δ τάξη - Σύνδεση με Ζάκυνθο μέσω Webex.pptx
Δ τάξη - Σύνδεση με Ζάκυνθο μέσω Webex.pptxΔ τάξη - Σύνδεση με Ζάκυνθο μέσω Webex.pptx
Δ τάξη - Σύνδεση με Ζάκυνθο μέσω Webex.pptx
36dimperist
 
Το αστεράκι. Ένα ποίημα της Σάσας Καραγιαννίδου - Πέννα που συνοδεύεται από έ...
Το αστεράκι. Ένα ποίημα της Σάσας Καραγιαννίδου - Πέννα που συνοδεύεται από έ...Το αστεράκι. Ένα ποίημα της Σάσας Καραγιαννίδου - Πέννα που συνοδεύεται από έ...
Το αστεράκι. Ένα ποίημα της Σάσας Καραγιαννίδου - Πέννα που συνοδεύεται από έ...
Σάσα Καραγιαννίδου - Πέννα
 
Φιγούρες Θεάτρου Σκιών από την Α΄ τάξη.pptx
Φιγούρες Θεάτρου Σκιών από την Α΄ τάξη.pptxΦιγούρες Θεάτρου Σκιών από την Α΄ τάξη.pptx
Φιγούρες Θεάτρου Σκιών από την Α΄ τάξη.pptx
36dimperist
 
Οικονομική απάτη στο διαδίκτυο | Εκπαιδευτικό πρόγραμμα "Πληροφορία τότε και ...
Οικονομική απάτη στο διαδίκτυο | Εκπαιδευτικό πρόγραμμα "Πληροφορία τότε και ...Οικονομική απάτη στο διαδίκτυο | Εκπαιδευτικό πρόγραμμα "Πληροφορία τότε και ...
Οικονομική απάτη στο διαδίκτυο | Εκπαιδευτικό πρόγραμμα "Πληροφορία τότε και ...
elyiem
 

Recently uploaded (10)

TABOO ΠΑΙΧΝΙΔΙ με Θεματα γλώσσας , ιστορίας , φυσικής
TABOO ΠΑΙΧΝΙΔΙ με Θεματα γλώσσας , ιστορίας , φυσικήςTABOO ΠΑΙΧΝΙΔΙ με Θεματα γλώσσας , ιστορίας , φυσικής
TABOO ΠΑΙΧΝΙΔΙ με Θεματα γλώσσας , ιστορίας , φυσικής
 
Φυσικές Καταστροφές | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώρα. Φίλος...
Φυσικές Καταστροφές | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώρα. Φίλος...Φυσικές Καταστροφές | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώρα. Φίλος...
Φυσικές Καταστροφές | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώρα. Φίλος...
 
ΔΟΚΙΜΑΣΤΙΚΗ ΕΡΓΑΣΙΑ ΓΙΑ ΤΑ ΕΝΤΟΜΑ ΜΕ ΤΙΤΛΟ Η ΠΕΤΑΛΟΥΔΑ.pptx
ΔΟΚΙΜΑΣΤΙΚΗ ΕΡΓΑΣΙΑ  ΓΙΑ ΤΑ ΕΝΤΟΜΑ ΜΕ ΤΙΤΛΟ Η ΠΕΤΑΛΟΥΔΑ.pptxΔΟΚΙΜΑΣΤΙΚΗ ΕΡΓΑΣΙΑ  ΓΙΑ ΤΑ ΕΝΤΟΜΑ ΜΕ ΤΙΤΛΟ Η ΠΕΤΑΛΟΥΔΑ.pptx
ΔΟΚΙΜΑΣΤΙΚΗ ΕΡΓΑΣΙΑ ΓΙΑ ΤΑ ΕΝΤΟΜΑ ΜΕ ΤΙΤΛΟ Η ΠΕΤΑΛΟΥΔΑ.pptx
 
ερωτησεις επαναληψης ιστορια Α λυκείου .docx
ερωτησεις επαναληψης ιστορια Α λυκείου .docxερωτησεις επαναληψης ιστορια Α λυκείου .docx
ερωτησεις επαναληψης ιστορια Α λυκείου .docx
 
Φυσικές Καταστροφές (Βίντεο) | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώ...
Φυσικές Καταστροφές (Βίντεο) | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώ...Φυσικές Καταστροφές (Βίντεο) | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώ...
Φυσικές Καταστροφές (Βίντεο) | Εκπαιδευτικό πρόγραμμα “Πληροφορία τότε και τώ...
 
Εκφοβισμός | Πληροφορία τότε και τώρα: Φίλος ή εχθρός; | Ίδρυμα Αικατερίνης Λ...
Εκφοβισμός | Πληροφορία τότε και τώρα: Φίλος ή εχθρός; | Ίδρυμα Αικατερίνης Λ...Εκφοβισμός | Πληροφορία τότε και τώρα: Φίλος ή εχθρός; | Ίδρυμα Αικατερίνης Λ...
Εκφοβισμός | Πληροφορία τότε και τώρα: Φίλος ή εχθρός; | Ίδρυμα Αικατερίνης Λ...
 
Δ τάξη - Σύνδεση με Ζάκυνθο μέσω Webex.pptx
Δ τάξη - Σύνδεση με Ζάκυνθο μέσω Webex.pptxΔ τάξη - Σύνδεση με Ζάκυνθο μέσω Webex.pptx
Δ τάξη - Σύνδεση με Ζάκυνθο μέσω Webex.pptx
 
Το αστεράκι. Ένα ποίημα της Σάσας Καραγιαννίδου - Πέννα που συνοδεύεται από έ...
Το αστεράκι. Ένα ποίημα της Σάσας Καραγιαννίδου - Πέννα που συνοδεύεται από έ...Το αστεράκι. Ένα ποίημα της Σάσας Καραγιαννίδου - Πέννα που συνοδεύεται από έ...
Το αστεράκι. Ένα ποίημα της Σάσας Καραγιαννίδου - Πέννα που συνοδεύεται από έ...
 
Φιγούρες Θεάτρου Σκιών από την Α΄ τάξη.pptx
Φιγούρες Θεάτρου Σκιών από την Α΄ τάξη.pptxΦιγούρες Θεάτρου Σκιών από την Α΄ τάξη.pptx
Φιγούρες Θεάτρου Σκιών από την Α΄ τάξη.pptx
 
Οικονομική απάτη στο διαδίκτυο | Εκπαιδευτικό πρόγραμμα "Πληροφορία τότε και ...
Οικονομική απάτη στο διαδίκτυο | Εκπαιδευτικό πρόγραμμα "Πληροφορία τότε και ...Οικονομική απάτη στο διαδίκτυο | Εκπαιδευτικό πρόγραμμα "Πληροφορία τότε και ...
Οικονομική απάτη στο διαδίκτυο | Εκπαιδευτικό πρόγραμμα "Πληροφορία τότε και ...
 

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

  • 1. H ΓΛΩΣΣΑ C Μάθηµα 18: Η Βιβλιοθήκη string.h ∆ηµήτρης Ψούνης
  • 2. Περιεχόµενα Μαθήµατος Α. Η Βιβλιοθήκη string.h 1. Εισαγωγή 2. Βασικές Συναρτήσεις του string.h 1. Μήκος Συµβολοσειράς (strlen) 2. Αντιγραφή Συµβολοσειράς (strcpy) 3. Συνένωση Συµβολοσειράς (strcat) 4. Σύγκριση Συµβολοσειρών (strcmp) 5. Αναζήτηση Συµβολοσειράς (strstr) 3. Περισσότερες Συναρτήσεις του string.h 1. Η συνάρτηση strncpy 2. Η συνάρτηση strncat 3. Η συνάρτηση strncmp 4. Η συνάρτηση strdup 5. Η συνάρτηση strtok 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 1. Η συνάρτηση strchr 2. Η συνάρτηση strrchr 3. Η συνάρτηση strcspn 4. Η συνάρτηση strspn 5. Επιπλέον Συναρτήσεις του string.h 1. Συναρτήσεις που δεν ορίζονται στο ANSI πρότυπο 2. Συναρτήσεις ελέγχου χαρακτήρων Β. Ασκήσεις 2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h
  • 3. Α. Η Βιβλιοθήκη string.h 1. Εισαγωγή 3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Οι συµβολοσειρές είναι σηµαντικό µέρος σχεδόν σε οποιοδήποτε πρόγραµµα C. Στο «Μάθηµα 10: Χαρακτήρες και Συµβολοσειρές» είδαµε το συντακτικό των συµβολοσειρών και κατασκευάσαµε κάποιες συναρτήσεις για τον χειρισµό συµβολοσειρών. Στο σηµερινό µάθηµα, θα µελετήσουµε την βιβλιοθήκη συναρτήσεων string.h η οποία υλοποιεί ένα σύνολο από συναρτήσεις που είναι πολύ πιθανό να είναι χρήσιµες στα προγράµµατά µας: Για αντιγραφή και συνένωση συµβολοσειρών Για σύγκριση συµβολοσειρών Για αναζήτηση σε συµβολοσειρές Και αρκετές ακόµη! Σηµείωση: Το µάθηµα αυτό είναι το πρώτο που αφιερώνουµε εξ’ ολοκλήρου σε µια βιβλιοθήκη συναρτήσεων της C. Η C έχει αρκετές βιβλιοθήκες µε πολύ χρήσιµες συναρτήσεις. Θα µελετήσουµε και άλλες βιβλιοθήκες σε επόµενα µαθήµατα.
  • 4. A. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Οι πιο συχνά χρησιµοποιούµενες συναρτήσεις του string.h είναι οι ακόλουθες πέντε: Εκτελούν τις βασικές πράξεις που είναι συχνότερο να είναι χρήσιµες σε ένα πρόγραµµα χειρισµού συµβολοσειρών. Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία strlen size_t strlen(char *str) Επιστρέφει το µήκος της συµβολοσειράς strcpy char *strcpy( char *dest, const char *src) Αντιγράφει στη συµβολοσειρά dest τη συµβολοσειρά src strcat char *strcat(char *str1, const char *str2) Συνένωση συµβολοσειρών (str1=str1+str2) strcmp int strcmp(const char *str1, const char *str2) Σύγκριση συµβολοσειρών (Επιστρέφει <0 αν str1<str2, =0 αν str1=str2, >0 αν str1>str2) strstr char *strstr(const char *str, const char *search) Επιστρέφει δείκτη στην 1η εµφάνιση της search στην str
  • 5. Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 1. Μήκος Συµβολοσειράς (strlen) 5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strlen: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται σαν όρισµα µία συµβολοσειρά: Επιστρέφει το µήκος της (πλήθος χαρακτήρων) που περιέχει ∆εν µετριέται το ‘0’. size_t strlen(char *str) string.h Σηµείωση: To size_t είναι ένα (περίπου) «συνώνυµο» του τύπου δεδοµένων unsigned int Όπου το συναντάµε θα αντιµετωπίζουµε το επιστρεφόµενο αποτέλεσµα ως ακέραιο αριθµό
  • 6. 6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strlen /* strlen.c: Epideikniei ti xrisi tis strlen */ #include <stdio.h> #include <string.h> #define N 80 main() { char str[N]; /* eisodos */ printf("Dwse ti simvoloseira: "); gets(str); /* eksodos */ printf("Mikos=%d",strlen(str)); } Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 1. Μήκος Συµβολοσειράς (strlen)
  • 7. 7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strcpy: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές: Αντιγράφει την συµβολοσειρά src στην συµβολοσειρά dest (περιλαµβάνοντας το χαρακτήρα 0) Επιστρέφει ένα δείκτη στη συµβολοσειρά dest. char *strcpy( char *dest, const char *src) string.h Σηµείωση: Είναι ευθύνη του προγραµµατιστή να έχει δεσµεύσει χώρο και αυτός να είναι επαρκής για τη συµβολοσειρά dest H strcpy είναι υποχρεωτική όταν θέλουµε να αντιγράψουµε συµβολοσειρές. Η εντολή str1=str2 αναθέτει τον δείκτη str2 να δείχνει στην µνήµη που δείχνει η str1 άρα ∆ΕΝ κάνει αντιγραφή συµβολοσειράς. Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 2. Αντιγραφή Συµβολοσειρών (strcpy)
  • 8. 8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcpy /* strcpy.c: Epideikniei ti xrisi tis strcpy */ #include <stdio.h> #include <string.h> #define N 80 main() { char str1[N], str2[N]; /* eisodos */ printf("Dwse ti simvoloseira: "); gets(str1); /* antigrafi me tin strcpy */ strcpy(str2,str1); /* eksodos */ printf("str1=%s, str2=%s",str1,str2); } Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 2. Αντιγραφή Συµβολοσειρών (strcpy)
  • 9. 9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strcat: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές str1 και str2 και: Αντιγράφει στο τέλος της str1 ένα αντίγραφο της str2 Βάζει στο τέλος της νέας str1 ένα 0 Επιστρέφει ένα δείκτη στη συµβολοσειρά str1. char *strcat(char *str1, const char *str2) string.h ΠΡΙΝ: Hello World str1 str2 META: str1 str2 HelloWorld World Σηµείωση: Είναι ευθύνη του προγραµµατιστή να έχει δεσµεύσει χώρο και αυτός να είναι επαρκής για τη συµβολοσειρά που θα προκύψει από τη συνένωση των συµβολοσειρών. Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 3. Συνένωση Συµβολοσειρών (strcat)
  • 10. 10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcat /* strcat.c: Epideikniei ti xrisi tis strcat */ #include <stdio.h> #include <string.h> #define N 80 main() { char str1[N], str2[N]; /* eisodos */ printf("Dwse ti simvoloseira 1: "); gets(str1); printf("Dwse ti simvoloseira 2: "); gets(str2); /* antigrafi me tin strcat */ strcat(str1,str2); printf("nstr1=%s",str1); strcat(str1,str2); printf("nstr1=%s",str1); } Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 3. Συνένωση Συµβολοσειρών (strcat)
  • 11. 11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strcmp: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές και ανάλογα µε την αλφαριθµητική σύγκρισή τους: Αν str1<str2 επιστρέφει ακέραιο < 0 Αν str1==str2 επιστρέφει 0 Αν str1>str2 επιστρέφει ακέραιο > 0 int strcmp(const char *str1, const char *str2) string.h Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 4. Σύγκριση Συµβολοσειρών (strcmp)
  • 12. 12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcmp /* strcmp.c: Anadeiknyei ti xrisi tis strcmp */ #include <stdio.h> #include <string.h> #define N 80 main() { int res; char str1[N], str2[N]; /* eisodos */ printf("Dwse ti simvoloseira 1: "); gets(str1); printf("Dwse ti simvoloseira 2: "); gets(str2); /* sygrisi me tin strcmp */ res=strcmp(str1,str2); if (res<0) printf("str1<str2 (res=%d)",res); else if (res==0) printf("str1==str2 (res=%d)",res); else printf("str1>str2 (res=%d)",res); } Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 4. Σύγκριση Συµβολοσειρών (strcmp)
  • 13. 13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strstr: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται µία συµβολοσειρά (str) Επιστρέφει: ∆είκτη στην 1η εµφάνιση της search στην str. NULL αν δεν υπάρχει η search στην str char *strstr(const char *str, const char *search) string.h Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 5. Αναζήτηση Συµβολοσειράς (strstr)
  • 14. 14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strspn /* strstr.c: Anadeiknyei ti xrisi tis strstr */ #include <stdio.h> #include <string.h> #define N 80 main() { char str1[N], str2[N]; char *ptr; /* eisodos */ printf("Dwse to keimeno sto opoio anazitoume: "); gets(str1); printf("Dwse ti anazitoume: "); gets(str2); ptr=strstr(str1,str2); while(ptr!=NULL) { printf("Stin thesi %d: %sn",ptr-str1,ptr); ptr=strstr(ptr+1,str2); } } Α. Η Βιβλιοθήκη string.h 2. Βασικές Συναρτήσεις του string.h 5. Αναζήτηση Συµβολοσειράς (strstr)
  • 15. A. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Οι ακόλουθες συναρτήσεις χρησιµοποιούνται επισης συχνά στην πράξη. Είναι συναρτήσεις: Που συγκεκριµενοποιούν το µήκος συµβολοσειράς στις συνήθεις πράξεις (strncpy, strncat,strncmp) ∆ιευκόλυνσης χρήσης της αντιγραφής (strdup) ∆ιαχωρισµού συµβολοσειράς σε λέξεις (strtok) Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία strncpy char *strncpy( char *dest, const char *src, size_t n) Αντιγράφει n χαρακτήρες από τη συµβολοσειρά dest στη συµβολοσειρά src strncat char *strncat(char *str1, const char *str2, size_t n) Συνένωση συµβολοσειρών (str1=str1+str2) µε συγκεκριµένο µήκος της str2. strncmp int strncmp(const char *str1, const char *str2, size_t n) Σύγκριση των n πρώτων χαρακτήρων συµβολοσειρών (Επιστρέφει <0 αν str1<str2, =0 αν str1=str2, >0 αν str1>str2) strdup char *strdup(const char *str) Επιστρέφει ένα αντίγραφο της συµβολοσειράς str (δεσµεύοντας µνήµη για αυτήν) strtok char *strtok(char *str, char *delim) ∆ιαχωρίζει την συµβολοσειρά str µε βάση τα διαχωριστικά της delim
  • 16. 16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strncpy: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές και έναν ακέραιο: Αν το µήκος της src είναι µικρότερο του n: Αντιγράφει τη συµβολοσειρά src στην συµβολοσειρά dest (περιλαµβάνοντας το χαρακτήρα 0) Αν το µήκος της src είναι µεγαλύτερο(ή ίσο) του n: Αντιγράφει τους πρώτους n χαρακτήρες από την συµβολοσειρά src στην συµβολοσειρά dest (χωρίς να προσθέτει το χαρακτήρα 0) Επιστρέφει ένα δείκτη στη συµβολοσειρά dest. char *strncpy( char *dest, const char *src, size_t n) string.h Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 1. Η συνάρτηση strncpy()
  • 17. 17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcpy /* strncpy.c: Epideikniei ti xrisi tis strncpy */ #include <stdio.h> #include <string.h> #define N 80 main() { char str1[N], str2[N]; int l=5; /* eisodos */ printf("Dwse ti simvoloseira: "); gets(str1); /* antigrafi me tin strncpy */ strncpy(str2,str1,l); /* eksodos */ printf("str1=%s, str2=%s",str1,str2); } Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 1. Η συνάρτηση strncpy()
  • 18. 18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strncat: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές και έναν ακέραιο: Αν το µήκος της str2 είναι µικρότερο του n: Αντιγράφει στο τέλος της str1 ένα αντίγραφο της str2. Βάζει στο τέλος της νέας str1 ένα 0 Αν το µήκος της str2 είναι µεγαλύτερο(ή ίσο) του n: Αντιγράφει στο τέλος της str1 τους πρώτους n χαρακτήρες της str2. Βάζει στο τέλος της νέας str1 το 0 Επιστρέφει ένα δείκτη στη συµβολοσειρά str1. char *strncat(char *str1, const char *str2, size_t n) string.h Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 2. Η συνάρτηση strncat()
  • 19. 19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strncat /* strncat.c: Epideikniei ti xrisi tis strncat */ #include <stdio.h> #include <string.h> #define N 80 main() { int i; char str1[N], str2[N]; /* eisodos */ printf("Dwse ti simvoloseira 1: "); gets(str1); printf("Dwse ti simvoloseira 2: "); gets(str2); /* antigrafi me tin strncat */ for (i=1; i<=5; i++) { strncat(str1,str2,i); printf("nstr1=%s",str1); } } Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 2. Η συνάρτηση strncat()
  • 20. 20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strncmp: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται σαν όρισµα δύο συµβολοσειρές και έναν ακέραιο n και συγκρίνει τους πρώτους n χαρακτήρες (ή µέχρι το 0): Αν str1<str2 επιστρέφει ακέραιο < 0 Αν str1==str2 επιστρέφει 0 Αν str1>str2 επιστρέφει ακέραιο > 0 int strncmp(const char *str1, const char *str2, size_t n) string.h Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 3. Η συνάρτηση strncmp()
  • 21. 21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strncmp /* strncmp.c: Anadeiknyei ti xrisi tis strncmp */ #include <stdio.h> #include <string.h> #define N 80 main() { int res,l=4; char str1[N], str2[N]; /* eisodos */ printf("Dwse ti simvoloseira 1: "); gets(str1); printf("Dwse ti simvoloseira 2: "); gets(str2); /* sygkrisi me tin strncmp */ res=strncmp(str1,str2,l); /* eksodos */ if (res<0) printf("str1<str2 (res=%d)",res); else if (res==0) printf("str1==str2 (res=%d)",res); else printf("str1>str2 (res=%d)",res); } Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 3. Η συνάρτηση strncmp()
  • 22. 22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strdup: Και έχει οριστεί στη βιβλιοθήκη: Προσοχή ότι δεν είναι ANSI (ενδέχεται να µην υποστηρίζεται από τον µεταγλωττιστή) Η συνάρτηση δέχεται ως όρισµα µία συµβολοσειρά. ∆εσµεύει κατάλληλο χώρο (µε malloc), αντιγράφει τη συµβολοσειρα στο δεσµευµένο χώρο και επιστρέφει: Έναν δείκτη στη νέα συµβολοσειρά. NULL αν δεν έγινε η αντιγραφή char *strdup(const char *str) string.h Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 4. Η συνάρτηση strdup()
  • 23. 23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strdup /* strdup.c: Anadeiknyei ti xrisi tis strdup */ #include <stdio.h> #include <string.h> #define N 80 main() { char str[N]; char *str2; /* eisodos */ printf("Dwse ti simvoloseira: "); gets(str); /* antigrafi me tin strdup */ str2=strdup(str); /* eksodos */ if (!str2) { printf("Adynamia desmeusis mnimis!"); } else{ printf("Antigrafike: %s me mikos: %d",str2,strlen(str2)); } } Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 4. Η συνάρτηση strdup()
  • 24. 24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strtok: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται ως όρισµα µία συµβολοσειρά str και µία συµβολοσειρά που κωδικοποιεί διαχωριστικά (π.χ. κόµµα, τελεια,κενό: “,. “). Αν το str δεν είναι NULL (πρώτη κλήση), τότε επιστρέφει έναν δείκτη στην αρχή της συµβολοσειράς, έχοντας αντικαταστήσει την πρώτη εµφάνιση διαχωριστικού µε 0. Αν το str είναι NULL (επόµενες κλήσεις) τότε συνεχίζει η λειτουργία της από το σηµείο που η τελευταία κλήση βρήκε έναν από τους χαρακτήρες διαχωρισµού. char *strtok(char *str, char *delim) string.h Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 5. Η συνάρτηση strtok() Σηµείωση: Το παράδειγµα της επόµενης διαφάνειας αναδεικνύει τη συνάρτηση.
  • 25. 25∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strdup /* strtok.c: Anadeiknyei ti xrisi tis strtok */ #include <stdio.h> #include <string.h> #define N 80 main() { int i,res; char str[N], *p; /* eisodos */ printf("Dwse ti simvoloseira: "); gets(str); /* xwrismos me tin strtok */ p=strtok(str," ,."); /* eksodos */ while(p!=NULL) { printf("%sn",p); p=strtok(NULL," ,."); } } Α. Η Βιβλιοθήκη string.h 3. Περισσότερες Συναρτήσεις του string.h 5. Η συνάρτηση strtok()
  • 26. A. Η Βιβλιοθήκη string.h 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 26∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Ως συνέχεια της συνάρτησης strstr υπάρχουν και οι εξής συναρτήσεις που κάνουν αναζήτηση συµβολοσειράς Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία strchr char *strchr(const char *str, int ch) Επιστρέφει δείκτη στην 1η εµφάνιση του χαρακτήρα ch στην str strrchr char *strrchr(const char *str, int ch) Επιστρέφει δείκτη στην 1η εµφάνιση του χαρακτήρα ch στην str (αντιστρόφως) strcspn size_t strcspn(const char *str, const char *search) Επιστρέφει τη θέση που βρέθηκε η search στην str strspn size_t strspn(const char *str, const char *search) Επιστρέφει πόσοι χαρακτήρες της search βρέθηκαν στην str
  • 27. Α. Η Βιβλιοθήκη string.h 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 1. Η συνάρτηση strchr() 27∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strchr: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται ως ορίσµατα µία συµβολοσειρά και έναν χαρακτήρα. Επιστρέφει έναν δείκτη στην πρώτη εµφάνιση του χαρακτήρα στην συµβολοσειρά. Αν ο χαρακτήρας δεν υπάρχει στην συµβολοσειρά επιστρέφει NULL. char *strchr(const char *str, int ch) string.h
  • 28. 28∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strchr /* strchr.c: Anadeiknyei ti xrisi tis strchr */ #include <stdio.h> #include <string.h> #define N 80 main() { int i,res; char str[N], ch; char *ptr; /* eisodos */ printf("Dwse ti simvoloseira: "); gets(str); printf("Dwse to xaraktira: "); ch=getchar(); /* anazitisi me tin strchr */ ptr=strchr(str,ch); while(ptr!=NULL) { puts(ptr); ptr=strchr(ptr+1,ch); } } Α. Η Βιβλιοθήκη string.h 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 1. Η συνάρτηση strchr()
  • 29. 29∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strrchr: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται ως ορίσµατα µία συµβολοσειρά και έναν χαρακτήρα. Επιστρέφει έναν δείκτη στην τελευταία εµφάνιση του χαρακτήρα στην συµβολοσειρά. Αν ο χαρακτήρας δεν υπάρχει στην συµβολοσειρά επιστρέφει NULL. char *strrchr(const char *str, int ch) string.h Α. Η Βιβλιοθήκη string.h 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 2. Η συνάρτηση strrchr()
  • 30. 30∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strchr /* strrchr.c: Anadeiknyei ti xrisi tis strrchr */ #include <stdio.h> #include <string.h> #define N 80 main() { char str[N], ch; char *ptr; /* eisodos */ printf("Dwse ti simvoloseira: "); gets(str); printf("Dwse to xaraktira: "); ch=getchar(); /* anazitisi me tin strrchr */ ptr=strrchr(str,ch); puts(ptr); } Α. Η Βιβλιοθήκη string.h 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 2. Η συνάρτηση strrchr()
  • 31. 31∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strcspn : Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται µία συµβολοσειρά (str) στην οποία ψάχνει για την 1η εµφάνιση οποιουδήποτε από τους χαρακτήρες της συµβολοσειράς (search) Επιστρέφει: Την θέση της 1ης εµφάνισης (αν βρέθηκε εµφάνιση) Το µήκος της συµβολοσειράς str (αν δεν βρέθηκε εµφάνιση) size_t strcspn(const char *str, const char *search) string.h Α. Η Βιβλιοθήκη string.h 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 3. Η συνάρτηση strcspn()
  • 32. 32∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strcspn /* strcspn.c: Anadeiknyei ti xrisi tis strcspn */ #include <stdio.h> #include <string.h> #define N 80 main() { char str[N], ch; char *ptr; int pos; /* eisodos */ printf("Dwse ti simvoloseira: "); gets(str); /* anazitisi me tin strcspn */ pos=strcspn(str,"abc"); if (pos!=strlen(str)) printf("Apo ti thesi %d: %s",pos, &str[pos]); else printf("Den vrethikan oi xaraktires abc stin %s", str); } Α. Η Βιβλιοθήκη string.h 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 3. Η συνάρτηση strcspn()
  • 33. 33∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το πρωτότυπο της συνάρτησης strspn: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση δέχεται µία συµβολοσειρά (str) Σε αυτήν µετράει πόσοι συνεχόµενοι (από την αρχή) χαρακτήρες περιέχονται στην συµβολοσειρά search Επιστρέφει: Το πλήθος των χαρακτήρων της str που βρέθηκαν να περιέχονται και στην search. size_t strspn(const char *str, const char *search) string.h Α. Η Βιβλιοθήκη string.h 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 4. Η συνάρτηση strspn()
  • 34. 34∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση strspn /* strspn.c: Anadeiknyei ti xrisi tis strcspn */ #include <stdio.h> #include <string.h> #define N 80 main() { char str1[N], str2[N]; char *ptr; int i,length; /* eisodos */ printf("Dwse ti 1i simvoloseira: "); gets(str1); printf("Dwse ti 2i simvoloseira: "); gets(str2); /* anazitisi me tin strspn */ length=strspn(str1,str2); if (length>0){ printf("Oi prwtoi %d xaraktires tis str1 periexontai stin stin str2:",length); for (i=0; i<length; i++) printf("%c",str1[i]); } else printf("Oi symvoloseires den tairiazoun"); Α. Η Βιβλιοθήκη string.h 4. Συναρτήσεις Αναζήτησης σε Συµβολοσειρά 4. Η συνάρτηση strspn()
  • 35. 35∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Οι ακόλουθες συναρτήσεις δεν ορίζονται στο πρότυπο ANSI, αλλά έχουν υλοποιηθεί στους περισσότερους µεταγλωττιστές: Όνοµα Λειτουργία Πρωτότυπο Συνάρτησης Λειτουργία strlwr Μετατροπή σε µικρά char *strlwr(char *str) ∆έχεται ως όρισµα µια συµβολοσειρά Μετατρέπει τους κεφαλαίους χαρακτήρες σε µικρούς Επιστρέφει δείκτη στην str strupr Μετατροπή σε κεφαλαία char *strupr(char *str) ∆έχεται ως όρισµα µια συµβολοσειρά Μετατρέπει τους µικρούς χαρακτήρες σε κεφαλαίους Επιστρέφει δείκτη στην str strrev Αντιστροφή Συµβολοσειράς char *strrev(char *str) ∆έχεται ως όρισµα µια συµβολοσειρά Αντιστρέφει τη συµβολοσειρά Επιστρέφει δείκτη στην str Α. Η Βιβλιοθήκη string.h 5. Επιπλέον Συναρτήσεις του string.h 1. Συναρτήσεις που δεν ορίζονται στο ANSI πρότυπο
  • 36. 36∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Οι ακόλουθες συναρτήσεις δεν ορίζονται στο πρότυπο ANSI, αλλά έχουν υλοποιηθεί στους περισσότερους µεταγλωττιστές: Όνοµα Λειτουργία Πρωτότυπο Συνάρτησης Λειτουργία strset Αντικατάσταση χαρακτήρων συµβολοσειράς char *strset(char *str, int ch) ∆έχεται ως όρισµα µια συµβολοσειρά. Γράφει σε όλη τη συµβολοσειρά το χαρακτήρα ch. Επιστρέφει δείκτη στην str strnset Αντικατάσταση χαρακτήρων συµβολοσειράς char *strnset(char *str, int ch,size_t n) ∆έχεται ως όρισµα µια συµβολοσειρά. Αντικαθιστά τους n πρώτους χαρακτήρες της str µε ch. Επιστρέφει δείκτη στην str Α. Η Βιβλιοθήκη string.h 5. Επιπλέον Συναρτήσεις του string.h 1. Συναρτήσεις που δεν ορίζονται στο ANSI πρότυπο
  • 37. 37∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Οι ακόλουθες συναρτήσεις χρησιµεύουν για τον έλεγχο ενός χαρακτήρα: Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία isalnum int isalnum(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι αλφαριθµητικό (χαρακτήρας ή ψηφίο) isalpha int isalpha(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι γράµµα isdigit int isdigit(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι ψηφίο ispunct int ispunct(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι σηµείο στίξης iscntrl int iscntrl(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι to CTRL isgraph int isgraph(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι εκτυπώσιµος χαρακτήρας (εκτός του space) isprint int isprint(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι εκτυπώσιµος χαρακτήρας (περιλαµβάνει το space) Α. Η Βιβλιοθήκη string.h 5. Επιπλέον Συναρτήσεις του string.h 2. Συναρτήσεις ελέγχου χαρακτήρων
  • 38. 38∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Οι ακόλουθες συναρτήσεις χρησιµεύουν για τον έλεγχο ενός χαρακτήρα: Όνοµα Πρωτότυπο Συνάρτησης Λειτουργία isupper int isupper(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι κεφαλαίος islower int islower(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι µικρός isspace int isspace(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι κενό (space,tab,vertical tab,form feed, ή carriage return) isblank int isblank(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι κενό isxdigit int isxdigit(char ch) Επιστρέφει TRUE/FALSE αν ο ch είναι 16δικό ψηφίο Α. Η Βιβλιοθήκη string.h 5. Επιπλέον Συναρτήσεις του string.h 2. Συναρτήσεις ελέγχου χαρακτήρων
  • 39. Β. Ασκήσεις 1. Ταξινόµηση Συµβολοσειρών 39∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Στο µάθηµα «Αλγόριθµοι σε C: Μάθηµα 3 – Ταξινόµηση Πίνακα» κατασκευάσαµε ένα πρόγραµµα που υλοποιεί ταξινόµηση ακεραίων. Τροποποιήστε το πρόγραµµα έτσι ώστε: 1. Να διαβάζει από την είσοδο 10 συµβολοσειρές 2. Να ταξινοµεί τις συµβολοσειρές χρησιµοποιώντας για την συγκριση τη συνάρτηση strcmp. 3. Να προβάλλει τον ταξινοµηµένο πίνακα στην οθόνη.
  • 40. Β. Ασκήσεις 2. Ταξινόµηση Συµβολοσειρών 40∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 18: Η Βιβλιοθήκη string.h Τροποποιήστε το πρόγραµµα της εφαρµογής 1, έτσι ώστε αντί να διαβάζει 20 συµβολοσειρές, να διαβάζει µία φράση, να την αποδοµεί σε λέξεις µε την strtok και έπειτα να ταξινοµεί τις λέξεις που προέκυψαν.