Académique Documents
Professionnel Documents
Culture Documents
N° apogée : ………………………………………………………………………………………
Barême : Bonne réponse (1 pt), Pas de réponse (0 pt), Mauvaise réponse (-0.5 pt)
Programmation I
EXAMEN FINAL
Question 1
Laquelle des déclarations suivantes est correcte ?
A. int long ; B. int longint ;
C. long int ; D. int long int ;
Question 2
Quelle est la valeur finale de n lors de l’exécution de l’extrait de code suivant ?
int n = 1;
n = n + 2 * n;
n = n / 2 * n;
n = n + 2 + n;
A. 4 B. 8
C. 1 D. 2
Question 3
Quelle est la valeur finale de n lors de l’exécution de l’extrait de code suivant ?
int n = 1;
n += 2 * n;
n /= 2 * n;
n += 2 + n;
A. 4 B. 2
C. 1 D. 8
Question 4
Laquelle des chaînes suivantes est un nombre à virgule flottante en C ?
A. 3.1415F26 B. 3.1415M26
C. 3.1415E26 D. 3.1415X26
Question 5
Quelle est la valeur finale de c lors de l’exécution de l’extrait de code suivant ?
int a = 3, b = 2, c;
c = a / b * --a * b++;
A. 6 B. 9
C. 4 D. 2
1
A
Question 6
Qu’affiche l’extrait de code suivant ?
int a = -1, b = 1;
float i = 2.0, j = -2.0;
printf("%d\n", (a > b) + (i > j) + ('z' > 'a'));
A. 1 B. 3
C. 2 D. aucune des autres réponses n’est correcte
Question 7
Qu’affiche l’extrait de code suivant ?
int i = 0;
if(i = 1)
i = 2;
else
i = 3;
printf("%d\n",i);
A. 1 B. 3
C. 2 D. aucune des autres réponses n’est correcte
Question 8
Qu’affiche l’extrait de code suivant ?
float x = 3.0, y = 2.0;
int i = 1, j = 2;
x = (int)x / y + (float)i / j;
printf("%.2f",x);
A. 0.50 B. 1.00
C. 1.50 D. 2.00
Question 9
Qu’affiche l’extrait de code suivant ?
int i = 16, j = 8;
do {
i /= 2; j -= i / 2;
} while(j > 0);
printf("%d",i + j);
A. 2 B. 1
C. 4 D. aucune des autres réponses n’est correcte
Question 10
Qu’affiche l’extrait de code suivant ?
int i = 16, j = 6;
while(j > 0) {
i /= 2; j -= i / 2;
}
printf("%d",i + j);
A. aucune des autres réponses n’est correcte B. 2
C. 1 D. 4
Question 11
Qu’affiche l’extrait de code suivant ?
int i = 1, j = i + 2 * i;
switch(j - i) {
case 1: j++;
2
A
case 2: j--;
case 0: j++; break;
default: j = 0;
}
printf("%d", ++j);
A. 0 B. 2
C. 4 D. 1
Question 12
Qu’affiche l’extrait de code suivant ?
char a = 'A', *b = &a, **c = &b;
**c = a + (a == *b); printf("%c", a);
A. C B. A
C. B D. NULL
Question 13
Qu’affiche l’extrait de code suivant ?
int t[4] = { 0, -1, -2, -3 }, *p = t + 3;
printf("%d\n", p[*p] - t[2]);
A. 2 B. 1
C. -1 D. -2
Question 14
Qu’affiche l’extrait de code suivant ?
char *p = "/0/41/3/2";
printf("%d\n", p[p[3]-p[1]]- *(p + 1));
A. 1 B. 2
C. -1 D. -2
Question 15
Qu’affiche le programme suivant ?
#include <stdio.h>
#include <string.h>
int main() {
char tc[20] = "0123456789";
printf("%d\n", strlen(tc) - tc[9] + '3');
return 0;
}
A. 4 B. 8
C. 2 D. 1
Question 16
Qu’affiche le programme suivant ?
#include <stdio.h>
#include <stdlib.h>
int main() {
int *p = (int *) malloc(sizeof(int) + sizeof(int));
p++;
*p = 8;
p[-1] = *p / 2;
p--;
p[1] = *p / 2;
printf("%d\n",*p);
3
A
free(p);
return 0;
}
A. 4 B. 8
C. 1 D. 2
Question 17
Qu’affiche le programme suivant ?
#include <stdio.h>
#include <string.h>
struct T {
char S[4];
};
int main() {
struct T S = {'a','b'};
printf("%d", sizeof(S.S) - strlen(S.S) + S.S[3]);
return 0;
}
A. 2 B. 1
C. 8 D. 4
Question 18
Qu’affiche le programme suivant ?
#include <stdio.h>
int fct(int *p) {
return *(++p);
}
int main() {
int t[] = { 8, 4, 2, 1 };
printf("%d\n", fct(t+2));
return 0;
}
A. 2 B. 1
C. 8 D. 4
Question 19
Qu’affiche l’extrait de code suivant ?
int i = 5, j = 4;
for(i--; i--; i--) j--;
printf("%d",i + j);
A. 2 B. 1
C. 4 D. aucune des autres réponses n’est correcte
Question 20
Qu’affiche l’extrait de code suivant ?
int t[4][4];
printf("%d\n",sizeof(t) / sizeof(t[0]) / sizeof(t[0][0]));
A. 2 B. 1
C. 8 D. 4
4
A