Académique Documents
Professionnel Documents
Culture Documents
Bayar Nawel
(bayarnawel86@gmail.com)
2 ENISo 2021-2022
Déclaration et initialisation des chaînes de
caractères
Déclaration
Char <Nom_Chaine>[<dimention>]
Exemple
char nom[20] ;
char texte[255];
Initialisation
Char ch[8]= « Bonjour »;
Char ch[]= « Bonjour »;
3 ENISo 2021-2022
Déclaration et initialisation des chaînes de
caractères
Toutes les chaînes en c se terminent par le caractère de
fin de chaîne ‘\0’ de code ASCII 0.
Il faut toujours prévoir une case supplémentaire lors
de la déclaration d’une chaîne.
Char Ch[8]=« Bonjour »;
ÞChar Ch[8]= {‘B’, ’o’, ‘n’, ‘j’ , ‘o’, ‘u’ , ‘r’};
ÞCh[0] -> ‘B’
Ch[6] -> ‘r’
Ch[7] -> ‘\0’
4 ENISo 2021-2022
Lecture et écriture des chaînes de caractères
La lecture d’une chaîne de caractère est possible avec:
- scanf(‘‘%s’’, ch) : On peut ne pas mettre & pour stocker
la chaîne. Ch est elle-même une @.
- gets(ch): On l’utilise pour récupérer une chaîne de
caractère avec des espaces.
Exemple
Au clavier, on tape « Il pleut », on la récupère de la sorte:
- scanf(‘‘%s %s’’, ch1,ch2) ;
- gets(ch);
5 ENISo 2021-2022
Lecture et écriture des chaînes de caractères
6 ENISo 2021-2022
Fonctions sur chaînes de caractères
strlen (ch): retourne un entier qui indique la longueur de la
chaîne « ch » sans compter le caractère ‘\0’.
strcat(ch1,ch2): permet de concaténer ch2 à ch1 et met le
résultat dans ch1.
strcpy(ch1,ch2): copie ch2 dans ch1.
Exemple
Char Ch1[8]= ‘‘Bonjour’’
Char Ch2[3]= ‘‘de’’
strcpy(ch1,ch2) ch1 : d e \0 j o u r \0
ch2 : de \0
Printf (‘‘%s’’, ch1); affiche de
strcat(ch1,ch2) Printf (‘‘%s’’, ch1); affiche Bonjourde
7 ENISo 2021-2022
Fonctions sur chaînes de caractères
Strcmp (ch1,ch2): Compare ch1 à ch2 et retourne un
entier:
- Positif si ch1>ch2
- Nul si ch1=ch2
- Négatif si ch1<ch2
Exemple
If(strcmp(ch1,ch2 )==0) printf (‘‘Les deux chaînes sont
égales’’);
Else printf (‘‘Les deux chaînes sont différentes’’);
8 ENISo 2021-2022
Fonctions sur les caractères
isupper(c): retourne 1 si c est majuscule ; 0 sinon
9 ENISo 2021-2022
Exercice d’application
Proposer un programme qui vérifie si un mot (une chaîne
de caractères) est un Palindrome. Un palindrome est un
mot que l’on peut lire dans les deux sens.
10 ENISo 2021-2022
Les enregistrements – structures
un enregistrement est une structure de données qui
rassemble plusieurs champs, ceux-ci contenant des
valeurs qui peuvent être de types différents.
Déclaration Exemple
struct <nom-struct> struct etudiant
{ {
type 1 champ1; char nom[20];
… char prenom [15];
type 2 champ n; int cin;
}; };
11 ENISo 2021-2022
Les enregistrements – structures
Accès Exemple
e.nom;
<var>.<champ> //Accés au nom d’un
étudiant e.
Classe[i].prenom
//Accés au prenom d’un
étudiant e situé dans un
tableau remplie
d’étudiants.
12 ENISo 2021-2022
Les enregistrements – structures
Structure imbriquée
13 ENISo 2021-2022
Les enregistrements – structures
Exercice
14 ENISo 2021-2022