Retour vers la partie 1La suite (partie 3)
Dans la première partie du cours nous avons vu que la fonction "printf" permet d'afficher du texte (print). le "f" de "printf" signifie : formaté.
L'utilisation la plus simple de printf est d'afficher une chaine de caractères :
printf("Bonjour à tous !"); // Affiche "Bonjour à tous !"
// Une chaine de caractère est représentée entre ""
Pour afficher la valeur d'une variable on utilise la notation suivante :
int age = 18;
printf("vous avez %d ans", age); // Affiche "Vous avez 18 ans"
// le %d a été remplacé par la valeur de la variable age
Le spécificateur %d dans la chaine de caractère indique à la fonction printf qu'elle doit insérer à cet emplacement la valeur d'une variable. Cette variable est précisée après la chaine de caractère : la valeur de age dans l'exemple proposé.
Le spécificateur à utiliser dépend du type de la variable à afficher :
Il est possible d'insérer plusieurs variables (et même des calculs) dans un seul printf, il suffit de les indiquer dans l'ordre voulu :
int nb1 = 14;
int nb2 = 2;
printf("Le produit de %d par %d est égal à %d", nb1, nb2, nb1*nb2);
// Affiche "Le produit de 14 par 2 est égal à 28"
Les caractères spéciaux sont précédés d'un antislash (\) dans la chaine de caractère.
#include <stdio.h>
int main() {
printf("Bonjour à tous!\n"); // \n permet d'aller à la ligne
printf("Ici j'affiche Bonjour entre guillemets : \"Bonjour\"");
printf("\nCette année les prix ont augmentés de 4.5%%");
// Pour afficher le caractère % il faut le doubler : %% (sinon il est considéré comme un spécificateur)
return 0;
}
Cette structure va permettre à votre programme de prendre des décisions. Elle s'écrit sous la forme "Si Alors Sinon". Nous l'avons vu dans la partie 1 dans le paragraphe "Comment représenter un algorithme ?" :
#include <stdio.h> // inclure la bibliothèque STandard Input Output
// permet d'utiliser, entre autre, printf et scanf
int main() // main désigne le programme principal il est délimité par des accolades
{ // Début du main
// Variables :
int age; // age : Entier
printf("Quel est votre age ? "); // Afficher : "Quel est votre age ?"
scanf("%d", &age); // Entrer : age
if(age < 18) // SI age < 18
{
printf("Vous êtes mineur"); // Afficher : "Vous êtes mineur"
}
else // SINON
{
printf("Vous êtes majeur"); // Afficher : "Vous êtes majeur"
}
return 0;
} // Fin du main
A == B | A est égal à B |
A != B | A est différent de B |
A < B | A est inférieur à B |
A > B | A est supérieur à B |
A <= B | A est inférieur ou égal à B |
A >= B | A est supérieur ou égal à B |
ATTENTION : Ne pas confondre A == B avec A = B :
Faire les exercices 2 et 3 de la page "Exercices de programmation en langage C (débutant)".
Modifier le programme "Quel est votre age ?" en intégrant la modification suivante :
Comme pour la structure "SI ALORS SINON", cette structure va permettre à votre programme de prendre des décisions.
Exemple : L'échelle de Richter
On souhaite faire un programme qui demande la magnitude d'un séisme à l'utilisateur et le programme affiche les effets engendrés par ce séisme selon l'échelle de Richter.
#include <stdio.h> // inclure la bibliothèque STandard Input Output
// permet d'utiliser, entre autre, printf et scanf
int main() // main désigne le programme principal il est délimité par des accolades
{ // Début du main
// Variables :
int magnitude; // magnitude : Entier
// Afficher : "Les effets engendrés par un séisme selon l'échelle de Richter"
printf("Les effets engendrés par un séisme selon l'échelle de Richter\n\n");
// Afficher : "Quelle est la magnitude du séisme (1-9) ?"
printf("Quelle est la magnitude du séisme (1-9) ? ");
scanf("%d", &magnitude); // Entrer : magnitude
switch(magnitude) { // SELON magnitude
case 1 : printf("Secousse imperceptible"); // CAS 1 : Afficher : "Secousse imperceptible"
break;
case 2 : printf("Secousse ressentie uniquement par des gens au repos");
break;
case 3 : printf("Seuil à partir duquel la secousse devient sensible pour la plupart des gens");
break;
case 4 : printf("Secousse sensible mais pas de dégâts");
break;
case 5 : printf("Tremblement fortement ressenti, dommages mineurs près de l’épicentre");
break;
case 6 : printf("Dégâts à l’épicentre dont l’ampleur dépend de la qualité des constructions");
break;
case 7 : printf("Importants dégâts à l’épicentre, secousse ressentie à plusieurs centaines de km");
break;
case 8 : printf("Dégâts majeurs à l’épicentre, et sur plusieurs centaines de km");
break;
case 9 : printf("Destruction totale à l’épicentre, et possible sur milliers de km");
break;
default : printf("Mauvaise saisie, l’échelle de Richter va de 1 à 9");
} // FIN SELON
return 0;
} // Fin du main
Article connexe : Langage C – Premiers pas