Un programme écrit en langage C est composé de deux parties :
Partie 1 : Les déclarations
Elle comporte la déclaration des fonctions des bibliothèques (bibliothèque standard ou autre) par inclusion de fichiers fournis avec le langage et peut comprendre des déclarations des variables « globales ».
La première instruction #include <stdio.h> est une directive au compilateur dont le but est de réaliser l'inclusion mentionnée : ici, l'inclusion des fonctions d'entrée/sortie intégrées à la bibliothèque standard.
On peut également faire appel à d'autres bibliothèques, par exemple une bibliothèque mathématique. Dans ce cas, l'inclusion dans le code par #include <math.h> devra s'accompagner d'une prise en compte explicite de la bibliothèque à la compilation.
Partie 2 : Le corps du programme
Tout programme C doit comporter une fonction principale main. Cette fonction est celle utilisée par le système pour exécuter le programme.
#include <stdio.h>
int main() {
printf("hello, world\n") ;
return 0 ;
}
La fonction peut ne pas retourner de valeur, dans ce cas de figure, main doit être précédé du type void et l'instruction return ne recevra aucune valeur ou sera absente. Par convention, la valeur retournée est 0 lorsque l'exécution du programme s'est bien passée.
Instructions : constituent le corps du programme. Elles sont plus ou moins complexes et nombreuses selon les programmes.
La partie Les déclarations peut contenir des définitions de fonctions qui seront utilisées par l'intermédiaire de la fonction principale main.
Partie 1 : Les déclarations
Elle comporte la déclaration des fonctions des bibliothèques (bibliothèque standard ou autre) par inclusion de fichiers fournis avec le langage et peut comprendre des déclarations des variables « globales ».
La première instruction #include <stdio.h> est une directive au compilateur dont le but est de réaliser l'inclusion mentionnée : ici, l'inclusion des fonctions d'entrée/sortie intégrées à la bibliothèque standard.
On peut également faire appel à d'autres bibliothèques, par exemple une bibliothèque mathématique. Dans ce cas, l'inclusion dans le code par #include <math.h> devra s'accompagner d'une prise en compte explicite de la bibliothèque à la compilation.
Partie 2 : Le corps du programme
Tout programme C doit comporter une fonction principale main. Cette fonction est celle utilisée par le système pour exécuter le programme.
#include <stdio.h>
int main() {
printf("hello, world\n") ;
return 0 ;
}
La fonction peut ne pas retourner de valeur, dans ce cas de figure, main doit être précédé du type void et l'instruction return ne recevra aucune valeur ou sera absente. Par convention, la valeur retournée est 0 lorsque l'exécution du programme s'est bien passée.
Instructions : constituent le corps du programme. Elles sont plus ou moins complexes et nombreuses selon les programmes.
La partie Les déclarations peut contenir des définitions de fonctions qui seront utilisées par l'intermédiaire de la fonction principale main.
Programme en C:
#include <stdio.h> /* Inclut les fonctions d'entrée-sortie de base */
int main() { /* Déclaration du programme principal, qui renvoie un nombre entier une fois terminé.
*/ Déclaration de variables /* Les variables sont déclarées avant utilisation */
Les instructions /* Le corps du programme est composé de plusieurs instructions, chacune terminée par un ';' */
return 0; /* La valeur retournée par le programme principal Ici, zéro car il s'est exécuté correctement. */
} /* Fin du programme */
#include <stdio.h> /* Inclut les fonctions d'entrée-sortie de base */
int main() { /* Déclaration du programme principal, qui renvoie un nombre entier une fois terminé.
*/ Déclaration de variables /* Les variables sont déclarées avant utilisation */
Les instructions /* Le corps du programme est composé de plusieurs instructions, chacune terminée par un ';' */
return 0; /* La valeur retournée par le programme principal Ici, zéro car il s'est exécuté correctement. */
} /* Fin du programme */
Aujourd'hui nous allons parler des fonctions mathématiques en C. 😌
Avant de commencer, je vous invite à suivre le cours vidéo qui parle de la bibliothèque math.h👇
https://m.youtube.com/watch?v=5_rEPUjKzj8
Avant de commencer, je vous invite à suivre le cours vidéo qui parle de la bibliothèque math.h👇
https://m.youtube.com/watch?v=5_rEPUjKzj8
YouTube
math.h et ses fonctions - Programmation en C (JesProg Tuto)
Salut les amis!
Dans cette vidéo, je présentes les différentes fonctions mathématiques qui se trouvent dans la bibliothèque math.h
Si vous rencontrez des problèmes de compilation, veillez importer la bibliothèque math.h en utilisant bien-sur le #include.…
Dans cette vidéo, je présentes les différentes fonctions mathématiques qui se trouvent dans la bibliothèque math.h
Si vous rencontrez des problèmes de compilation, veillez importer la bibliothèque math.h en utilisant bien-sur le #include.…
La bibliothèque standard math du Langage C offre un certain nombre de fonctions mathématiques. Pour pouvoir les utiliser, il est nécessaire d'inclure au début du fichier source la directive :
#include <math.h>
La liste suivante contient les fonctions les plus courantes. Le type de l'argument est indiqué entre parenthèses (double x) et le type de la valeur retournée est précisée devant le nom de la fonction : c’est toujours un réel double.
Les principales fonctions mathématiques de la bibliothèque standard :
#include <math.h>
La liste suivante contient les fonctions les plus courantes. Le type de l'argument est indiqué entre parenthèses (double x) et le type de la valeur retournée est précisée devant le nom de la fonction : c’est toujours un réel double.
Les principales fonctions mathématiques de la bibliothèque standard :
Exemple d'utilisation de la bibliothèque math.h
#include <math.h> /* fichier entête à inclure pour utiliser les fonctions mathématiques */
void main(void)
{
double x, y;
double a=6.0, b=-1.5, module, argument ;
module = sqrt( a*a+b*b ) ;
argument = atan( b/a );
for ( x=1.0 ; x < exp(5) ; x=x+1.0 )
{
printf( "Le log decimal de x=%lf est %lf", x, log10(x) );
y = fabs(sin(x)) + exp(cos(x));
}
}
#include <math.h> /* fichier entête à inclure pour utiliser les fonctions mathématiques */
void main(void)
{
double x, y;
double a=6.0, b=-1.5, module, argument ;
module = sqrt( a*a+b*b ) ;
argument = atan( b/a );
for ( x=1.0 ; x < exp(5) ; x=x+1.0 )
{
printf( "Le log decimal de x=%lf est %lf", x, log10(x) );
y = fabs(sin(x)) + exp(cos(x));
}
}
Correction :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int choixMenu;
printf("=== Menu ===\n\n");
printf("1. Royal Cheese\n");
printf("2. Mc Deluxe\n");
printf("3. Mc Bacon\n");
printf("4. Big Mac\n");
printf("\nVotre choix ? ");
scanf("%d", &choixMenu);
printf("\n");
switch (choixMenu)
{
case 1:
printf("Vous avez choisi le Royal Cheese. Bon choix !");
break;
case 2:
printf("Vous avez choisi le Mc Deluxe. Berk, trop de sauce...");
break;
case 3:
printf("Vous avez choisi le Mc Bacon. Bon, ca passe encore ca ;o)");
break;
case 4:
printf("Vous avez choisi le Big Mac. Vous devez avoir tres faim !");
break;
default:
printf("Vous n'avez pas rentre un nombre correct. Vous ne mangerez rien du tout !");
break;
}
printf("\n\n");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int choixMenu;
printf("=== Menu ===\n\n");
printf("1. Royal Cheese\n");
printf("2. Mc Deluxe\n");
printf("3. Mc Bacon\n");
printf("4. Big Mac\n");
printf("\nVotre choix ? ");
scanf("%d", &choixMenu);
printf("\n");
switch (choixMenu)
{
case 1:
printf("Vous avez choisi le Royal Cheese. Bon choix !");
break;
case 2:
printf("Vous avez choisi le Mc Deluxe. Berk, trop de sauce...");
break;
case 3:
printf("Vous avez choisi le Mc Bacon. Bon, ca passe encore ca ;o)");
break;
case 4:
printf("Vous avez choisi le Big Mac. Vous devez avoir tres faim !");
break;
default:
printf("Vous n'avez pas rentre un nombre correct. Vous ne mangerez rien du tout !");
break;
}
printf("\n\n");
return 0;
}
II-/ Appel d'une fonction dans notre programme
Exemple
#include <stdio.h>
#include <stdlib.h>
int triple(int nombre)
{
return 3 * nombre;
}
int main()
{
int nombreEntre = 0, nombreTriple = 0;
printf("Entrez un nombre... ");
scanf("%d", &nombreEntre);
nombreTriple = triple(nombreEntre);
printf("Le triple de ce nombre est %d\n", nombreTriple);
return 0;
}
Exemple
#include <stdio.h>
#include <stdlib.h>
int triple(int nombre)
{
return 3 * nombre;
}
int main()
{
int nombreEntre = 0, nombreTriple = 0;
printf("Entrez un nombre... ");
scanf("%d", &nombreEntre);
nombreTriple = triple(nombreEntre);
printf("Le triple de ce nombre est %d\n", nombreTriple);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
float additionneur(float nbr1, float nbr2)
{
return nbr1+nbr2;
}
float soustracteur(float nbr1, float nbr2)
{
return nbr1-nbr2;
}
float multiplieur(float nbr1, float nbr2)
{
return nbr1*nbr2;
}
float diviseur(float nbr1, float nbr2)
{
return nbr1/nbr2;
}
int main()
{
int choixMenu, revenir;
double nombre_1, nombre_2;
do{ // boucle
printf("\n++++++++++++++++++++++++* JesProg - Calculatrice *+++++++++++++++++++++++++++\n\n");
printf("\t1. Addition\n");
printf("\t2. Soustraction\n");
printf("\t3. Multiplication\n");
printf("\t4. Division\n");
printf("\t5. Sortir\n");
printf("\n\tFaites un choix : ");
scanf("%d", &choixMenu);
system("cls");//Permet d'effacer l'écran
printf("\n");
switch (choixMenu)
{
case 1:
printf("********************ADDITION*************************\n\n");// Titre
printf("Veillez entrer les valeurs : \n\n\t");
scanf("%lf", &nombre_1);
printf("\t+\n\t");
scanf("%lf", &nombre_2);
printf("\t= %lf\n\n",additionneur(nombre_1, nombre_2));
break;
case 2:
printf("********************SOUSTRACTION*************************\n\n");
printf("Veillez entrer les valeurs : \n\n\t");
scanf("%lf", &nombre_1);
printf("\t-\n\t");
scanf("%lf", &nombre_2);
printf("\t= %lf\n\n", soustracteur(nombre_1, nombre_2));
break;
case 3:
printf("\t********************MULTIPLICATTION*************************\n\n");
printf("Veillez entrer les valeurs : \n\n\t");
scanf("%lf", &nombre_1);
printf("\t*\n\t");
scanf("%lf", &nombre_2);
printf("\t= %lf\n\n", multiplieur(nombre_1, nombre_2));
break;
case 4:
printf("\t********************DIVISION*************************\n\n");
printf("Veillez entrer les valeurs : \n\n\t");
scanf("%lf", &nombre_1);
printf("\t/\n\t");
scanf("%lf", &nombre_2);
printf("\t= %lf\n\n", diviseur(nombre_1, nombre_2));
break;
case 5:
return 0;
break;
default:
printf("Vous n'avez pas entrer un nombre correct. Je me demande a quoi vous jouez :-( !");
break;
}
printf("\n\n");
printf("Revenir au menu principal ? \n\n");
printf("1. Oui\n\n2.Sortir\n\n");
scanf("%d",&revenir);
system("cls");//Permet d'effacer l'écran
}while(revenir == 1);
return 0;
}
Correction TP Calculatrice - Programmation en C
#include <stdlib.h>
float additionneur(float nbr1, float nbr2)
{
return nbr1+nbr2;
}
float soustracteur(float nbr1, float nbr2)
{
return nbr1-nbr2;
}
float multiplieur(float nbr1, float nbr2)
{
return nbr1*nbr2;
}
float diviseur(float nbr1, float nbr2)
{
return nbr1/nbr2;
}
int main()
{
int choixMenu, revenir;
double nombre_1, nombre_2;
do{ // boucle
printf("\n++++++++++++++++++++++++* JesProg - Calculatrice *+++++++++++++++++++++++++++\n\n");
printf("\t1. Addition\n");
printf("\t2. Soustraction\n");
printf("\t3. Multiplication\n");
printf("\t4. Division\n");
printf("\t5. Sortir\n");
printf("\n\tFaites un choix : ");
scanf("%d", &choixMenu);
system("cls");//Permet d'effacer l'écran
printf("\n");
switch (choixMenu)
{
case 1:
printf("********************ADDITION*************************\n\n");// Titre
printf("Veillez entrer les valeurs : \n\n\t");
scanf("%lf", &nombre_1);
printf("\t+\n\t");
scanf("%lf", &nombre_2);
printf("\t= %lf\n\n",additionneur(nombre_1, nombre_2));
break;
case 2:
printf("********************SOUSTRACTION*************************\n\n");
printf("Veillez entrer les valeurs : \n\n\t");
scanf("%lf", &nombre_1);
printf("\t-\n\t");
scanf("%lf", &nombre_2);
printf("\t= %lf\n\n", soustracteur(nombre_1, nombre_2));
break;
case 3:
printf("\t********************MULTIPLICATTION*************************\n\n");
printf("Veillez entrer les valeurs : \n\n\t");
scanf("%lf", &nombre_1);
printf("\t*\n\t");
scanf("%lf", &nombre_2);
printf("\t= %lf\n\n", multiplieur(nombre_1, nombre_2));
break;
case 4:
printf("\t********************DIVISION*************************\n\n");
printf("Veillez entrer les valeurs : \n\n\t");
scanf("%lf", &nombre_1);
printf("\t/\n\t");
scanf("%lf", &nombre_2);
printf("\t= %lf\n\n", diviseur(nombre_1, nombre_2));
break;
case 5:
return 0;
break;
default:
printf("Vous n'avez pas entrer un nombre correct. Je me demande a quoi vous jouez :-( !");
break;
}
printf("\n\n");
printf("Revenir au menu principal ? \n\n");
printf("1. Oui\n\n2.Sortir\n\n");
scanf("%d",&revenir);
system("cls");//Permet d'effacer l'écran
}while(revenir == 1);
return 0;
}
Correction TP Calculatrice - Programmation en C
Les variables globales à un projet sont déclarés à l'entête du fichier main.c juste en dessous des includes.
Exemple :
#include<studio.h>
int ma_variable_globale = 5;
int main(){
...
return 0;
}
Exemple :
#include<studio.h>
int ma_variable_globale = 5;
int main(){
...
return 0;
}
II-/ Appel d'une fonction dans notre programme
Exemple
#include <stdio.h>
#include <stdlib.h>
int triple(int nombre)
{
return 3 * nombre;
}
int main()
{
int nombreEntre = 0, nombreTriple = 0;
printf("Entrez un nombre... ");
scanf("%d", &nombreEntre);
nombreTriple = triple(nombreEntre);
printf("Le triple de ce nombre est %d\n", nombreTriple);
return 0;
}
Exemple
#include <stdio.h>
#include <stdlib.h>
int triple(int nombre)
{
return 3 * nombre;
}
int main()
{
int nombreEntre = 0, nombreTriple = 0;
printf("Entrez un nombre... ");
scanf("%d", &nombreEntre);
nombreTriple = triple(nombreEntre);
printf("Le triple de ce nombre est %d\n", nombreTriple);
return 0;
}
Pour utiliser ces nouvelles fonctions, vous devez commencer par inclure la bibliothèque string.h comme suit à l'entête du fichier.c : #include <string.h>👍
Aussi simple que ça😊👨🏽💻
Aussi simple que ça😊👨🏽💻
sprintf: écrire dans une chaîne
Cette fonction se trouve dans stdio.h contrairement aux autres fonctions que nous avons étudiées jusqu'ici, qui étaient dans string.h.
Ce nom doit vaguement vous rappeler quelque chose. Cette fonction ressemble énormément au printf que vous connaissez mais, au lieu d'écrire à l'écran, sprintf écrit dans une chaîne ! D'où son nom d'ailleurs, qui commence par le « s » de « string » (chaîne en anglais).
Exemple d'utilisation
#include <stdio.h>
#include <stdlib.h>
int main()
{
char chaine[100];
int age = 15;
// On écrit "Tu as 15 ans" dans chaine
sprintf(chaine, "Tu as %d ans !", age);
// On affiche chaine pour vérifier qu'elle contient bien cela :
printf("%s", chaine);
return 0;
}
Resultat:
Tu as 15 ans !
👨🏽💻👍👍👍
Cette fonction se trouve dans stdio.h contrairement aux autres fonctions que nous avons étudiées jusqu'ici, qui étaient dans string.h.
Ce nom doit vaguement vous rappeler quelque chose. Cette fonction ressemble énormément au printf que vous connaissez mais, au lieu d'écrire à l'écran, sprintf écrit dans une chaîne ! D'où son nom d'ailleurs, qui commence par le « s » de « string » (chaîne en anglais).
Exemple d'utilisation
#include <stdio.h>
#include <stdlib.h>
int main()
{
char chaine[100];
int age = 15;
// On écrit "Tu as 15 ans" dans chaine
sprintf(chaine, "Tu as %d ans !", age);
// On affiche chaine pour vérifier qu'elle contient bien cela :
printf("%s", chaine);
return 0;
}
Resultat:
Tu as 15 ans !
👨🏽💻👍👍👍
I-/ Les include
Comme je vous l'ai expliqué dans les tout premieres leçons du cours, on trouve dans les codes source des lignes un peu particulières appelées directives de préprocesseur.
Ces directives de préprocesseur ont la caractéristique suivante : elles commencent toujours par le symbole "#". Elles sont donc faciles à reconnaître.
Nous avons ce fameux "#include" que nous connaissons tous et que nous retrouvons à l'entête de nos fichiers.c
Cette directive au processeur permet d'inclure une bibliothèque précise pour une utilisation des fonctions de la bibliothèque en question 👨🏽💻
Exemple :
#include <stdlib.h>
Nous avons également vu qu'elle permet d'importer nos propres bibliothèque de fonctions créer.😉
Exemple:
#include "monfichier.h"
Celà dit, ceci n'est plus un secret pour personne 😊👨🏽💻👍
Comme je vous l'ai expliqué dans les tout premieres leçons du cours, on trouve dans les codes source des lignes un peu particulières appelées directives de préprocesseur.
Ces directives de préprocesseur ont la caractéristique suivante : elles commencent toujours par le symbole "#". Elles sont donc faciles à reconnaître.
Nous avons ce fameux "#include" que nous connaissons tous et que nous retrouvons à l'entête de nos fichiers.c
Cette directive au processeur permet d'inclure une bibliothèque précise pour une utilisation des fonctions de la bibliothèque en question 👨🏽💻
Exemple :
#include <stdlib.h>
Nous avons également vu qu'elle permet d'importer nos propres bibliothèque de fonctions créer.😉
Exemple:
#include "monfichier.h"
Celà dit, ceci n'est plus un secret pour personne 😊👨🏽💻👍