Fichier source
Un fichier source écrit en langage C est composé de :
-
définition de types.
-
déclaration de variables.
-
déclaration de fonctions.
Ceci se réalise dans un ordre quelconque du moment que la règle : « ce qui est utilisé doit être explicitement déclaré avant » est respectée.
Pour pouvoir s'exécuter, un programme C doit contenir la déclaration d'une fonction spéciale appelée main qui sera le point d'entrée de l'exécution. Il s'agit de la fonction invoquée au démarrage de l'exécution. Toutes les autres fonctions sont en fait des blocs d'instructions auxquels le programmeur donne un identificateur (nom). Elles peuvent être ensuite utilisées (invoquées) dans la fonction principale main.
Une déclaration de fonction se décompose en deux parties :
-
L'en-tête de la fonction : Il est composé du type de valeur qu'elle retourne, de son nom (un identificateur) et d'une description des paramètres qu'elle recevra quand elle sera appelée (ce sont les paramètres formels).
-
Les paramètres formels sont définis entre une parenthèse ouvrante «) » et une parenthèse fermante « ) ».
Nous présentons un programme qui donne la moyenne de N nombres entrés au clavier. L'utilisateur doit préciser le nombre N de données qu'il va taper.
A ce stade du cours, il n'est pas nécessaire de comprendre le contenu de ce programme. Il suffit simplement d'y distinguer l'architecture globale décrite précédemment (déclarations de variables, blocs, indentations).
#include <stdio.h>
void moyenne()
//en-tête de la fonction moyenne, elle n'attend pas de paramètres
// début du bloc de la fonction
{
// déclaration de variables
float donnee, somme, moyenne; int i, n;
// La séquence d'instructions de la fonction moyenne
// Inutile de comprendre le contenu. L'essentiel est d'identifier la structure
printf("entrer le nombre de donnees");
scanf("%d",&n);
if (n > 0)
{
somme = 0;
for (i=1; i < N; i++)
{ scanf("%d",&donnee);
somme = somme + donnee;
}
moyenne = somme / n;
printf("moyenne = %d",moyenne);
}
else printf("pas de donnees");
}
// fin du bloc de la fonction
void main ()
// en-tête de la fonction main, elle n'attend pas de paramètres
{
moyenne () ;
}
Deux fonctions sont définies, moyenne et main. La fonction principale main appelle la fonction moyenne définie avant. La règle est bien respectée.
Nous allons dans un premier temps travailler uniquement avec la fonction principale main. L'en-tête de cette fonction est :
void main()
La fonction main ne renvoie rien et n'attend aucun paramètre.
Nous allons maintenant voir comment on construit un bloc d'instructions.