0% ont trouvé ce document utile (0 vote)
274 vues3 pages

Examen de Programmation II 2014/2015

Transféré par

yasmine fatih
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
274 vues3 pages

Examen de Programmation II 2014/2015

Transféré par

yasmine fatih
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Examen Session de Rattrapage

Filière : SMI
Module : Programmation II
Semestre: 4
//Téléphones, Documents non autorisés//

Exercice 1 : (réponse Vrai=2, Faux=-2, pas de réponse =0)


1. Soit le programme suivant
int t[3] = { 7 , 8 , 9 ,10};
Que vaut t[2]+t[3]
a) 15
b) 17
c) 19
d) ca dépend (l’élément d’indice 3 est situé dans la mémoire après le tableau : on ne peut pas
connaitre sa valeur a priori)
2. Qu’affiche le programme suivant
void f(int x) { x = 1729; int y = x; y = 12;
printf("%d", y); }
main() { f(123); }
a) 1729
b) 12
c) 123
d) Rien (y est interne au bloc, la fonction n’est pas compilable)
3. Qu’affiche le programme suivant ?
int main() { int x = 2;
switch (x) { case 1: x = 4; case 2: x = 5; case 3: x = 6; default: {} }
printf("%d\n", x); return 0; }
a) 2
b) 5
c) 6 (il manque les break)
d) rien car il n’est pas correct
4. Quelle est la valeur affichée ?
void fonction(int a[]) { a[1] = 10;}
int main(void) { int T[]={1,2,3};
fonction(T);
printf("%d", T[1] ); return 0;}
a) 10
b) 1
c) 2
d) c'est une erreur
5. Quelle est la valeur affichée ?
1
A.U : 2014/2015
void fonction (int x) { x = x + 10; printf ("%d ", x);}

int fonction2 (int y) { return y + 20; }

int main (void) { int x = 1; fonction (x);


printf ("%d ", x); x = fonction2 (x);
printf ("%d\n", x); return 0;}
a) 11 11 31
b) 11 11 21
c) 11 1 21
d) C’est une erreur

Exercice 2: (10 pt)


1. Qu’affiche le programme suivant ?
int main (void) {
int i = 1, j=2, k=3;
int *a1, *a2;
a1=&i, a2=&k;
*a1=*a2++;
printf ("1)\t%d %d %d \n",i, j, k);
a2=&j;
*a1-=*a2;
printf ("2)\t%d %d %d \n",i, j, k);
++*a2;
printf ("3)\t%d %d %d \n",i, j, k);
*a1*=*a2;
printf ("4)\t%d %d %d \n",i, j, k);
i=++*a2**a1;
printf ("5)\t%d %d %d \n",i, j, k);
a1=&j;
*a2=*a1/=*a2;
printf ("6)\t%d %d %d \n",i, j, k); }

2. Soit P un pointeur qui pointe sur un tableau A.


Qu’affichent les cas suivants:
main()
{
int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90};
int *P; P = &A[1];
printf("1)\t %d \n",*P+2 );
printf("2)\t %d \n",*(P+2));
printf("3)\t %d \n",&A[7]-P );
printf("4)\t %d \n",(*P-A[2])); }

2
A.U : 2014/2015
Correction
EXO1
1)
c) 19
2)
b)=12
3)
c) 6 (il manque les break)
4)
a) 10
5)
c) 11 1 21

Exo2
1)

2)

3
A.U : 2014/2015

Vous aimerez peut-être aussi