Study on Pointers and Programming Exercises

Page 1 sur 2Lecteur de document UniversityLib

Study on Pointers and Programming Exercises

Computer Science · exam

Voir tous les documents en programmation

École Supérieure de Technologie

et d’Informatique

A.U. 2011/2012

Série les pointeurs

Informatique Appliquée 1ère année

Exercice 1 : (extrait de l’examen de la session de rattrapage de l’année 2009/2010)

Soit le programme suivant :

#include<stdio.h>

void main()

{

int tab[5]={4,7,2,9,6};

int p, q;

p=tab;

q=tab+4;

q-=2;

p++;

(tab+3)=p+*q;

(tab+4)=(q-1)-*(p+1);

p+=tab-q ;

q-=p-(tab+3);

tab[0]=p-q ;

p=q ;

q

p

*q

Publicité

*p

…… …..

}

Remplir le tableau suivant (seulement les cellules contenant des pointillés), en supposant que :

&tab[0] : F50 ; &tab[1] : F54 ; &tab[2] : F58 ; &tab[3] : F5C ; &tab[4] : F60 ;

Instructions

p=tab

q=tab+4;

q-=2;

p++;

(tab+3)=p+*q;

(tab+4)=(q-1)-

*(p+1);

p+=tab-q ;

q-=p-(tab+2)-1;

tab[0]=p-q ;

tab[0]

tab[4]

tab[2]

….. ….. ….. ….. …..

….. …..

….. …..

….. …..

….. …..

….. …..

Publicité

tab[1]

tab[3]

…..

…..

…..

p=q ;

….. …..

Exercice 2 :

Remplir le tableau ci dessous

main()

{

int A = 1;

int B = 2;

int C = 3;

int P1, P2;

P1=&A;

1

P2=&C;

P1=(P2)++;

P1=P2;

P2=&B;

P1-=P2;

++*P2;

P1=*P2;

A=++P2*P1;

Publicité

P1=&A;

P2=P1/=*P2;

return 0;

}

A B C P1 P2

1 2 3 /

/

1 2 3 &A /

Init.

P1=&A

P2=&C

P1=(P2)++

P1=P2

P2=&B

P1-=P2

++*P2

P1=*P2

A=++P2*P1

P1=&A

P2=P1/=*P2

Exercice 3

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)

Publicité

b)

c)

d)

e)

f)

g)

h)

*P+2

*(P+2)

&P+1

&A[4]-3

A+3

&A[7]-P

P+(*P-10)

(P+(P+8)-A[7])

Exercice 4 :

Ecrire un programme qui lit un entier X et un tableau A du type int au clavier et élimine

toutes les occurrences de X dans A en tassant les éléments restants. Utiliser les pointeurs.

Exercice 5 :

Ecrire un programme qui range les éléments d'un tableau A du type int dans l'ordre inverse.

Le programme utilisera des pointeurs P1 et P2 et une variable numérique AIDE pour la

permutation des éléments.

2