0% ont trouvé ce document utile (0 vote)
73 vues42 pages

Comprendre les chaînes de caractères en C

Le document décrit les chaînes de caractères, y compris leur définition, propriétés et opérations. Il explique comment représenter et manipuler les chaînes en langage C à l'aide de bibliothèques standards.

Transféré par

Arij Chouchene
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
73 vues42 pages

Comprendre les chaînes de caractères en C

Le document décrit les chaînes de caractères, y compris leur définition, propriétés et opérations. Il explique comment représenter et manipuler les chaînes en langage C à l'aide de bibliothèques standards.

Transféré par

Arij Chouchene
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction

Chaîne de caractères
Tableau des chaînes

Chapitre 5 : Chaîne de caractères

Hassen NAKBI ::: [email protected]

1ere année Licence

27 novembre 2023

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 1 / 42


Introduction
Chaîne de caractères
Tableau des chaînes

Introduction

Chaîne de caractères
Une chaîne de caractères est une séquence ordonnée de caractères.
Les caractères peuvent inclure des lettres, des chiffres, des espaces,
des symboles, et même des caractères spéciaux tels que les retours
à la ligne. Une chaîne est souvent utilisée pour représenter des
paragraphes et du texte dans un programme.

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 2 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

2 Chaîne de caractères
2.1 Définition
2.2 Propriétés
2.3 Définition algorithmique
2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 3 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Définition algorithmique
En algorithmique, une chaîne de caractères est généralement
représentée comme un tableau (ou une liste) de caractères. Chaque
caractère occupe une position spécifique dans la séquence.
Cependant, en langage C la chaîne est terminée par un caractère
spécial appelé le "caractère nul" noté "\0". Ce caractère indique la
fin de la chaîne.

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 4 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

2 Chaîne de caractères
2.1 Définition
2.2 Propriétés
2.3 Définition algorithmique
2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 5 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Propriétés
La taille d’une chaîne représente la capacité maximale de la
mémoire réservée pour une chaîne, tandis que la longueur
d’une chaîne représente le nombre réel de caractères dans la
chaîne.
Lors de la définition initiale d’une chaîne, elle devient une
chaîne immuable, et il est impossible de lui attribuer une
nouvelle chaîne par la suite.
Les caractères composant une chaîne peuvent être accédés par
leur indice en utilisant l’opérateur d’indexation.

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 6 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

2 Chaîne de caractères
2.1 Définition
2.2 Propriétés
2.3 Définition algorithmique
2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 7 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Définition d’une chaîne


Définition algorithmique
Algorithme principal chaîne
CONST N = 50
TYPE chaine = tableau[1 .. N] de caractères
VAR CH : chaine
procédure Lirechaine (ST : chaine)
Début
Écrire("Saisir une chaine")
Lire(ST)
Fin
DÉBUT
Lirechaine(CH)
Écrire(CH, " de longueur : ",long(CH) )
FIN
Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 8 / 42
2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

2 Chaîne de caractères
2.1 Définition
2.2 Propriétés
2.3 Définition algorithmique
2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 9 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Fichier bibliothèque string.h


Le fichier d’en-tête string.h est une bibliothèque standard en
langage C qui fournit des fonctions pour la manipulation de chaînes
de caractères. Cette bibliothèque offre diverses fonctions pour
effectuer des opérations courantes sur les chaînes, telles que la
copie, la comparaison, et la concaténation.

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 10 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Fichiers bibliothèques

Fichier <stdio.h>
Fonction Description
puts(S) Affiche à l’écran la chaîne S avec un retour à la
ligne.
gets(S) Elle fait attendre au clavier une suite des caractères
qui se termine par la touche clavier entrée.
Fichier <string.h>
Fonction Description
strlen(S) Elle fait rendre la longueur réelle d’une chaîne S.

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 11 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Chaîne en langage C

