« Introduction au langage C/Premier programme » : différence entre les versions

Contenu supprimé Contenu ajouté
→‎Retour de valeurs : elle définie -> elle est définie + ou x -> où x
maintenance
Ligne 1 :
{{Chapitre
| titre = Premier Programme
| idfaculté = informatique
| leçon = [[../]]}}
| précdent = [[../Introduction au C/]]
| suivant = [[../Mots clés/]]
}}
 
== Introduction ==
Ligne 9 ⟶ 14 :
== Le programme ==
hello.c
 
<source lang="c">
/*
Ligne 39 ⟶ 45 :
Un commentaire en C peut s'écrire de deux manières :
* de façon classique en C, qui commence avec <tt>/*</tt> et finit avec <tt>*/</tt> :
 
<source lang="c">
/* le commentaire commence ici
Ligne 44 ⟶ 51 :
/* Un commentaire sur une seule ligne */
</source>
 
* depuis C99, comme en C++ pour une seule ligne :
 
<source lang="c">// commentaire</source>
 
Ligne 50 ⟶ 59 :
 
=== Include ===
 
<source lang="c">
#include <stdio.h>
</source>
 
Lors d'un processus appelé "précompilation", un petit programme que l'on appelle [[Langage C/Le préprocesseur|préprocesseur]] ajoute, supprime et remplace des parties de votre source. Il traite les lignes commençant par le signe #. Cette précompilation fait partie de la chaîne de compilation mais ce processus n'est pas lié directement à la compilation elle-même : le préprocesseur ne connaît pas le langage C. C'est un programme qui manipule du texte.
 
L'option -E du compilateur gcc permet de voir à l'écran le résultat de cette phase.
 
<pre>
<source lang="bash">
gcc -E hello.c | more
</presource>
 
Le code <code>#include <stdio.h></code> demande au preprocesseur d'inclure le fichier [[w:en:stdio.h|stdio.h]], qui contient le prototype (la description) de la fonction <code>puts</code>, utilisée plus tard dans le programme. Ce fichier d'extension '''.h''' est situé le plus souvent dans le dossier '''/usr/include''' ou dans un fichier de l'arborescence liée au compilateur, que nous aborderons [[Langage C/Le préprocesseur#Inclusion de fichier|plus tard dans le cours]].
Ligne 74 ⟶ 86 :
 
Si l'on ne veut pas récupérer de paramètres de la ligne de commande qui a permis de lancer l'exécutable :
 
<source lang="c">
int main(void)
Ligne 82 ⟶ 95 :
 
ou en souhaitant utiliser les paramètres :
 
<source lang="c">
int main(int argc, char *argv[])
Ligne 100 ⟶ 114 :
 
==== Retour de valeurs ====
 
<source lang="c">
return (EXIT_SUCCESS);
</source>
 
Le '''return (EXIT_SUCCESS)''' est là pour signifier au système d'exploitation que le logiciel a été exécuté sans erreur. EXIT_SUCCESS est une constante qui vaut 0, elle est définie dans [[w:en:Stdlib.h|stdlib.h]].
 
Ligne 116 ⟶ 132 :
 
Si une fonction retourne une valeur que l'on souhaite stocker dans une variable, la syntaxe suivante est utilisée pour son appel :
 
<source lang="c">
variable = nom_de_la_fonction(argument1, argument2);
</source>
 
{{ Exemple :
| contenu =
<source lang="c">
/* Le prototype de la fonction fabs
Ligne 132 ⟶ 150 :
et retourne une valeur de type double. */
</source>
}}
 
ou si on ne souhaite pas utiliser le code retour de la fonction :
 
<source lang="c">
(void)nom_de_la_fonction(argument1, argument2);
</source>
 
Exemple{{ :Exemple
| contenu =
<source lang="c">
(void)puts("Bonjour le monde");
</source>
}}
 
Exemple de fonction bonjour qui n'accepte pas de paramètre et ne retourne pas de valeur :
 
<source lang="c">
bonjour();
Ligne 188 ⟶ 211 :
 
Vous devriez voir s'afficher :
 
<pre>
<source lang="bash">
MacMini-TM:~/Documents/developpement/c thierry$ ./hello.exe
Bonjour le monde
MacMini-TM:~/Documents/developpement/c thierry$
</presource>
 
Conseil de codage à respecter : [[b:Conseils de codage en C/Robustesse des programmes#Compilation stricte et outils qualité (c_rob_1)|c_rob_1]].
Ligne 251 ⟶ 275 :
<references />
 
{{Bas de page
| idfaculté = informatique
| leçon = [[../]]}}
| précdent = [[../Introduction au C/]]
| suivant = [[../Mots clés/]]
}}
 
[[Catégorie:Langage C]]