Vous êtes sur la page 1sur 39

SÉANCE 4

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 1


LES CHAINES DE CARACTERES

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 2


LES CHAINES DE CARACTERES

Lecture

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 3


LES CHAINES DE CARACTERES
Déclaration & Initialisation
• En C, il n’existe pas de type de variable pour les chaînes de
caractères comme pour les entiers ou les caractères.
• Les chaînes sont stockées dans un tableau de caractères
dont la fin est marquée par le caractères ‘\0’.
• Cela signifie qu’une chaîne de n caractères occupe en
mémoire un emplacement de n+1 octets.
• En mémoire, la chaine « Hello » est représentée comme
suit:
Programmation en C 1A-IIIA Année Universitaire : 2022-2023 4
LES CHAINES DE CARACTERES
Déclaration & Initialisation

• Une chaîne de caractères peut être déclarée et initialisée de


plusieurs manières, la plus simple est :

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 5


LES CHAINES DE CARACTERES
Affichage & Lecture

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 6


LES CHAINES DE CARACTERES
Fonctions sur les Chaînes :

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 7


Exercice 3 TP 2 : LES CHAINES DE CARACTERES EN C

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 8


Exercice 3 TP 2 : LES CHAINES DE CARACTERES EN C

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 9


Exercice 3 TP 2 : LES CHAINES DE CARACTERES EN C

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 10


Exercice 4 TP 2 : LES CHAINES DE CARACTERES EN C

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 11


Exercice 4 TP 2 : LES CHAINES DE CARACTERES EN C

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 12


Exercice 5 TP 2 : LES CHAINES DE CARACTERES EN C

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 13


Exercice 5 TP 2 : LES CHAINES DE CARACTERES EN C

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 14


Exercice 5 TP 2 : LES CHAINES DE CARACTERES EN C

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 15


Exercice 6 TP 2 : LES CHAINES DE CARACTERES EN C

Une chaîne de caractères est dite palindrome, si elle se


lit de la même manière dans les deux sens.
Exemple: non, touot et 1234321 sont toutes des
chaînes de caractères palindromes.

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 16


Exercice 6 TP 2 : LES CHAINES DE CARACTERES EN C

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 17


PLAN DETAILLE DU COURS

Programmation en langage C
- Les instructions du contrôle (suite)
- Les tableaux à une dimension
- Les chaines de caractères
- Les types composés
- Les fonctions
- Les pointeurs
- Les tableaux à deux dimensions
- Les algorithmes de tri
LES TYPES COMPOSES

 Le langage C permet au programmeur de définir ses


propres types de données complexes à partir de types
prédéfinis – caractères, entiers, flottants – ou autres.
 Les types résultants sont dits « types composés ». Ils
permettent de représenter un ensemble de données (nom,
prénom, âge, adresse) organisées en une entité unique
(Personne).

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 19


LES TYPES COMPOSES

 Type composé : type défini par le programmeur, par


opposition aux types par défaut, qui font partie du standard
du langage C (int, char, etc.).
 L’objectif des types composés est de pouvoir structurer les
données.

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 20


LES TYPES COMPOSES

 Dans cette section, nous aborderons :


- Les structures (les enregistrements);
- Les unions;
- Les énumérations.

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 21


LES TYPES COMPOSEES (LES STRUCTURES)
Les Structures

 Une structure est un regroupement d'éléments de


différents types sous un même identificateur afin de les
manipuler plus facilement.
 Une structure sert à organiser des données notamment
dans les longs programmes et permet de manipuler les
données liées entre elles de façon conceptuelle par une
même entité.
Programmation en C 1A-IIIA Année Universitaire : 2022-2023 22
LES TYPES COMPOSEES (LES STRUCTURES)
Les Structures

Les tableaux qui permettent de Les structures permettent de


désigner sous un même nom un désigner sous un même nom un
ensemble de valeurs de même ensemble de valeurs pouvant
type, chacune d’entre elles étant être de types différents.
repérée par un indice,

 L’accès à chaque élément de la structure nommé champ se


