Vous êtes sur la page 1sur 4

Nom et prénom : ………………………………………………………………………………………

N° apogée : ………………………………………………………………………………………

Barême : Bonne réponse (1 pt), Pas de réponse (0 pt), Mauvaise réponse (-0.5 pt)

UNIVERSITE IBN TOFAIL Année : 2021-2022


Faculté des Sciences Filière : SMI S3
Département d’Informatique Durée : 1h30
KENITRA

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

Vous aimerez peut-être aussi