CHAPITRE 4�� LANGAGE DE � PROGRAMMATION: C
F. Karami
Plan
*
Programmer en langage C
2
Les Types Dérivés
2) Les Tableaux
3) Les Structures
4) Les Unions
*
Programmer en langage C
3
1- Les énumérations
enum modele {constante1, constante2,. . . ,constanten} ;
*
Programmer en langage C
4
Les types dérivés
Les énumérations
#include <stdio.h>
enum boolean {FALSE, TRUE};
main () {
enum boolean b1 = TRUE;
printf("b = %d\n",b1);
system(« pause »);
}
*
Programmer en langage C
5
Les types dérivés
Les Tableaux
*
Programmer en langage C
6
Les types dérivés
2- Les tableaux
type de donnée*le nombre d’éléments.
*
Programmer en langage C
7
Les types dérivés
Les tableaux
<type simple> Nom_du_tableau[nombre_elements];
*
Programmer en langage C
8
Les types dérivés
Les tableaux
Il est possible d’initialiser le tableau à la définition :
<type > Nom_du_tableau[nombre_elements]={c1,c2,…cn};
Ou c1, c2,…cn sont des constantes dont le nombre ne doit pas dépasser le nombre _elements.
#define N_mois 12
int tableau[N_mois];
int tab[4] ={100,200,300,400;}\\ initialisation
char voyelles[6]={‘a’,’e,’i’,’o’,’u’,’y’};
*
Programmer en langage C
9
Les types dérivés
Les tableaux
Nom_du_Tableau [indice]
// A[3] = 45 ; A[4] = 56 ;
printf(‘’A[%d] = %d \t‘’,i,A[i]); // du tableau A
*
Programmer en langage C
10
Les types dérivés
Les tableaux
// entier saisi depuis la clavier
//sera affiché sur écran
// = TAB[i] 2
for( i = 0 ; i < taille_tableau ; i++ )
TAB1[i] = TAB2[i];
*
Programmer en langage C
11
Les types dérivés
Les tableaux 2D
int mat[10][20];
*
Programmer en langage C
12
Les types dérivés
Les tableaux 2D
#include <stdio.h>
#define L 3 //nombre de lignes
#define C 2 //nombre de colonnes
int tab[L][C] = {{1, 2}, {14, 15}, {100, 200}};
main() {
int i, j;
for (i = 0 ; i < L; i++) {
for (j = 0; j < C; j++)
printf("tab[%d][%d]=%d\n",i,j,tab[i][j]);}}
*
Programmer en langage C
13
Les types dérivés
Les tableaux
#include <stdio.h>
void print_tab(int tab[], int nb_elem) {...}
/* incrémente chaque composantes du tableau */
void incr_tab(int tab[], int nb_elem) {
int i;
for (i=0; i < nb_elem; i++) tab[i]++;}
#define TAILLE 4
main() {
int t[TAILLE] = {1, 2, 3, 4};
incr_tab(t, TAILLE);
print_tab(t, TAILLE);
}
*
Programmer en langage C
14
Les types dérivés
Les Structures
*
Programmer en langage C
15
Les types dérivés
3-Les structures
struct enreg {
int numero;
int qte;
float prix;
};
*
Programmer en langage C
16
Les types dérivés
Les structures
struct nom_structure {
type_1 membre_1 ;
type_2 membre_2 ;
...
type_n membre_n ;
} ;
*
Programmer en langage C
17
Les types dérivés
Les structures
2. Pour déclarer un objet de type structure correspondant au modèle
précédent, on utilise la syntaxe :
struct nom_structure identificateur_objet ;
Ou bien, si le modèle n’a pas encore été déclaré au préalable :
struct nom_structure {
type_1 membre_1 ;
type_2 membre_2 ;
...
type_n membre_n ;
} identificateur_objet ;
3. On accède aux différents membres d’une structure grâce à
l’opérateur membre de structure, noté ”.”. Le i-ème membre de objet
est désigné par l’expression :
identificateur_objet.membre_i
*
Programmer en langage C
18
Les types dérivés
Les structures
au champ prix de la structure art2 */
numero de la structure art1*/
*
Programmer en langage C
19
Les types dérivés
Les structures
*
Programmer en langage C
20
Les types dérivés
Les structures
char prenom[20];
float heures[31];
} employe, courant;
/*heures: nbre d’heures du travail dans chaque jours du mois*/
struct personne courant={‘’Dupont’’, ‘’julea’’}
*
Programmer en langage C
21
Les types dérivés
Les structures
struct point { char nom;
int x;
int y;
};
struct point courbe[50];
*
Programmer en langage C
22
Les types dérivés
Les structures
int mois;
int annee;};
char prenom[20];
float heures[31];
struct date date_embauche;
struct date date_poste;
} employe, courant;
*
Programmer en langage C
23
Les types dérivés
Les structures
Représente l’année d’embauche correspondant à la structure employe. Il s’agit d’une valeur de type int.
Représente la date d’embauche de la structure courant, et nous pouvons faire l’affectation:
*
Programmer en langage C
24
Les types dérivés
Les structures
struct point{
int num;
float x;
float y;
}
Le nombre d’éléments du tableau sera fixé par une instruction #define.
Affiche à l’écran l’ensemble des informations précédentes?
*
Programmer en langage C
25
Les types dérivés
4- Les unions
*
Programmer en langage C
26
Les types dérivés
Les unions
union partage{
char c;
int i;
}
union nombre{
int i;
float f;
}
*
Programmer en langage C
27
Les types dérivés
Les unions
cette variable pourra posséder soit une valeur entière, soit un caractère, mais pas les deux à la fois.
*
Programmer en langage C
28
Les types dérivés