Vous êtes sur la page 1sur 2

EST Agadir Année : 2012/2013

Devoir surveillé
Langage C
(1h 30min)

Partie I : Questions de cours (10pt)

1. Expliquer comment le compilateur interprétera les deux lignes suivantes : (2pt)


#define nbrEle 5
const int Cmath=120 ;

2. Quel sera la réaction du compilateur envers les lignes suivantes : (2pt)


nbrEle= nbrEle +1;
int T=sizeof(Cmath) ;
3. Soit le code suivant :
int i=16,j=8;
(i++%2)?j+=(i%2):j--;
printf("\n i=%d,j=%d \n",i,j+3);

a. Qu’afficherai le code précédant (1,5pt)

b. Expliquer, en détail, la signification de la ligne 3 (1,5pt)

c. Et si on remplace la 2eme ligne par :


i. (i++%2==0)?j+=(i%2),--i:j--; (1,5pt)

ii. (++i%2)?j%=(i/2):j--,i%=j; (1,5pt)

Partie II : Exercice d’application


Exercice I : (10pt)
Ecrire un programme C qui :
A- demande la saisie d’un nombre positif, impair et inferieur à 20, la demande se répète
jusqu'à a ce que un nombre correct est saisie. (2pt)
B- Ecrire le code qui permit l’obtention de résultat suivant pour une valeur de D donnée.
(3pt)

Donner la valeur de D : 5 Donner la valeur de D : Donner la valeur de D : 9


7 9
5 9 9
5 5 7 9 9 9
5 5 5 7 7 9 9 9 9
5 5 5 5 7 7 7 9 9 9 9 9
5 5 5 5 5 7 7 7 7 9 9 9 9 9 9
7 7 7 7 7 9 9 9 9 9 9 9
7 7 7 7 7 7 9 9 9 9 9 9 9 9
7 7 7 7 7 7 7 9 9 9 9 9 9 9 9 9

Prof. A.SABOUR 1/2


EST Agadir Année : 2012/2013

C- De même pour l’affichage suivant : (2pt)

Donner la valeur de D : 5 Donner la valeur de D : 7 Donner la valeur de D : 9


9
5 7 9 9
5 5 7 7 9 9 9
5 5 5 7 7 7 9 9 9 9
5 5 7 7 7 7 9 9 9 9 9
5 7 7 7 9 9 9 9
7 7 9 9 9
7 9 9
9

D- De même pour l’affichage suivant : (3pt)

Donner la valeur de D : 5 Donner la valeur de D : 7 Donner la valeur de D : 9

5 7 9
55 77 99
555 777 999
7777 9999
99999
NB: le nombre de lignes est égal à (D+1)/2

Prof. A.SABOUR 2/2

Vous aimerez peut-être aussi