Langage C : un fichier source

Introduction

Après avoir créé un nouvel espace de travail et lui avoir ajouté un nouveau projet, nous allons créer un nouveau fichier dans lequel nous introduirons le code source.

Si nous utilisons visual C++, nous y parvenons par le menu File/New...
Une fenêtre permet la sélection par l'onglet Files d'un C++ Source File, qu'il faut nommer et ajouter au projet. Ce fichier source peut porter le même nom que le projet, car l'extension .cpp (généralement utilisé pour le C++, et .c pour le C) lui est automatiquement ajoutée, alors que le fichier du projet est suivi de l'extension .dsp.
Comme localisation, dans le cadre de nos cours nous grouperons les fichiers source dans un unique répertoire nommé src, afin de gérer plus aisément le travail à domicile.

Qu'est-ce qu'un fichier source?

Un fichier source est un simple fichier texte non formaté (uniquement les caractères du code ASCII, donc pas sous une extension telle que ".doc").

Table des matières Haut

Que comporte un programme en C?

Un programme en C comporte différentes fonctions, qui réalisent des opérations sur des données. Par programme, il doit exister une et une seule fonction qui portera le nom de "main" (qui signifie principale en anglais).

Le programme se présente donc de la manière suivante:

  1. void main (void)
  2. {
  3. instructions;
  4. }

Remarque

Le langage C est sensible à la casse:

  • main est la fonction principale du programme.
  • MAIN est une autre fonction.

Les commentaires en  C

Quelques règles en C:

  • /* indique le début du commentaire.
  • */ indique la fin du commentaire.
  • Un commentaire peut prendre plusieurs lignes.
  • Un commentaire se place n'importe où dans le code, mais il ne peut couper un mot du programme.
  • Les commentaires ne peuvent contenir le signe de fin de commentaire.
  • Depuis la norme C99, nous avons la la possibilité de placer des commentaires sur une seule ligne en C comme en C++.
  1. /*Exemple de commentaire en C*/
  2. /*
  3. Le commentaire peut se trouver
  4. sur plusieurs lignes
  5. */
  6. instruction1;/*Correct*/instruction2;
  7. instruct/*Mauvais commentaire*/ion3;
  8. /*La fermeture */ ne peut être contenue dans le commentaire*/
  9. instruction4;
  10. //Commentaire sur une ligne (C++)
  11. instruction5

Table des matières Haut

Exemple de fichier source

Ce qui suit est un fichier source (traitement_a.c) qui nous permet d'avoir une première vue d'ensemble. Pas de panique, ce fichier est découpé en blocs plus explicites à la page suivante.

  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>
  5. #define NMAX 20
  6. void lect (int z[],int &n)
  7. void main (void) /* fonction d'impression des val entre les composantes i et q*/
  8. {
  9. int t[nmax];
  10. int i=0,q=0,nmax,n;
  11. int continu =0;
  12. lect(t,n);
  13. printf ("\nintroduire la composante i\n(valeur entre 0 non compris,"
  14. "et %d non compris):", n);
  15. scanf ("%d", &i);
  16. printf ("\nintroduire la composante q\n(valeur entre %d non compris,"
  17. "et %d non compris)\nq > i :",i, n);
  18. scanf ("%d", &q);
  19. if (i<q)
  20. for (nmax=i; nmax<=q; nmax++)
  21. printf ("%d\n", t[nmax]);
  22. else
  23. printf ("\n\n\nATTENTION : q <= i !!!");
  24. while (i<=q && continu==1)
  25. {
  26. printf ("\n\n\nvoulez-vous continuer ?\n1 pour continuer :");
  27. scanf ("%d", &continu);
  28. while (continu==1)
  29. {
  30. printf ("\nintroduire la composante i\n(valeur entre 0 non compris,"
  31. "et %d non compris):", n);
  32. scanf ("%d", &i);
  33. printf ("\nintroduire la composante q\n(valeur entre %d non compris,"
  34. "et %d non compris)\nq > i :",i, n);
  35. scanf ("%d", &q);
  36. if (i<q)
  37. for (nmax=i; nmax<=q; nmax++)
  38. printf ("%d\n", t[nmax]);
  39. else
  40. printf ("\n\n\nATTENTION : q <= i !!!");
  41. }
  42. }
  43. }
  44. void lect (int z[],int &n) /* sous fonction; permet l'affectation des val du tableau*/
  45. {
  46. int a;
  47. printf("\nintroduire un nbre\n0 pour terminer :");
  48. scanf ("%d", &a);
  49. n=0; /* afin de remplir le tableau depuis la 1ère case */
  50. z[n]=a;
  51. n++;
  52. while (a && n<NMAX) /* eviter de dépasser le nbre d'espaces mem prévus */
  53. {
  54. printf("\nintroduire un nbre\n0 pour terminer :");
  55. scanf ("%d", &a);
  56. z[n]=a;
  57. n++;
  58. }
  59. }

Document créé le 19/03/2002, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/c-fichier-cpp.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.