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 instructions suivantes affecte 0 à la variable x ?
A. double x= 1/2 ; B. double x = 4/3;
C. double x= 1/(double)2; D. double x=0.1/2
Question2
Qu’affiche le programme suivant ?
int main(){
int x = 10;
while(x > 5){
if(!(x%3)){printf("%d ",x);}
x--;
}
return 0;
}
A. 9 6 3 B. 6 3
C. 9 6 D. 10 8 7
Question 3
Qu’affiche l’extrait de code suivant ?
int i,j;
for(i =0; i< 3; i++){
for(j = 0; j< 2*i; j++){
printf("%d ",2*i + j);
}
}
A. 0 2 4 6 8 10 B. 2 3 5 7 9 11
C. 2 3 4 5 6 7 D. 0 2 3 4 5
Question 4
Qu’affiche l’instruction suivante : printf("%d %o %x",15,15,15);
A. une erreur B. 15 15 15
C. 15 17 f D. 15 17 F
1
A
Question 5
Quel serait le contenu du tableau t après l’exécution de l’extrait de code suivant :
int t[4]={10, 20, 30, 40};
int i = 2, j = 3;
t[i]= t[j];
t[j]= t[i-1];
A. {10, 20, 40, 20} B. {10, 30, 40, 39}
C. {10, 20, 40, 40} D. {10, 20, 40, 30}
Question 6
Laquelle de ces réponses est vraie concernant l’extrait de code suivant ?
char s1[5]= "Omar", s2[5] = "Adil";
int i;
for (i = 0; i < 5; i++)
s1[i] = s2[i];
printf("%s %s\n ",s1,s2);
A. Le résultat est Omar Adil, affiché cinq fois. B. Le résultat affiché est Omar Omar
C. Le résultat affiché est Adil Adil D. Le résultat affiché est Omar Adil
Question 7
Quel est le type de l’expression '3' ?
A. int B. double
C. char D. char [ ]
Question 8
Quel est le type de l’expression 2/3 ?
A. int B. double
C. char D. float
Question 9
Quel est le type de l’expression "3 + 4.0"
A. float B. double
C. char D. char [ ]
Question 10
En langage C, x=x+1 est une :
A. expression arithmétique B. expression d’affectation
C. instruction D. déclaration
Question 11
Qu’affiche l’extrait de code suivant ?
int i=0, j=0;
for (; i < 3; i++){
for (; j < i; j++)
printf("%d ",i+j); }
A. 1 2 3 B. 1 3
C. 0 1 2 D. Erreur de compilation
2
A
Question 12
Laquelle des instructions suivantes est une boucle infinie ?
A. int i=0; if(true) printf("%d",i++); B. int i=0; while(i<5) printf("%d",i++);
C. for (int i = 0; i < -1 ; i++) printf("%d",i); D. for(int i = 4; i > 0; i++) printf("%d",i);
Question 13
Qu’affiche le programme suivant ?
int n=3 ;
int main() {
int n=5 ;
printf(" %d ", n+n) ;
return 0
}
A. Erreur B. 10
C. 8 D. 6
Question 14
L’instruction y=1-y; est équivalente à :
A. y-=1 ; B. y-- ;
C. --y ; D. aucune des autres réponses n’est correcte
Question 15
La fonction getch() est définie dans la bibliothèque
A. stdio.h B. conio.h
C. ctype.h D. string.h
Question 16
char str[10]="abc";
Quelle est l’instruction qui permet de modifier la valeur de str à "abcde" ?
A. strcpy(str,strcat("de",str)); B. strcpy(str,strcat(str, "de"));
C. strcat(str,strcpy(str, "de")); D. strcat(str,strcpy("de",str));
Question 17
Qu’est ce qu’une structure en langage C ?
A. un agrégat de plusieurs objets qui peuvent être de types différents regroupés dans une même
variable.
B. un agrégat de plusieurs objets qui peuvent être de même type regroupés dans une même
variable.
C. Les donnés d’une structure s’appellent des attributs.
D. toutes les autres réponses sont correctes
3
A
Question 18
Qu’affiche le programme suivant ?
int main()
{ structure hotel
{
int items;
char item[10];
} a;
strcpy(a.item, "ABC");
a.items=10;
printf("%s", a.item);
return 0;
}
A. ABC B. 10 ABC
C. Erreur de compilation D. Erreur d’exécution
Question 19
Qu’affiche le programme suivant ?
int main()
{
struct velo
{
int t;
char c[10];
} v1, v2;
v1.t=10;
v2 = v11;
printf("v2=%d",v2.t);
return 0;
}
A. v2=0 B. v2=-1
C. v2=10 D. Erreur de compilation
Question 20
Qu’affiche le programme suivant ?
int main()
{
struct produit
{ int coul;} p1[2];
struct produit p2[3];
p1[0].coul=5; p1[1].coul=9; p1[0].coul+=p1[1].coul;
p1[1].coul= p1[0].coul-p1[1].coul; p1[0].coul-=p1[1].coul;
printf("%d ",p1[0].coul); printf("%d",p1[1].coul);
return 0;
}
A. 14 5 B. 14 9
C. 9 5 D. Erreur de compilation
4
A