Vous êtes sur la page 1sur 37

Langage de programmation C

4. Tableaux
Sommaire

I. Tableaux à une dimension

II. Tableaux de caractères

III. Tableaux multidimensionnels

2 Langage de programmation C ESI 2021-2022


Tableaux à une dimension
Introduction
 Structure générale d’un programme en C
< Directives de compilation >
< Déclarations de variables externes >
< Déclarations de prototypes de fonctions >
int main()
{
< Corps du programme >
}
< Définition de fonctions >
4 Langage de programmation C ESI 2021-2022
Introduction

auto break case char const continue default do

double else enum extern float for goto if

int long register return short signed sizeof static

struct switch typedef union unsigned void volatile while

5 Langage de programmation C ESI 2021-2022


Problématique
 Les boucles permettent à l’utilisateur de saisir n
nombres  on déclare une seule variable mais on
écrase sa valeur à chaque nouvelle saisie

 Si on veut garder les n nombres pour les utiliser par


la suite  on déclare n variables différentes

 Quand n est petit  Lourd mais gérable

 Quand n est grand ?

6 Langage de programmation C ESI 2021-2022


Problématique
 Les boucles permettent à l’utilisateur de saisir n
nombres  on déclare une seule variable mais on
écrase sa valeur à chaque nouvelle saisie

 Si on veut garder les n nombres pour les utiliser par


la suite  on déclare n variables différentes

 Idéalement, tout stocker dans une seule variable 


tableau

7 Langage de programmation C ESI 2021-2022


Définition
 Tableau

 Séquence de données de même type, chacune


référencée par un nombre appelé indice (ou index)

 Désigné par

 Son nom

 Le type de ses éléments

 Sa taille (i.e. le nombre de ses éléments)

8 Langage de programmation C ESI 2021-2022


Déclaration
 Syntaxe
type nomTableau[taille] ;
 La taille est un entier et peut être

 Un nombre : float prix[100] ;

 Une variable (ou constante) qui a une valeur :

int taille = 100 ;


float prix[taille] ;

9 Langage de programmation C ESI 2021-2022


Déclaration
 Syntaxe
type nomTableau[taille] ;
 La taille est un entier

 Le premier indice est 0

 Le dernier indice est taille – 1

10 Langage de programmation C ESI 2021-2022


Initialisation
 Il est possible d’initialiser un tableau lors de sa
déclaration

 Syntaxe
type nomTableau[taille] = {V1,V2, …, Vn} ;
 n ≤ taille (initialisation totale ou partielle)

 Nécessite que taille soit un nombre ou une constante


déclarée avec la directive #define

11 Langage de programmation C ESI 2021-2022


Initialisation
 Il est possible d’initialiser un tableau lors de sa
déclaration

12 Langage de programmation C ESI 2021-2022


Stockage dans la mémoire
 Lors de la déclaration d'un tableau, une zone
mémoire lui est réservée afin d’être utilisée pour le
stockage de ses données

 Les cases sont contiguës

 La taille de cette zone en octets est la multiplication de la


taille du tableau par la taille du type de ses éléments

13 Langage de programmation C ESI 2021-2022


Stockage dans la mémoire
 Lors de la déclaration d'un tableau, une zone
mémoire lui est réservée afin d’être utilisée pour le
stockage de ses données

 Un tableau à l'adresse mémoire de son premier


élément  c’est la première cellule de la zone
mémoire qui lui est réservé

14 Langage de programmation C ESI 2021-2022


Stockage dans la mémoire
 Exemple
 int monTableau[3] = {30, 50, 24} ;

Adresse Valeur

2293280 30

2293281 50

2293282 24

15 Langage de programmation C ESI 2021-2022


Affectation et affichage
 L’affectation et l’affichage des éléments d’un tableau se
fait un à un

 Attention : Il est important de bien vérifier que les


indices ne dépassent pas la taille du tableau car le
compilateur ne soulève pas d’erreur

16 Langage de programmation C ESI 2021-2022


Affectation et affichage
 L’affectation et l’affichage des éléments d’un tableau se
fait un à un

17 Langage de programmation C ESI 2021-2022


Tableaux de caractères
Tableaux et chaînes de caractères
 Une chaîne de caractères peut être déclarée comme
un tableau de caractères (type char)

 Syntaxe de déclaration

char chaineDeCaractres[taille] ;

 Syntaxe d’initialisation

