Vous êtes sur la page 1sur 4

Nom:……………………..…………….

……………… Numéro :……………


Prénom :……………………………….….…………… Durée 2h

Contrôle 1 Programmation C (2019-2020)


Niveau CP2

L’utilisation de téléphone portable, calculatrice ou tout document est interdite.

Exercice 1
Pour chaque question choisissez la ou les bonnes réponses

1. Où peut-on déclarer une variable ? 2. L'instruction «switch» sert à éviter des


Dans la fonction principale main instructions :
Avant la fonction principale main while... imbriquées.
Avant une directive au do…..while imbriquées.
précompilateur "#include if... else... imbriquées.
for... imbriquées
3. Le type "unsigned int" correspond à : 4. Le type "char" correspond à :
Un entier. Un entier codé sur un unique octet
Un réel. Un réel.
Ni l'un ni l'autre. Ni l'un ni l'autre.
5. Qu’affiche le programme suivant : 6. Qu’affiche le programme suivant :
int main() { int main() {
int x = 2; int i,j,p;
switch (x) { for(i=1; i<=5; i++){
case 1: x = 4; for(j=1; j<=5; j++){
case 2: x = 5; p = i*j;
case 3: x = 6; if(p >= 3) break;
default: {} }
} }
printf("%d\n", x); printf("%d ",p);
return 0; return 0;
} }
2 5 6 3 5 6
Rien car il n’est pas correct Rien car il n’est pas correct
7. Peut-on changer la taille d'un tableau 8. Soit le programme suivant :
en cours d'exécution du programme ? int main(){
Oui, en affectant une nouvelle int t[4] = { 7 , 8 , 9 };
valeur à la variable définissant la printf("%d", t[2]+t[3]);
taille du tableau }
Oui, en redéfinissant la valeur de la Quel sera le résultat affiché ?
constante indiquant la taille du
tableau. 5 17 9
Ça dépond (on ne connait pas la
Non, c'est impossible. valeur de l’élément d’indice 3)

1
Exercice 2
Soient les déclarations suivantes : int n = 5, p = 9, q ; float x ;
Quelle est la valeur affectée aux différentes variables concernées par chacune des instructions
suivantes ?
q=n<p …………………………………….…………………………..
q = n == p …………………………………….…………………………..
q=p%n+p>n …………………………………….…………………………..
x=p/n …………………………………….…………………………..
x = (float) p / n …………………………………….…………………………..
x = (p + 0.5) / n …………………………………….…………………………..
x = (int) (p + 0.5) / n …………………………………….…………………………..
q = n * (p > n ? n : p) …………………………………….…………………………..

Exercice 3
Quel est le résultat fournit par le programme suivant :
#include <stdio.h> Résultat :
int main() {
int n, p, q ; Cas1….……………………………...….………
n=5;p=2; /* cas 1 */ ………………………….…………...….………
q = n++ >p || p++ != 3 ;
printf( "A : n = %d p = %d q = %d\n" , n, p, q) ; ………………………….…………...….………
n=5;p=2; /* cas 2 */ Cas2….……………………………...….………
q = n++<p || p++ != 3 ;
printf( "B : n = %d p = %d q = %d\n" , n, p, q) ; ………………………….…………...….………
n=5;p=2; /* cas 3 */ ………………………….…………...….………
q = ++n == 3 && ++p == 3 ;
Cas3….……………………………...….………
printf( "C : n = %d p = %d q = %d\n" , n, p, q) ;
return 0 ; ………………………….…………...….………
} ………………………….…………...….………
Exercice 4
1. Quel est le résultat fournit par le programme suivant :
#include <stdio.h> Résultat :
int main() {
int n=0 ; ……………………………...….………
do { ……………………………...….………
if (n%2==0) { printf(" %d est pair\n", n) ;
n += 3 ; continue ; ……………………………...….………
} ……………………………...….………
if (n%3==0) { printf(" %d est multiple de 3\n", n) ;
n += 5 ; ……………………………...….………
} ……………………………...….………
if (n%5==0) { printf(" %d est multiple de 5\n", n) ;
……………………………...….………
break ;
} ……………………………...….………
n += 1 ; ……………………………...….………
}while (1) ;
return 0 ;} ……………………………...….………
2
2. Reprendre le programme en utilisant la boucle for.
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
Exercice 5
1. Que fait le programme suivant :

#include <stdio.h> Réponse: .…………………..….………


int main() {
int A, B, C; ……………………………...….………
printf("Introduisez trois nombres entiers :"); ……………………………...….………
scanf("%d %d %d", &A, &B, &C);
printf("%d\n", (A>((B>C)?B:C)) ? A : ((B>C)?B:C)); ……………………………...….………
return 0; ……………………………...….………
}
……………………………...….………

2. Reprendre le programme en utilisant if…else.


……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..

3
Exercice 6
Écrire un programme qui lit une durée à partir du clavier fournie sous la forme
heure(s):minute(s):seconde(s), qui la converti et l’affiche en seconde. (La saisie doit être
contrôlée : dans le cas où le nombre d’argument est diffèrent de trois ou le format d’entrée
n’est pas respecté l’utilisateur est amené à refaire la saisie.)
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
Exercice 7
Écrire un programme qui calcule les racines carrées de nombres saisies au clavier. Il s’arrêtera
lorsqu’on lui fournira la valeur 0. Il refusera les valeurs négatives.
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
……………………………………………………………………………………………….…..
4

Vous aimerez peut-être aussi