Vous êtes sur la page 1sur 3

Universit Sidi Mohamed Ben Abdellah Session normale

Facult des sciences Dhar El Mahraz Juin 2016


Dpartement informatique SMP S4

Examen dInformatique 4
Langage C/C++

Nom : Prnom :
CNE : Code :
Salle : N dexamen :
Filire : SMP Semestre : S4
Module : Informatique 2 (C/C++) Date :

Exercice 1 : Questions de cours (7pts)

Entourer tous les choix corrects :


1. Le rle dun compilateur est de : b
a. Traduire lalgorithme en langage C
b. Traduire le programme C en langage machine
c. Corriger les erreurs de programmation
d. Excuter le programme

2. Dans un programme C, break permet de : a,c


a. Sortir dune boucle
b. Arrter un programme
c. Sortir dun block switch
d. Na aucun effet

3. Un commentaire : b,d
a. Sert dclarer les variables du programme
b. Peut tre utilis pour expliquer les variables
c. Peut tre mis uniquement dans lentte du programme
d. Sert expliquer le programme

4. Linstruction pow(x,y) : c
a. Calcule la racine carre de x ;
b. Calcule y la puissance de x ;
c. Calcule x la puissance de y ;
d. Ncessite de rajouter #include<string.h>

1/3
5. Quels sont les dclarations fausses parmi les suivantes : a, b, d
a. int mon nom ;
b. long return ;
c. char Amphi_h1 ;
d. float pese ;
6. Pour choisir entre les types float et double pour dclarer un nombre rel : a, d
a. On tudie la mantisse et lexposant du nombre
b. On divise le nombre sur 2, et on analyse le rsultat
c. float est acceptable pour les nombres ncessitant le type double
d. double est acceptable pour les nombres ncessitant le type float

7. Aprs linstruction suivante char z=(2>1) ?x :y ; :c


a. z est gale 1
b. z est gale 2,
c. z est gale x
d. z est gale y

Exercice 2 : Questions pratiques (13pts)


8. Lire le programme suivant pour comprendre son objectif, puis complter par les
instructions qui manquent. Pour les instructions (a, b, c et d) lordre nest pas
important :

(a)..
(b)..
(c)..
(d)..
Int main(){
char message[501] ;
int len ;
cout<<"Bonjour, donner votre message :" ;
..(e)..
..(f)..
cout<<"La longueur de votre message est :"<<len ;
return EXIT_SUCCESS ;
}

a. #include<iostream>
b. using namespace std ;
c. #include<string.h>..
d. #include<stdlib.h>
e. cin>>message
f. len=strlen(message) ;

2/3
9. Le code suivant a pour objectif de calculer le produit des lments non nuls dun
tableau dentiers.
La taille du tableau est saisie au dbut. A chaque fois que lutilisateur introduit une
taille infrieure 0 ou suprieur 50, le programme lui redemande de donner la taille.
Lutilisateur saisi ensuite les lments du tableau.
Ensuite le programme calcule, puis affiche le produit des lments non nuls du
tableau.
Complter par les instructions qui manquent :

#include<stdio.h>
int main(){
int T[50], i, N, prod;
do{
printf("\n Donner la taille du tableau (50 maximum):") ;
(a)
}While((b)) ;

printf("Donner les lments du tableau :") ;


for(i=0 ;i<N ;i++){
(c)
(d)
}
(e)
for(i=0 ;i<N ;i++){
if((f)){
prod = .(g). ;
}
}
printf("le produit des lments non nuls du tableau est : %d",prod) ;
return 0 ;
}

a. scanf("%d",&N) ;
b. N<0 || N>50
c. printf("T[%d]=",i) ;
d. scanf("%d",&T[i]) ;
e. prod=1;
f. T[i] !=0
g. Prod*T[i] ;
Bonne chance,

3/3