char chaineDeCaractres[taille] = "Exemple de chaine" ;

 Il est recommandé de terminer la chaîne par \0


19 Langage de programmation C ESI 2021-2022
Tableaux et chaînes de caractères
 Une chaîne de caractères peut être affichée

 Caractère par caractère

printf("%c",chaineDeCaractres[i]) ;

 Dans sa totalité

printf("%s",chaineDeCaractres) ;

20 Langage de programmation C ESI 2021-2022


Tableaux et chaînes de caractères
 Une chaîne de caractères peut être affichée

 Caractère par caractère

printf("%c",chaineDeCaractres[i]) ;

 Dans sa totalité

printf("%s",chaineDeCaractres) ;

Ou puts(chaineDeCaractres) ;

21 Langage de programmation C ESI 2021-2022


Tableaux et chaînes de caractères
 Une chaîne de caractères peut être lue à partir d’une
saisie au clavier

 Caractère par caractère

scanf("%c",&chaineDeCaractres[i]) ;

 Dans sa totalité

scanf("%s",chaineDeCaractres) ;

22 Langage de programmation C ESI 2021-2022


Tableaux et chaînes de caractères
 Une chaîne de caractères peut être lue à partir d’une
saisie au clavier

 Caractère par caractère

scanf("%c",&chaineDeCaractres[i]) ;

 Dans sa totalité

scanf("%s",chaineDeCaractres) ;

Ou gets(chaineDeCaractres) ;
23 Langage de programmation C ESI 2021-2022
Tableaux et chaînes de caractères
 Remarque

 scanf lit le texte saisi au clavier jusqu’au premier espace

24 Langage de programmation C ESI 2021-2022


Tableaux et chaînes de caractères
 Remarque

 scanf lit le texte saisi au clavier jusqu’au premier espace

25 Langage de programmation C ESI 2021-2022


Tableaux et chaînes de caractères
 Remarque

 scanf lit le texte saisi au clavier jusqu’au premier espace

26 Langage de programmation C ESI 2021-2022


Tableaux et chaînes de caractères
 Remarque

 scanf lit le texte saisi au clavier jusqu’au premier espace

 gets lit tout le texte saisi au clavier jusqu’au retour à la


ligne

27 Langage de programmation C ESI 2021-2022


Tableaux et chaînes de caractères
 Remarque

 scanf lit le texte saisi au clavier jusqu’au premier espace

 gets lit tout le texte saisi au clavier jusqu’au retour à la


ligne

28 Langage de programmation C ESI 2021-2022


Tableaux et chaînes de caractères
 Remarque

 scanf lit le texte saisi au clavier jusqu’au premier espace

 gets lit tout le texte saisi au clavier jusqu’au retour à la


ligne

29 Langage de programmation C ESI 2021-2022


Tableaux multidimensionnels
Définition
 Tableaux multidimensionnels

 Séquence de données de même type, chacune


référencée par n indices

 Désigné par

 Son nom

 Le type de ses éléments

 Sa taille (i.e. le nombre de ses éléments)

31 Langage de programmation C ESI 2021-2022


Déclaration
 Syntaxe
type nomTableau[taille1][taille2]…[taillen] ;
 taillei est la taille de la dimension i

 C’est un entier qui peut être

 Un nombre : float prix[100][20] ;

 Une variable (ou constante) qui a une valeur :

int taille1 = 100, taille2 = 20 ;


float prix[taille1][taille2] ;
32 Langage de programmation C ESI 2021-2022
Déclaration
 Syntaxe
type nomTableau[taille1][taille2]…[taillen] ;
 taillei est la taille de la dimension i

 C’est un entier

 Le premier indice de chaque dimension est 0

 Le dernier indice de la dimension i est taillei – 1

33 Langage de programmation C ESI 2021-2022


Initialisation
 Il est possible d’initialiser un tableau lors de sa
déclaration

 Syntaxe
type nomTableau[taille1]……[taillen] = {{V1}, {V2},…, {Vm}} ;
 m ≤ nombre des dimensions (initialisation totale ou
partielle)

 Vi est l’initialisation de la dimension i. C’est un sous-


tableau de dimension n – 1
34 Langage de programmation C ESI 2021-2022
Affectation et affichage

35 Langage de programmation C ESI 2021-2022


Affectation et affichage

36 Langage de programmation C ESI 2021-2022


Langage de programmation C

4. Tableaux

Vous aimerez peut-être aussi