Université Hassan II
Faculté des Sciences Aïn Chock de Casablanca
Département Mathématiques et Informatique
Série de TD N° 3 Informatique
Opérateurs, Conditions & Boucles SMP – S4
Exercice 1
Donnez la valeur de chacune des variables dans les opérations suivantes. Les opérations dépendent
les unes des autres.
A B C D E F G
int A = 1 + 2 * 3 – 4 ;
int B = (1 + 2) * (3 – 4);
int C = 5 * A++ ;
int D = ++A % 2;
float E = ++B + 10 ;
float F = D-- / 10 ;
int G= A / B * C % D == E;
Exercice 2
Donner le résultat d’exécution du programme suivant étape par étape :
Valeur décimale Valeur Binaire équivalente
#include <stdio.h>
main()
{
short c;
unsigned short a = 0b111100; 60 0000 0000 0011 1100
unsigned short b = 0b1101; 13 0000 0000 0000 1101
c = a & b;
printf("%hd", c );
c = a | b;
printf("%hd", c ) ;
c = a ^ b;
printf("%hd", c );
c = ~a;
printf("%hd", c );
c = a << 2;
printf("%hd", c );
c = a >> 2;
printf("%hd", c );
c = a && b;
printf("%hd", c );
c = a || b;
printf("%hd", c );
}
1/2
Exercice 3
Écrire un programme qui résout l’équation AX2+BX+C=0 en envisageant tous les cas particuliers.
Exercice 4
Ecrire un programme qui permet de lire un entier entre 1 et 7 et d’afficher le jour de la semaine
correspondant (1 pour Lundi et 7 pour dimanche), et dans le cas où la valeur entrée ne se trouve pas
dans l’intervalle [1 ; 7], le message « Erreur numéro » sera affiché.
Exercice 5
Un magasin de reprographie facture 0,60 DH les dix premières photocopies, 0,50 DH les vingt suivantes
et 0,40 DH au-delà. Ecrivez un programme qui demande à l’utilisateur le nombre de photocopies
effectuées et qui affiche la facture correspondante.
Exercice 6
Ecrire un programme qui donne la mention d’un étudiant en fonction de sa note entrée au clavier.
La mention est ‘Très bien’ si la note >= 16, ‘Bien’ si la note est comprise entre 14 et 16,’ Assez bien’
si la note est comprise entre 12 et 14, ‘Passable’ si la note est comprise entre 10 et 12. L’étudiant
est ajourné dans le cas contraire. Utilisez l’instruction « switch » pour résoudre le problème.
Exercice 7
Soit le programme suivant :
1 #include<stdio.h> ;
2 int main(){
3 int i, n, som ;
4 som = 0 ;
5 for (i = 0 , i <= 4 , i++){
6 printf ("Donnez un Entier ");
7 scanf ("%d",&n) ;
8 som =+ n ;
9 }
10 printf ("Somme : &d\n", som);
11 return 0
12 }
a) Le programme contient 5 erreurs. Corrigez-les !
b) Donnez le nombre d’itérations de la boucle for
c) Écrire un programme réalisant exactement la même chose, en employant, à la place
de l’instruction for :
− L’instruction while,
− L’instruction do... while.
d) Compléter le programme par des instructions qui permettent de calculer seulement la somme
des nombre paires saisies
Exercice 8
Un nombre premier n’est divisible que par 1 ou par lui-même.
Ecrire un programme qui lit un entier positif et vérifie si ce nombre est premier ou non.
2/2