Accueil Accueil     Membres Membres     Forum Forum     Articles Articles     Download Download     Sondages Sondages     Outils Outils     Scriptland Scriptland     ProgBoards ProgBoards     FR  
  Morbleu ! Morbleu ! ChIrak
Cours de programmation, code source, aide au développement, forums d'entraide - CybWarrior

login Bug Contact RSS
login bug contact RSS


| Internet |
   Créer son site web

| Langages |
   HTML
   JavaScript
   Langage C
   PHP
   QBasic
   Turbo Pascal

| Programmation |
   Algorithmie
   Maths appliquées
   Windows

| Trucs & astuces |
   Lexique
   Oeufs de Pâques (easter eggs)
   Registre et Windows

| Téléchargements |
   Flash
   Freeware
   JavaScript
   NASM
   PHP
   QBasic
   Turbo Pascal
   Visual Basic / VBScript

Langage C - Un premier programme

Autre langage disponible pour cet article : FR
Rubrique : Langage C
lundi 25 mars 2002 18:41

Voir les commentaires pour Langage C - Un premier programme
Autres articles :
- Langage C - Introduction au langage C
- Langage C - Un premier programme
- Langage C - Commentaires
- Langage C - Les variables
- Langage C - Opérateurs
- Langage C - Structure conditionnelle
- Langage C - Les cas
- Langage C - Les boucles
- Langage C - Fonctions
- Langage C - Pointeurs
<< - >>

Pour un premier programme, nous allons faire simple : nous allons juste afficher la très celebre phrase Hello World à l'écran.
Lancez Turbo C 2.01 et saisissez le code suivant :
#include <stdio.h>

int main(){
puts("Hello World!");

return 0;
}
Pour tester ce programme, il vous suffit d'utiliser la commande Run du menu ... Run, ou bien en utilisant le raccourci clavier Ctrl + F9.
L'execution du programme étant très rapide, il est fort possible que vous n'ayez rien vu de son déroulement. Vous pouvez alors accéder à la fenêtre de sortie en utilisant la commande User screen de ce même menu Run, ou bien en utilisant également le raccourci clavier Alt + F5.
Et là, on s'aperçoit que l'ordinateur a bien écrit Hello World dans le coin supérieur gauche de l'écran.
À ce stade, quelques explications seront certainement les bienvenues.

Déjà, précisons que le C est, comme le disent les anglais, case sensitive, c'est à dire qu'il est sensible à la casse (les majuscules et les minuscules). Vous pouvez d'ailleurs vous en rendre compte facilement en remplacant puts par PUTS. Ça ne manque pas : le linker signale une erreur, Undefined symbol. Forcement, puisqu'en C, PUTS et puts sont deux choses totalement différentes.

En anglais, main signifie principal. Nous les étudierons plus loin, mais vous devez savoir que main. est une fonction. Et elle porte bien son nom puisque c'est la fonction principale. Pour simplifier, on pourai dire que l'ensemble du programme est contenu dans les accolades ({ et }) de main.

Passons maintenant à puts. Vous l'aurez certainement devinez, puts sert à afficher le texte Hello World à l'écran.
Comme main(), puts() est également une fonction. Vous pouvez avoir une description de celle-ci en vous plaçant dessus avec le curseur texte et en effectuant la combinaison de touches Ctrl + F1. L'aide en ligne (en anglais) s'affiche et il est écrit :
puts: outputs a string to stdout
      (and appends a newline character)

int puts(const char *s);

Prototype in stdio.h

On successful completion, puts returns the
last character written. Otherwise a value
of EOF is returned.
Petite traduction pour les non-anglophones : puts: outputs a string to stdout (and appends a newline character) signifie puts: envoi une chaîne de caractères à la sortie standard (et ajoute un caractère de nouvelle ligne).
Pour nous, la sortie standard représente l'écran. La chaîne de caractères, c'est Hello World. Le caractère de nouvelle ligne permet d'aller à la ligne, tout simplement.

Ensuite, il est écrit : Prototype in stdio.h. Autrement dit, Le prototype est dans stdio.h. Toute fonction à (normalement) son prototype. Nous verrons en détail ce que c'est qu'un prototype plus tard, au moment d'étudier les fonctions. Pour le moment, vous devez savoir que puts est une fonction standard d'entrée/sortie, et que les prototypes des fonctions standards d'entrée/sortie sont située dans le fichier stdio.h.
stdio.h est ce que l'on appelle un fichier d'en-tête. On peut comparer un fichier d'en-tête à un index ou à un annuaire dans lequel le compilateur vient chercher le code correspondant à une fonction.
Les fichiers d'en-tête doivent être inclus grâce à la directive #include, en début de programme (c'est le pourquoi de la 1er ligne, de notre programme, #include <stdio.h>).
Le nom du fichier à inclure doit être placé entre guillemets (") ou bien entre < et >. Quelle est la différence entre ces deux syntaxes ?
Les fichiers placés entre < et > sont recherchés uniquement dans le répertoire include du compilateur. Pour les fichiers placés entre guillemets, la recherche s'effectue tout d'abord dans le répertoire courant, en général celui du fichier source.
Pour les fichiers de la bibliothèque standard, dont stdio fait parti, on place donc le nom du fichier entre < et >.

Et pour finir, on peut lire On successful completion, puts returns the last character written. Otherwise a value of EOF is returned qui signifie grosso modo : En cas de réussite, puts retourne le dernier caractère écrit. Autrement, une valeur de EOF (End Of File -> fin de fichier) est retournée.
Et oui, parce que les fonctions renvoient une valeur (on verra plus loin que pas toujours). Et c'est la raison d'être de la ligne suivante : return 0. Là encore, nous étudierons plus en détail l'instruction return au moment de découvrir plus largement les fonctions.
Dans notre cas, return 0 fait renvoyer la valeur 0 à la fonction main. Vu que main est la fonction principale, la valeur renvoyée sera en fait le code de sortie du programme. Renvoyer la valeur 0 permet de dire que l'execution du programme c'est bien passée.

Encore une dernière chose et nous en aurons fini avec ce premier programme. Cette chose concerne le point virgule (;).
En C, chaque instruction doit être terminée par ce point virgule. En effet, contrairement à un langage comme le basic qui considére une instruction par ligne, le C (et avec lui d'autres langages comme Java, Pascal...) considére une instruction par point-virgule. Si vous l'ommetez, une erreur Statement missing ; se produira.

Voir les commentaires pour Langage C - Un premier programme
 06 juillet 2008 | Version 4.0.0 | © 2001 - 2007