Notions de bases en C

Exemple de programme en langage C

Enoncé: écrire un programme en langage C qui calcule le périmètre d'un cercle, puis affiche le résultat à l'écran de l'ordinateur.

Ci-dessous une solution possible au problème posé:

 

#include <stdio.h>  
#define pi 3.14159

int main(void)
{

       float radius, perimeter;
       //Calculate perimeter of circle
       radius = 12.0;
       perimeter = 2 * pi * radius;
       printf("Perimeter =%f", perimeter);

}

 

En langage C les numéros de lignes ne font pas partie du code d'un fichier source à proprement parlé. Ils ont été rajoutés ici afin de se référer aux différentes instructions.

> Ligne 1: #include <stdio.h>

#include est une directive à destination du préprocesseur repérée par le signe "#". Elle demande d'inclure le contenu du fichier en-têtes (header file) stdio.h, dans le fichier source.

Le fichier stdio.h contient des bibliothèques de fonctions qui servent à gérer les entrées-sorties; par exemple la fonction printf(), que nous verrons plus tard s'occupe de l'affichage.

> Ligne 2: #define pi 3.14159

#define est une directive à destination du préprocesseur; elle est utilisée pour créer un label texte de substitution. Après cette ligne, partout où "pi" sera rencontré, il sera automatiquement substitué par 3.14159.

En langage C, les directives doivent être écrites à raison d'une par ligne et leur saisie doit obligatoirement commencer en début de ligne.

Il est préférable de les placer en début de programme.

> Ligne 4: int main(void)

La fonction main() représente le programme principal. Tout programme écrit en langage C devra en contenir une et une seule.  A l'intérieur de cette fonction résidera le code de l'application. Le programme principal, comme toute fonction écrite en C, est délimité par les accolades " { " et " } " (lignes 5 et 13); et toutes les instructions situées à l'intérieur de celles-ci forment un bloc.

Un bloc d'instructions peut encore contenir d'autres blocs d'instructions.

La fonction principale main()  sera exécutée après le code d'initialisation situé dans la fonction nommée bien souvent setup(). Nous ne l'avons pas utilisée dans cet exemple.

> Ligne 7: float radius, perimeter;

Cette ligne déclare que les deux variables radius et perimeter sont du type nombres flottants (C'est à dire une approximation des nombres réels). En C, la déclaration des types de variables est obligatoire et doit être faite au début du programme.

Dans cette déclaration, il y a une virgule (,) et point virgule (;). Ces deux signes de ponctuation constituent ce qui est appelé des séparateurs. En C, les instructions se terminent par un point virgule.

> Ligne 8: //Calculate perimeter of circle

Ici c'est un commentaire, repéré par le signe // ; tout ce qui suivra sera considéré comme tel. Si on souhaite commenter un paragraphe entier par exemple, il faut l'encadrer par les signes " /* " et " */ ". Les commentaires sont utiles pour garder le fil d'idée sur ce qu'on fait; ils permettent aussi à une autre personne de comprendre, ou de faire la maintenance du programme.

> Ligne 9: radius = 12.0;

C'est une instruction d'affectation. On affecte avec le signe " = ", la valeur 12.0 à la variable radius.

> Ligne 10: perimeter = 2 * pi * radius;

C'est aussi une instruction d'affectation dont la valeur est une expression arithmétique. On affecte à la variable ‘’perimeter’’, l’expression arithmétique située à droite du signe " = ".

> Ligne 11: printf("Perimeter =%f", perimeter);

Ici, on effectue un appel de fonction ; et la fonction appelée est printf(). C’est une fonction prédéfinie contenue dans la bibliothèque "stdio.h", fournie avec le langage (on a plus besoin d’écrire cette fonction; il suffit de l'appeler), elle permet d'afficher une valeur dans une zone d'écran de l'ordinateur.

Les guillemets ( " ) et ( " ), délimitent la chaîne de caractère qui sera affiché, et le %f qu'on appelle le format, précise comment sera affichée l'information fournie par l'argument situé après la virgule (ici il s'agit de perimeter).

Par la suite, nous verrons plus en détails les instructions utilisées dans cet exemple.

Ce site web utilise des cookies

Certains d’entre eux sont essentiels pour son fonctionnement et d’autres nous aident à améliorer l’expérience utilisateur (cookies traceurs). Vous pouvez décider vous-même si vous autorisez ou non ces cookies. Merci de noter que, si vous les rejetez, certaines fonctionnalités du site pourront être défaillantes.