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)
/* traitement_a.c création du tableau avec introduction de valeurs impression du tableau de la composante i jusqu'à la composante q */ #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)
#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)
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.
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 19/03/2002 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/c-fichier-cpp-blocs.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.