Université De Tlemcen
Faculté des Sciences
1° Année LMD Sciences Technologique (ST)
Durée :1h30 Jeudi 29/05/2014
Examen Final Informatique 2
1) On veut compiler puis exécuter le programme ci-contre. #include <stdio.h>
Que va-t-il afficher ? int main(void) {
A) 0 B) rien C) un nombre int a ;
D) Le programme donne une erreur de compilation. Il ne se compile printf("%d",a) ;
pas. return 0 ;
E) Le programme donne une erreur d'exécution. Il se compile mais ne }
s'exécute pas.
2) Qu'est-ce qu'une bibliothèque de fonctions ?
A) Un ensemble de fonctions standard que l'on peut utiliser dans un programme
B) Un ensemble de types entiers, réels, caractères... que peut prendre une variable
C) Un ensemble de fonctions qui sont déclarées dans des fichiers en-tête (stdio.h, math.h, string.h...)
D) Des chaînes de caractères qui contiennent les mots de plusieurs dictionnaires
E) Le fichier que l'on obtient quand on exécute GCC avec un programme source
3) Que contient la bibliothèque stdio ?
A) Les instructions de contrôle if, else, while, for...
B) La fonction principale int main(void) déclarée dans le programme source
C) Des fonctions permettant d'afficher des données à l'écran
D) Les types numériques entiers et réels (int, long, float, double)
E) Les fonctions scanf et getchar qui permettent de mettre en RAM les données tapées par l'utilisateur.
4) Qu'est-ce qui est affiché par le #include <stdio.h>
programme ci-contre à son exécution ? int main(void) {
A) a = 8 , b = -3 int a = 4 ; int b ;
B) a = -3 , b = 4 a = a * 2 ; b = a ;
C) a = 4 , b = 9 b -= 3 ; a++ ; --b ;
D) a = 5 , b = 5 printf("a = %d , b = %d\n", b, a) ;
E) Aucune des quatre réponses return 0 ;
}
5) Étant données les variables a : entière, y : réelle, r : caractère, m : chaîne de caractères, quelle instruction
permet de les afficher correctement ?
A) printf("a=%d , y=%r , r=%u , m=%c\n", a,y,r,m) ;
B) printf("a=%d , y=%f , r=%c , m=%x\n", a,y,r,m) ;
C) printf("a=%d , y=%g , r=%c , m=%s\n", a,y,r,m) ;
D) printf("a=%f , y=%s , r=%u , m=%c\n", a,y,r,m) ;
E) Aucune des quatre réponses
6) Quelle(s) expression(s) signifie(nt) « a et b n'ont pas la même valeur » en langage C ?
A) a<b && a>b D) !(a == b)
B) a<b || a>b E) a <> b
C) a =! b
7) Si la variable a contient la valeur 5. Quelle(s) instruction(s) permet(tent) d'augmenter la valeur de la
variable a de 1 pour qu'elle contienne la valeur 6 ?
A) a=a+1 ; B) a=+1 ; C) a+=1 ;
D) a+++; E) ++a ;
8) On veut compiler puis exécuter le programme ci-contre. #include <stdio.h>
Que va-t-il afficher ? int main(void) {
A) rien ;
B) un dessin formé de points-virgules ; et d'accolades {} ;;;;;
C) 0 ;;;;;;;
D) Le programme donne une erreur de compilation. Il ne se compile pas. {} {}
E) Le programme donne une erreur d'exécution. Il se compile mais ne {;;;;;}
s'exécute pas. return 0;
}
Faculté des Sciences - 1° Année ST Informatique 2 1/4
9) Regardez bien le programme ci-contre : il #include <stdio.h>
fonctionne mais contient des erreurs. Qu'affiche- int main(void) {
t-il si l'utilisateur tape les valeurs 18 et 21 à int age1=0, age2=0, tmp=0;
l'exécution ? scanf("%d",&age1) ;
A) (21,18) scanf("%d",&age2) ;
B) (18,0) if (age1 > age2)
C) mineur(21,0) tmp = age1 ;
D) mineur(0,0) age1 = age2 ;
age2 = tmp ;
E) Aucune des quatre réponses
if (age1 < 18) ;
printf("mineur") ;
printf ("(%d,%d)\n",age1,age2);
return 0 ;
}
10) Regardez bien le programme ci-contre : #include <stdio.h>
Qu'affiche-t-il si l'utilisateur tape la valeur 18 à int main(void) {
l'exécution ? int age;
A) jeune majeur scanf("%d",&age) ;
B) majeur switch(age){
C) majeur adulte hors-norme case 17:
D) majeur hors-norme printf("jeune ");
case 18:
E) Aucune des quatre réponses
printf("majeur ");
case 19:
printf("adulte ");
default:
printf("hors-norme ");
}
return 0 ;
}
11) Observez les instructions suivantes :
while (1>2) while (2>1){ while (2>1){
puts("Abricot"); break; continue;
puts("Clémentine"); puts("Éléphant");
do } }
puts("Banane"); for (int i=3; i>3; i++)
while (1>2); puts("Datte");
Quels sont les mots qui sont affichés par les instructions ci-dessus ?
A) Abricot B) Banane C) Clémentine
D) Datte E) Éléphant
12) Qu'est-ce qui est affiché par le programme ci- #include <stdio.h>
contre à son exécution ? int main(void) {
A) [Link].[Link].22. for (int i=0 ; i < 3 ; i++)
B) [Link].11. for (int j=0 ; j < 3 ; j++){
C) [Link].[Link]. printf("%d%d.",i,j);
D) [Link].11.12. if (i==1 && j==1)
break;
E) Aucune des quatre réponses ci-dessus
}
return 0 ;
}
13) On peut toujours remplacer... :
A) une instruction while en utilisant if B) une instruction switch en utilisant if
C) une instruction if en utilisant switch D) une instruction for en utilisant while
E) Aucune des quatre réponses ci-dessus.
Faculté des Sciences - 1° Année ST Informatique 2 2/4
14) Qu'est-ce qui est affiché par le programme ci- #include <stdio.h>
contre à son exécution ? int main(void) {
A) b = -1 int b = 1 ;
B) b = 0 for (int a=-2 ; a < 2 ; a+=2)
C) b = 1 b += a ;
D) Le programme n'affiche rien. printf("b=%d\n", b) ;
E) Aucune des quatre réponses ci-dessus return 0 ;
}
15) Qu'est-ce qui est affiché par le programme ci- #include <stdio.h>
contre à son exécution ? int main(void) {
A) (7,1)(8,3)(9,5)(10,7)(11,9)(12,11) int a = 7 ;
B) (8,1)(8,3)(8,5)(8,7) int b = (3*a)%5 ;
C) (7,11)(8,11)(9,11)(10,11)(11,11) for (a++ ; a > b ; b+=2)
D) Le programme n'affiche rien. printf("(%d,%d)", a, b) ;
E) Aucune des quatre réponses ci-dessus return 0 ;
}
16) Quelle(s) déclaration(s) permet(tent) de réserver en mémoire un tableau de 5 entiers ?
A) int t[ ] = 5 ; B) int t[4] ;
C) int t[5] ; D) int t[] = {13,37,42,0,-5} ;
E) int t[4] = {13,37,42,0,-5} ;
17) On veut réserver en mémoire un tableau de 10 entiers contenant les nombres de 1 à 10. Quelles
instructions permettent de faire cela ?
A) B)
int t[9] ; int t[10] ;
for (int i=0 ; i<10 ; ++i) for (int i=1 ; i<11 ; ++i)
t[i]=i+1 ; t[i-1]=i ;
C) D)
int t[10] ; int t[10] ;
for (int i=1 ; i<=10 ; ++i) for (int i=0 ; i<=10 ; ++i)
t[i]=i ; t[i]=i+1 ;
E) Aucune des réponses ci-dessus
18) Qu'est-ce qu'une chaîne de caractères ?
A) Une suite de caractères contenus dans un tableau de nombres réels (float)
B) Une suite de nombres réels contenus dans un tableau de caractères (char)
C) Une suite de caractères contenus dans un tableau de caractères (char)
D) Une suite de nombres entiers contenus dans un tableau de nombres réels (float)
E) Une simple variable de type caractère (char)
19) Comment un programme en C trouve-t-il la fin d'une chaîne de caractères ?
A) C'est la fin du tableau
B) Il garde dans la première case du tableau le nombre de caractères de la chaîne
C) Le caractère spécial de code 0 se trouve après le dernier caractère de la chaîne
D) Les chaînes se terminent toujours par le caractère spécial '\n' (retour à la ligne)
E) Le caractère '0' de code 48 permet de terminer la chaîne.
20) Qu'est-ce qui est affiché par le programme ci- #include <stdio.h>
contre à son exécution ? int main(void) {
A) LXRS2Q2RN char mot[] = "LXRS2Q2RN" ;
B) LXRS2Q2 int i ;
C) XRS2Q2R for (i=1 ; i<8 ; ++i)
D) MYST3R3 mot[i]++ ;
mot[i]=0 ;
E) LYST3R3S
puts(mot) ;
return 0 ;
}
Faculté des Sciences - 1° Année ST Informatique 2 3/4
Réponses :
A B C D E
1) X
2) X X
3) X X
4) X
5) X
6) X X
7) X X X
8) X
9) X
10) X
11) X
12) X
13) X X
14) X
15) X
16) X X
17) X
18) X
19) X
20) X
Faculté des Sciences - 1° Année ST Informatique 2 0/4