Chaine des caractères
1- introduction :
C’est une succession de n caractères (0≤n≤255).
On langage c, une chaine de caractères est déclaré comme un tableau de caractères avec un dernier caractère de contrôle « \0 » : son code ASC2 est égal à zéro, il indique la fin de la chaine de caractères.
|
‘B’ |
‘O’ |
‘N’ |
‘J’ |
‘O’ |
‘U’ |
‘R’ |
‘\0’ |
è BONJOUR
2- Les chaines de caractères :
Tableau : @ 1ére élément(caractère) du tableau.
1* déclaration d’une chaine :
Types(char) nom_tableau[longeur+1] /* +1 car on à la caractére \0*/
2* initialisation d’une chaine :
1ére méthode :
Char mot[4]={‘b’,’o’,’n’,’\0’} ; /*3+1*/
2éme méthode :
Char mot[4] ;
mot[0]=’b’ ;
mot[1]=’o’ ;
mot[2]=’n’ ;
mot[3]=’\0’ ;
3éme méthode :
Char mot[]= "bon" ;
3- Chaine de caractères constante :
· Sont indiqué entre " ". exemple : Char mot[]= "bon" ;
· La chaine vide est "".
· L’accée à une caractére se fait comme les tableaux.
4- Ecriture d’une chaine de caractères :
Printf("format(s) (%s)",nom_chaine(s)) ;
Exemples :
Char matiere[]="informatique" ;
Printf("%s",matiere) ; /* donne : informatique*/
Printf("%.4s",matiere) ; /* donne : info*/
è Il est faux décrire matière avec les e avec accent car les noms de tout les types(entier, réel…) ne sont pas tenus en compte en c).
Exemple :
int bébé ; /*faux*/
5- Lecture d’une chaine de caractères :
Scanf("format(s)",nom_chaine) ;
/*attention nom_chaine n’est suivi d’un & (adressage), c’est valable seulement pour les chaine de caractères ou des autre cas à étudier par la suite des chapitres*/
On peut aussi utilisé la fonction prés difinie « gets » permet de lire une ligne se terminant par un retour à la ligne et la copie à l’adresse indiqué par le nom de la chaine.
Syntaxe :
Gets(nom_chaine) ;
6- Les fonctions de manipulation d’une chaine de caractères :
Beaucoup de chaine sont fournie on langage c obtenue à partir de la bibliothèque : string.h
1* strlen : retourne le nombre du caractères d’une chaine sans calcule de\0.
Strlen(nom_chaine) ;
2*strcpy : permet de copier une chaine de caractére dans une variable de type chaine de caractére.
Strcpy(nom_ch1,nom_ch2) ;
Exemple :
Strcpy(ch1, "info") ;
3* strcat : permet la concaténation de deux chaines de caractères.
Strcat(ch1,ch2) ;
Exemple :
Strcpy(ch1,"bon") ;
Strcpy(ch2,"jour") ;
è Strcat(ch1,ch2) ; donne : bonjour
4* strcmp : compare deux chaines de caractères et renvoie l’indice 0 si elles sont identique.
Strcmp(ch1,ch2) ;
7- Les tableaux de chaine de caractères :
C’est un tableau à deux dimensions de type char telle que chaque ligne admet une chaine de caractères.
Remarque :
int tab[10][5] ; /*matrice d’entier*/
char tab[10][5] ; /*tableau de chaine de caractères*/
Lors de la déclaration, on peut initialiser les composantes par des chaines de caractères.
Exemple :
char jour [7][9]
= {"lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"} ;
è 7 lignes correspondent au jour et 9 caractères sur colonne (8+1).
Pour accédé à une chaine, il faut indiquer la ligne correspondante.
Printf("c’est %s",jour[3]) ; -> c’est jeudi
Pour accéder à une caractère d’une chaine, il faut indiqué la ligne correspondante et l’indice du caractère dans la chaine.
Printf("%c",jour[0][0]) ; -> l
Pour affecter une chaine à une composante d’un tableau de type chaine de caractères, il faut utiliser la fonction strcpy.
Strcpy(jour[0], "monday") ;
/*on peut faire un programme pour convertir les jours*/
Créer un site internet gratuit avec E-monsite.com
- Signaler un contenu illicite
- Voir d'autres sites dans la catégorie Programmation
Comment créer un site -
Videos Droles
- Clips musique
- Cours création de site web