Différentes parties d'un fichier source

Partie 1 : Bloc des fichiers inclus

Bloc des fichiers inclus, aussi appelés fichiers d'en-tête car ils sont généralement ajoutés au début du programme. Ces fichiers définissent toute une gamme de fonctions qui seront détaillées plus tard.

L'instruction #include est une commande exécutée par le compilateur, avant la compilation du code source.
C'est pourquoi on appelle ce type d'instruction une directive du pré-processeur.

#include <stdio.h> invoque la bibliothèque des fonctions d'entrée sortie (saisie clavier par scanf() et sortie écran par printf() ).


Code c (Fichiers inclus) (4 lignes) :
  1. /* traitement_a.c
  2. création du tableau avec introduction de valeurs
  3. impression du tableau de la composante i jusqu'à la composante q */
  4. #include <stdio.h>

 

Partie 2: Bloc de la définition des constantes et des variables globales.

On trouve ici les définitions des constantes (#define) et des variables globales (accessibles depuis n'importe quel point du programme).


Code c (constantes et variables globales) (1 ligne) :
  1. #define NMAX 20

 

Partie 3: Bloc des prototypes de fonctions.

Prototype de la fonction lect. Celle ci prend deux paramètres, mais comme elle ne retourne aucune valeur elle est typée void.


Code c (prototypes de fonctions) (1 ligne) :
  1. void lect (int z[],int &n)

 

Partie 4: Bloc de la fonction main.

Tout programme C comporte une et une seule fonction main, qui est le point d'entrée dans le programme.

L'en-tête de fonction la définit comme fonction main.

Tout le code compris entre la première accolade ouverte et la dernière accolade fermée (corps de la fonction) est l'ensemble des instructions exécutables de cette fonction.

void main (void) /* fonction d'impression des val entre les composantes i et q*/
{

int t[nmax];
int i=0,q=0,nmax,n;
int continu =0;
lect(t,n);
printf ("\nintroduire la composante i\n(valeur entre 0 non compris,"
"et %d non compris):", n);
scanf ("%d", &i);
printf ("\nintroduire la composante q\n(valeur entre %d non compris,"
"et %d non compris)\nq > i :",i, n);
scanf ("%d", &q);
if (i<q)
    for (nmax=i; nmax<=q; nmax++)
        printf ("%d\n", t[nmax]);
else
    printf ("\n\n\nATTENTION : q <= i !!!");
while (i<=q && continu==1)
{

printf ("\n\n\nvoulez-vous continuer ?\n1 pour continuer :");
scanf ("%d", &continu);
while (continu==1)
{

printf ("\nintroduire la composante i\n(valeur entre 0 non compris,"
"et %d non compris):", n);
scanf ("%d", &i);
printf ("\nintroduire la composante q\n(valeur entre %d non compris,"
"et %d non compris)\nq > i :",i, n);
scanf ("%d", &q);
if (i<q)
    for (nmax=i; nmax<=q; nmax++)
        printf ("%d\n", t[nmax]);
else
printf ("\n\n\nATTENTION : q <= i !!!");

}

}

}

 

Partie 5: Bloc des fonctions appelées.

Fonctions appelées depuis la fonction main.

void lect (int z[],int &n) /* sous fonction; permet l'affectation des val du tableau*/
{

int a;
printf("\nintroduire un nbre\n0 pour terminer :");
scanf ("%d", &a);
n=0; /* afin de remplir le tableau depuis la 1ère case */
z[n]=a;
n++;
while (a && n<NMAX) /* eviter de dépasser le nbre d'espaces mém prévus */
{

printf("\nintroduire un nbre\n0 pour terminer :");
scanf ("%d", &a);
z[n]=a;
n++;

}

}

Remarques

  • Le programme est structuré en blocs qui sont des séquences d'une ou de plusieurs instructions délimitées par des accolades.
  • Dans void lect (int z[],int&n), le signe & devant la variable permet d'appeler cette variable depuis la fonction main.

 

Document créé le 19/03/02 01:00, dernière modification le 23/03/18 10:27
Source du document imprimé : https://www.gaudry.be/c-fichier-cpp-blocs.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.