Académique Documents
Professionnel Documents
Culture Documents
Algorithmique &
Programmation_2 (Langage C)
Tronc Commun MIPC (S3)
2018/2019
Les chaînes de Caractères
Définition:
• En C, les chaînes de caractères sont des tableaux de caractères. Leur manipulation est
alors similaire à celle des tableaux à une dimension
Déclaration:
•char phrase[taille];
•Le compilateur réserve (taille-1) places en mémoire pour la chaînede
caractères.
•La dernière case est réservée au caractère NUL (‘\0’) qui indique la fin de la
chaîne de caractères.
•Pour un texte de n caractères, nous devons prévoir n+1 octets (un caractère
occupe un octet en mémoire). Le un octet de plus est réservé au caractère ‘\0 ‘
Exemples :
char NOM [20]; / * Définit une chaîne de 19 caractères*/
char PRENOM [20]; / * on déclare une chaîne de 19 caractères*/
char PHRASE[300]; / * on déclare une chaîne de 299 caractères*/
Les chaînes de caractères
Initialisation:
char CHAINE[6] = {'H','e','l','l','o','\0'};
char CHAINE[] = "Hello";
Mémorisation:
char TXT[10] = " BONJOUR!";
intmain(){
char lettre ;
scanf("%c", &lettre);
printf("%c\n", lettre);
return 0;}
Les chaînes sont des tableaux de char
Une chaîne de caractères n'est rien d'autre qu'un tableau de type char.
Exemple
char LIEU[25];
printf("Entrez lieu de naissance : \n");
gets(LIEU);
Les chaînes de Caractères
Exemple:
char TEXTE[] = "Voici une première ligne.";
puts(TEXTE);
puts("Voici une deuxième ligne.");
Les chaînes de Caractères
Fonctions pour manipulation de chaînes de caractères: bibliothèque <string.h>
Fonction Rôle
char *strcat(char *dest, const char *src); concatène la chaîne src à la suite de dest
int strcmp(const char *, const char*); compare deux chaînes numériquement
char*strcpy(char *destination, const char *source); copie une chaîne de caractères source
dans la chaîne destination
int strlen(const char* ch); retourne la longueur de la chaîne ch
(sans compter le caractère \0 ).
char *strchr(const char *, int); cherche un caractère dans une chaîne et
renvoie un pointeur sur le caractère, en cherchant depuis le
début
char*strstr(const char *ch1, const char *ch2); tro
ouve la première occurrence de la chaîne ch2 dans la
chaîne ch2
char *strlwr(const char *chaine) Coonvertit toutes les majuscules en minuscules sans
changer les autres caractères.
char *strupr(const char *chaine) onvertit toutes les minuscules en majuscules sans
Co
changer les autres
Les chaînes de Caractères
Exemple1: (Calculer la longueur d’une chaine):
Exemple2 :(Copier
(Copier une chaine dans une autre):
Exemple3 (Comparer deux chaines de caractères):
Exemple4 (Trier une chaine de caractères):