fera, cette fois, non plus par une indication de position, mais
par son nom au sein de la structure.

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 23


LES TYPES COMPOSEES (LES STRUCTURES)
Les Structures

!!! Vous devez mettre un point-virgule après l’accolade fermante.

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 24


LES TYPES COMPOSEES (LES STRUCTURES)

 Le langage C nous permet de créer nos propres types de variables :


Des « types de variables personnalisés ».
 Une structure est un assemblage de variables qui peuvent avoir
différents types.
 Contrairement aux tableaux qui vous obligent à utiliser le même
type dans tout le tableau, vous pouvez créer une structure
comportant des variables de type long, char, int, double à la fois.

Déclaration

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 25


LES TYPES COMPOSEES (LES STRUCTURES)

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 26


LES TYPES COMPOSEES (LES STRUCTURES)
Les Structures :
Exemple 1 – champs de structure ayant le même type

Dans un repère du plan, on a besoin de


deux nombres pour indiquer la position
d'un point : ce sont ses coordonnées. La
première coordonnée, l'abscisse, se lit
sur l'axe horizontal (l'axe des abscisses) ;
la seconde, l'ordonnée, se lit sur l'axe
vertical (l'axe des ordonnées).

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 27


LES TYPES COMPOSEES (LES STRUCTURES)
Les Structures :
Exemple 1 – champs de structure ayant le même type

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 28


LES TYPES COMPOSEES (LES STRUCTURES)
Les Structures :
Exemple 2 – champs de structure ayant différent type

Nom Char [100]

Age int

Salaire float

Nous allons créer le type Personne .


Programmation en C 1A-IIIA Année Universitaire : 2022-2023 29
LES TYPES COMPOSEES (LES STRUCTURES)
Les Structures :
Exemple 2 – champs de structure ayant différent type
Comment éviter de répéter le mot
Struct à chaque fois on veut utiliser le
type Personne??? Solution Typedef

L’ordre des champs est


Programmation en C 1A-IIIA important
Année Universitaire : 2022-2023 30
LES TYPES COMPOSEES (LES STRUCTURES)
Les Structures

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 31


LES TYPES COMPOSEES (LES STRUCTURES)
Accès aux champs de la Structure

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 32


LES TYPES COMPOSEES (LES STRUCTURES)
Accès aux champs de la Structure : Exemple 1

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 33


LES TYPES COMPOSEES (LES STRUCTURES)
Accès aux champs de la Structure : Exemple 1

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 34


LES TYPES COMPOSEES (LES STRUCTURES)
Accès aux champs de la Structure : Exemple 1
A tester sur vos machines

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 35


LES TYPES COMPOSEES (LES STRUCTURES)
Accès aux champs de la Structure : Exemple 2

A tester sur vos machines

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 36


LES TYPES COMPOSEES (LES STRUCTURES)
L’affectation
On peut affecter une variable structure à une autre variable
structure de même type, grâce à l’opérateur «=» : on n’a pas
besoin d’affecter champs par champs

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 37


LES TYPES COMPOSEES (LES STRUCTURES)
La comparaison

Aucune comparaison n’est possible sur les structures, même


pas les opérateurs == et != . Il faut le faire champ par champ.

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 38


LES TYPES COMPOSEES (LES STRUCTURES)
Les Structures

un Livre est caractérisé par un titre (chaine de caractères), un


auteur (chaine de caractère), une édition (entier) et un prix de
vente (réel) .
• Déclarer 3 livres L1, L2 et L3.
- Les informations de L1 sont données par l’utilisateur
- ceux du livre L3 sont initialisées par le programme.
- Les informations de L2 sont les mêmes que L3.
• Afficher les informations du livre L2.

Programmation en C 1A-IIIA Année Universitaire : 2022-2023 39

Vous aimerez peut-être aussi