Programmation C
#include <stdio.h>
#include <string.h>
#define N 50
char CH[N] ;
void Lirechaine(char ST[ ]){
printf("Saisir une chaîne : ") ;
gets(ST) ;}
int main( ) {
Lirechaine(CH) ;
printf("%s de longueur %hi ",CH,strlen(CH)) ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 12 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Accès aux éléments d’une chaîne


Les caractères composant une chaîne peuvent être accédés par leur
indice en utilisant l’opérateur d’indexation.

Algorithme principal chaîne #include <stdio.h>


CONST N = 50 #include <stdlib.h>
TYPE chaine = tableau[1 .. #include <ctype.h>
N] de caractères #define N 50
VAR CH : chaine char CH[N] ;
DÉBUT int main( ) {
CH[1] ←− ’b’ - 32 CH[0] = toupper(’b’) ;
CH[2] ←− ’F’ + 32 CH[1] = tolower(’F’) ;
CH[3] ←− CH[1] + 4 CH[2] = CH[0] + 4 ;
CH[4] ←− ’a’ + aléa(26) CH[3] = ’a’ + rand()%26 ;
FIN return 0 ;}
Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 13 / 42
2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

2 Chaîne de caractères
2.1 Définition
2.2 Propriétés
2.3 Définition algorithmique
2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 14 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Opérations sur une chaîne

Opérations sur une chaîne


Les chaînes peuvent être manipulées de différentes manières,
notamment la concaténation, la copie, la comparaison, la recherche
de sous-chaînes, et l’extraction de sous-chaînes.

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 15 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

Fichier bibliothèque <string.h>

Fonction Description
strcpy(S1,S2) Copie le contenu de S2 dans la chaîne S1.
strncpy(S1,S2,n) Copie les premiers n caractères de S2 dans
S1.
strcat(S1,S2) Concatène la chaîne S2 à la fin de S1.
strncat(S1,S2,n) Concatène les premiers n caractères de
chaîne S2 à la fin de S1.
strcmp(S1,S2) Compare deux chaînes S1 et S2 selon les
codes ASCII.
strncmp(S1,S2,n) Compare les premiers n caractères de chaîne
S2 et le contenu de S1 selon les codes ASCII.

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 16 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

a. Copie des chaînes


L’opération de copie de chaîne consiste à créer une copie identique
d’une chaîne de caractères existante dans une nouvelle zone
mémoire.
Algorithme principal copiechaîne
CONST N = 50
TYPE chaine = tableau[1 .. N] de caractères
VAR CH : chaine
DÉBUT
copie(CH,"Salut ")
FIN

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 17 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

a. Copie des chaînes


#include <stdio.h>
#include <string.h>
#define N 30
char CH[N] ;
int main( ) {
strcpy(CH,"Salut ") ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 18 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

b. Concaténation des chaînes


La concaténation est une opération qui consiste à fusionner deux
chaînes de caractères pour en former une nouvelle. Elle est
généralement réalisée en ajoutant les caractères de la deuxième
chaîne à la fin de la première.
Algorithme principal concatchaîne
CONST N = 50
TYPE chaine = tableau[1 .. N] de caractères
VAR CH1, CH2 : chaine
Fin
DÉBUT
copie(CH1,"Salut ")
copie(CH2,"Mohamed")
CH1 ←− CH1 + CH2
FIN
Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 19 / 42
2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

b. Concaténation des chaînes


#include <stdio.h>
#include <string.h>
#define N 30
char CH1[N],CH2[N] ;
int main( ) {
strcpy(CH1,"Salut ") ;
strcpy(CH2,"Mohamed") ;
strcat(CH1,CH2) ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 20 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

c. Comparaison des chaînes


L’opération de comparaison de chaînes de caractères est utilisée
pour déterminer si deux chaînes sont égales ou non.
Algorithme principal comparechaîne
CONST N = 50
TYPE chaine = tableau[1 .. N] de caractères
VAR CH1, CH2 : chaine
Fin
DÉBUT
copie(CH1,"Salut ")
copie(CH2,"Mohamed")
SI (compare(CH1,CH2) ̸= 0) alors
Écrire("Les deux mots sont différents")
FIN

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 21 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

c. Comparaison des chaînes


#include <stdio.h>
#include <string.h>
#define N 30
char CH1[N],CH2[N] ;
int main( ) {
strcpy(CH1,"Salut ") ;
strcpy(CH2,"Mohamed") ;
if (strcmp(CH1,CH2) != 0)
printf("Les deux mots sont différents") ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 22 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

d. Conversion des chaînes


En algorithmique, les fonctions de conversion sont utilisées pour
transformer des données d’un type à un autre.
Convertir une chaîne de caractères vers un entier.
Algorithme principal convchaîne
CONST N = 50
TYPE chaine = tableau[1 .. N] de caractères
VAR CH : chaine
a :entier
DÉBUT
copie(CH,"123")
a ←− conventier(CH1)
FIN

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 23 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

d. Conversion des chaînes


#include <stdio.h>
#include <stdlib.h>
#define N 50
char CH[N] ;
short a ;
int main( ) {
strcpy(CH,"123") ;
a = atoi(CH) ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 24 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

d. Conversion des chaînes


Convertir une chaîne de caractères vers un réel.
Algorithme principal convchaîne
CONST N = 50
TYPE chaine = tableau[1 .. N] de caractères
VAR CH : chaine
b : réel
DÉBUT
copie(CH,"7.25")
b ←− convréel(CH)
FIN

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 25 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

d. Conversion des chaînes


#include <stdio.h>
#include <stdlib.h>
#define N 50
char CH[N] ;
float b ;
int main( ) {
strcpy(CH,"7.25") ;
b = atof(CH) ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 26 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

d. Conversion des chaînes


Convertir un entier ou un réel vers une chaîne.
Algorithme principal convchaîne
CONST N = 50
TYPE chaine = tableau[1 .. N] de caractères
VAR CH : chaine ; a :entier ; b : réel
DÉBUT
a ←− 7
b ←− 7/2
convch(CH,a)
copie(CH+1,"divisé par deux")
convch(CH+16,b)
FIN

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 27 / 42


2.1 Définition
Introduction 2.2 Propriétés
Chaîne de caractères 2.3 Définition algorithmique
Tableau des chaînes 2.4 Chaîne en langage C
2.5 Opérations sur une chaîne

d. Conversion des chaînes


#include <stdio.h>
#define N 50
char CH[N] ;
short a = 7 ;
float b = a / 2 ;
int main( ) {
sprintf(CH,"%hi divise par deux %f",a,b) ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 28 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

3 Tableau des chaînes


3.1 Définition
3.2 Propriétés
2.3 Définition algorithmique
3.4 Tableau des chaînes en langage C

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 29 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

Définition
En algorithmique, un tableau de chaînes est modélisé comme une
matrice qui représente un ensemble de lignes de chaînes. Chaque
ligne du tableau est une chaîne de caractères différente, et chaque
colonne représente un caractère composant une chaîne.

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 30 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

3 Tableau des chaînes


3.1 Définition
3.2 Propriétés
2.3 Définition algorithmique
3.4 Tableau des chaînes en langage C

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 31 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

Propriétés
Taille fixe : La taille du tableau des chaînes, c’est-à-dire le
nombre de chaînes qu’il peut contenir, est généralement fixe à
la définition.
Longueurs variables : Chaque chaîne dans le tableau peut
avoir une longueur différente. Cela permet de stocker des
chaînes de caractères de longueurs variables.
Accès par ligne : L’accès aux chaînes se fait généralement de
manière séquentielle, en parcourant les lignes du tableau.

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 32 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

3 Tableau des chaînes


3.1 Définition
3.2 Propriétés
2.3 Définition algorithmique
3.4 Tableau des chaînes en langage C

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 33 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

Définition d’un tableau des chaîne


Algorithme principal tabchaîne
CONST M = 10, N = 50
TYPE chaine = tableau[1 .. N] de caractères
TYPE tabchaine = tableau[1 .. M][1 .. N] de chaines
VAR TCH : tabchaine
procédure scanst(ST : tabchaine)

VAR i : entier DÉBUT


Début scanst(TCH)
Pour i de 1 à M pas ←− 1 FIN
faire
Écrire("Saisir une chaine")
Lire(ST[i])
FinPour
Fin
Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 34 / 42
3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

3 Tableau des chaînes


3.1 Définition
3.2 Propriétés
2.3 Définition algorithmique
3.4 Tableau des chaînes en langage C

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 35 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

Tableau des chaînes en langage C


#include <stdio.h>
#include <string.h>
#define M 10
#define N 50
char TCH[M][N] ;
void scanst(char ST[ ][N]){
for(i=0 ;i<M ;i++) {
printf("Saisir une chaîne : ") ;
gets(ST[i]) ;}}
int main( ) {
scanst(TCH) ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 36 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

a. Copie dans un tableau des chaînes


Algorithme principal tabchaînecopie
CONST M = 10, N = 50
TYPE chaine = tableau[1 .. N] de caractères
TYPE tabchaine = tableau[1 .. M][1 .. N] de chaines
VAR TCH : tabchaine
DÉBUT
copie(TCH[2],"Bonjour tout le monde")
FIN

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 37 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

a. Copie dans un tableau des chaînes


#include <stdio.h>
#include <string.h>
#define M 10
#define N 50
char TCH[M][N] ;
int main( ) {
strcpy(TCH[1],"Bonjour tout le monde") ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 38 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

b. Concaténation des chaînes


Algorithme principal concatchaîne
CONST M = 10, N = 50
TYPE chaine = tableau[1 .. N] de caractères
TYPE tabchaine = tableau[1 .. M][1 .. N] de chaines
VAR TCH : tabchaine
DÉBUT
copie(TCH[1],"Salut ")
copie(TCH[2],"Bonjour ")
TCH[1] ←− TCH[1] + "Ahmed"
TCH[2] ←− TCH[2] + "Mariem"
FIN

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 39 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

b. Concaténation des chaînes


#include <stdio.h>
#include <string.h>
#define M 10
#define N 50
char TCH[M][N] ;
int main( ) {
strcpy(TCH[0],"Salut ") ;
strcpy(TCH[1],"Bonjour ") ;
strcat(TCH[0],"Ahmed") ;
strcat(TCH[1],"Mariem") ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 40 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

c. Comparaison des chaînes


Algorithme principal comparechaîne
CONST M = 10, N = 50
TYPE chaine = tableau[1 .. N] de caractères
TYPE tabchaine = tableau[1 .. M][1 .. N] de chaines
VAR TCH : tabchaine
DÉBUT
copie(TCH[1],"Bonsoir")
copie(TCH[2],"Bonjour")
SI (compare(TCH[1],TCH[2]) ̸= 0) alors
Écrire("Les deux chaînes sont différentes")
FIN

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 41 / 42


3.1 Définition
Introduction
3.2 Propriétés
Chaîne de caractères
2.3 Définition algorithmique
Tableau des chaînes
3.4 Tableau des chaînes en langage C

c. Comparaison des chaînes


#include <stdio.h>
#include <string.h>
#define M 10
#define N 50
char TCH[M][N] ;
int main( ) {
strcpy(TCH[0],"Bonsoir") ;
strcpy(TCH[1],"Bonjour") ;
if (strcmp(TCH[0],TCH[1]) != 0)
printf("Les deux chaînes sont différentes") ;
return 0 ;}

Hassen NAKBI ::: [email protected] Chapitre 5 : Chaîne de caractères 27 novembre 2023 42 / 42

Vous aimerez peut-être aussi