Vous êtes sur la page 1sur 2

Cours/TD2 de programmation C : Boucles

Objectifs du TD2
- Etre capable de créer un nouveau projet et de programmer de manière modulaire
- Introduction aux procédures et fonctions
- Maîtriser la syntaxe de la boucle for, de la boucle while et de la boucle do…while
- Maîtriser la syntaxe du switch case

Consignes/ Rappels
- Un projet en langage C ne peut contenir qu’un seul programme main (fichier main.c)
- L’extension des fichiers source est (.c) et non (.cpp)
- Ecrire un code propre et commenté
- Toujours compiler (Générer la solution F7) avant d’exécuter les programmes (Débogguer F5)

Exercice 1: Nombres premiers


Un nombre premier est un entier naturel divisible uniquement par 1 et par lui-même. Par convention, 2 est
le plus petit de tous les nombres premiers.

1- Ecrire un programme permettant de vérifier si un nombre entier val saisi au clavier est un nombre
premier ou pas en affichant un message en sortie standard (sur la console de sortie).
2- Afficher les N premiers nombres premiers entiers, la valeur de N sera saisie au clavier. Utiliser les
tabulations et les sauts de lignes pour rendre l’affichage plus lisible de telle manière que plusieurs
nombres soient affichés sur la même ligne.

Exercice 2: Boucle for


Ecrire un programme permettant de calculer parmi les entiers de 1 à 100 (inclus):
1- La somme des carrés des entiers impairs.
2- La racine carrée de la somme des différences entre chaque deux nombres premiers consécutifs.
3- Afficher les résultats obtenus sur la console de sortie
Remarque : la fonction permettant de calculer la racine carrée est sqrt. Charger la bibliothèque appropriée.

Exercice 3 : Boucles while et do….. while


1- Tester le programme suivant pour les valeurs de (x, y) suivantes: (0, 0), (0, 1), (0, 10), (0,11), (0, 100).
Que remarquez-vous ?
int x=0, y=100;
do
{ printf("%d ", x);
x++;
} while(x < y);

2- Effectuer les mêmes tests avec le programme suivant et conclure (différence entre les deux boucles
while et do while):

while(x<y)
{ printf("%d ", x);
x++;
}

TD2 - Programmation C – IngéSpé – Y. Chenoune ESME Paris 2017-2018


Exercice 4 : switch case
On souhaite créer une calculatrice permettant de réaliser des opérations simples (addition, produit,
division…) entre deux voire plusieurs nombres réels. Pour cela, nous appellerons la procédure calculatrice() à
partir du main.
1- Créer une fonction menu proposant la liste des opérations possibles (exemple) :

----- Entrez votre choix -----


-1- Addition
-2- Produit
-3- Soustraction
-4- Division
-5- Racine carrée
-6- Puissance
-7- Quitter
En fonction de la valeur retournée par la fonction menu, la procédure calculatrice() appellera la fonction
correspondante.
2- Créer les fonctions correspondantes qui seront appelées en fonction du choix de l’utilisateur (utiliser
switch case).
Par exemple, si l’utilisateur souhaite faire une addition, il entrera 1. Dans ce cas, appeler la fonction
addition() qui sera sauvegardée dans un fichier séparé addition.c. pour plus de simplicité, la saisie
des valeurs des nombres à traiter se fera dans cette fonction.
3- Prévoir la possibilité, dans certains cas, de traiter plus de deux nombres (par exemple pour
l’addition, le produit…)
4- Effectuer les tests nécessaires (par exemple division par zéro). Dans ce cas, redemander la saisie des
nombres à traiter.
5- Soigner l’affichage et commenter vos programmes (commentaires courts)

Rappel : Instruction switch case


Fonctionnement: Évaluer l’expression (a) et aiguiller le programme vers le cas correspondant à la valeur ainsi
évaluée. Le cas est indiqué par l’instruction case.
switch s’appuie sur une valeur entière de (a). Une fois le cas traité et le bloc d’instructions correspondant
exécuté, break permet de sortir du switch.
Si aucun cas n’existe, on peut prévoir un default (cas par défaut).

switch (a) // évaluer l’expression (a)


{
case val1: // dans le cas où a vaut val1
instruction1 // exécuter instruction1
break; // quitter le switch case

case val2: // dans le cas où a vaut val2


instruction2 // exécuter instruction2
break; // quitter le switch case

default: // sinon, dans tous les autres cas


instruction3
break;
}

TD2 - Programmation C – IngéSpé – Y. Chenoune ESME Paris 2017-2018

Vous aimerez peut-être aussi