Université Mohammed 1er
École Supérieure de Technologie de
Nador (ESTN)
École Supérieure de
Technologie de Nador (ESTN)
Matière : Programmation en C Année Universitaire : 2024/2025
TP N°8
Objectif : Apprendre la manipulation de l'un des principaux aspects de
programmations dans le langage C: les pointeurs ainsi que la forte liaison tableaux.
Exercice 1
Complétez-le pour chaque instruction du programme ci-dessus
A B C P1 P2
int A = 1, B = 2, C = 3;
1 2 3 / /
int *P1, *P2;
P1=&A; 1 2 3 &A /
P2=&C;
*P1=(*P2)++ ;
P1=P2 ;
P2=&B ;
*P1-=*P2 ;
++*P2 ;
*P1*=*P2 ;
A=*P2**P1 ;
P1=&A ;
*P2/=*P1 ;
Exercice 2
Soit P un pointeur qui 'pointe' sur un tableau A:
int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90};
int *P;
P = A;
Quelles valeurs ou adresses fournissent ces expressions:
a) *P+2
b) *(P+2)
c) &P+1
d) &A[4]-3
e) A+3
f) &A[7]-P
g) P+(*P-10)
h) *(P+*(P+8)-A[7])
1
Exercice 3
Ecrire un programme qui lit deux tableaux A et B et leurs dimensions N et M au
clavier et qui ajoute les éléments de B à la fin de A. Utiliser le formalisme pointeur à
chaque fois que cela est possible.
Exercice 4
Ecrire un programme qui lit un entier X et un tableau A de type int au clavier et élimine
toutes les occurrences de X dans A en tassant les éléments restants. Afficher le tableau
A.
Le programme utilisera les pointeurs P1 et P2 pour parcourir le tableau.
Exercice 5
Ecrire un programme qui lit la dimension N d'un tableau T du type int (dimension
maximale: 100), remplit le tableau par des valeurs entrées au clavier et affiche le
tableau.
Copiez ensuite toutes les composantes strictement positives dans un deuxième
tableau TPOS et toutes les valeurs strictement négatives dans un troisième tableau
TNEG. Afficher les tableaux TPOS et TNEG.
NB : Utiliser des pointeurs.
Exercice 6
Ecrire un programme qui lit une chaîne de caractères CH et détermine la longueur
de la chaîne à l'aide d'un pointeur PH. Le programme n'utilisera pas de variables
numériques.