infoclick solution informatique (Gers) - version particulier

 

infoclick solution informatique - Encyclopédie informatique

 
Introduction
Caractéristiques
Préprocesseur
Types de données
Les variables
Les opérateurs
Structures conditionnelles
Les fonctions
Les tableaux
Les structures
Les pointeurs
Chaîne de caractères
Listes chaînées
 
caractéristiques du langage CPage précédentePage suivanteRetour à la page d'accueil

Le fichier source

Le fichier source d'un programme écriten langage C est un simple fichier texte dont l'extension est par convention .c.

Note d'un visiteur (J.Grondin):
L'extension est en minuscules. Le .C (majuscule) est interprété par certains compilateurs comme l'extension du C++ (gcc). Comme il existe de petites différences entre la compilation d'un programme en C et la compilation de ce même programme en C++, cela peut parfois poser des problèmes.

Ce fichier source doit être un fichier texte non formaté, c'est-à-direun fichier texte dans sa plus simple expression, sans mise en forme particulière ou caractèresspéciaux (il contient uniquement les caractères ASCII de base).

Lorsque le programme est prêt à être "essayé", il s'agitde le compiler (le traduire en langage machine).
De nombreux compilateurs C existent: sous les systèmes de type UNIX par exemple,le compilateur C est fourni en standard, si bien que la programmation en langage C est aiséesous ce type de système. La compilation sous UNIX se fait par la ligne de commande suivante:

cc fichier.c

Aspect d'un programme en C

Un programme écrit en langage C, comporte une fonction principaleappelée main() renfermant les instructions qui doivent être exécutées.Celles-ci sont comprises entre des accolades qui suivent le nom de la fonction. Cela vous sembletombé du ciel si vous n'avez jamais programmé en C, mais il faut admettre pour l'instantla manière d'écrire un programme en C. La finalité de cette écriture voussera dévoilée au cours des chapitres suivants...

Un programme C de base ressemblera donc à ceci :

main(){printf("Ceci est votre premier programme");}
Le programme présenté ci-dessus contient donc une fonction principale main()(qui, rappelons-le, est essentielle car c'est par cette fonction que le programme s'exécute) contenant une instruction imprimant à l'écranle message "Ceci est votre premier programme" grâce à la fonction printf().

Note d'un visiteur (Emmanuel D.) :
  1. Le type retourné par main() est int. La norme actuelle du C (C99) impose que le type soit explicite, il faut doncécrire :
    int main()
  2. Il est recommandé de définir une fonction sous sa forme prototypée. Dans ce cas, main() n'ayant pas de paramètres, on l'indique avec void.
    int main(void)
  3. printf() est une fonction avec nombre variable de paramètres. Il est obligatoire de fournir un prototype à cette fonction. Il manque par exemple:
    #include <stdio.h>
  4. printf() produit une émission de caractères en séquence vers stdout. Certaines implémentations de stdout étant bufférisées, il est recommandé de terminer la chaine émise par un '\n', ce qui déclenche l'émission effective. Sinon, il est possible de la forcer avec fflush(stdout) :
    printf ("Ceci est votre premier programme\n");
  5. Bien que la norme actuelle (C99) autorise main() à ne pas avoir de return explicite (dans ce cas on a un return 0 implicite), cette pratique est peu recommandée pour des questions de compatibilité avec la norme courante (C90) qui exige qu'une fonction retournant autre chose que void ait un return quelque chose explicite.
    return 0;
Je propose:
#include <stdio.h>int main (void){printf ("Ceci est votre premier programme\n");return 0;}

Typologie

La manière d'écrire les choses en langage C a son importance. Le langage Cest par exemple sensible à la casse (en anglais case sensitive), cela signifiequ'un nom contenant des majuscules est différent du même nom écrit en minuscules.Ainsi, les spécifications du langage C précisent que la fonction principale doitêtre appelée main() et non Main() ou MAIN().

De la même façon, on remarquera que la fonction printf() est écriteen minuscules.
D'autre part, l'instruction printf() se termine par un point-virgule. Ce détaila son importance, car en langage C, toute instruction se termine par un point-virgule.

Ajout de commentaires

Lorsqu'un programme devient long et compliqué, il peut être intéressant(il est même conseillé) d'ajouter des lignes de commentaires dans le programme,c'est-à-dire des portions du fichier source qui ont pour but d'expliquer le fonctionnementdu programme sans que le compilateur ne les prenne en compte (car il génèrerait une erreur).

Pour ce faire, il faut utiliser des balises qui vont permettre de délimiter les explicationsafin que le compilateur les ignore et passe directement à la suite du fichier.
Ces délimiteurs sont /* et */.Un commentaire sera donc noté de la façon suivante:

/*Voici un commentaire!*/

En plus des symboles /* et */, fonctionant un peu comme des parenthèses,le symbole // permet de mettre en commentaire toute la ligne qui la suit (i.e. lescaractères à droite de ce symbole sur la même ligne.

Il convient toutefois d'utiliser préférablement la notation /* */ que //, car c'est beaucoup plus joli et plus propre. La notation // est généralement réservée pour mettre en commentaire une ligne de code que l'on souhaite désactiver temporairement.

Il y a toutefois quelques règles à respecter:
  • Les commentaires peuvent être placés n'importe où dans le fichier source
  • Les commentaires ne peuvent contenir le délimiteur de fin de commentaire (*/)
  • Les commentaires ne peuvent être imbriqués
  • Les commentaires peuvent être écrits sur plusieurs lignes
  • Les commentaires ne peuvent pas couper un mot du programme en deux


Page précédente Page suivante

 
Ce document intitulé «Langage C - Caractéristiques» issu de CommentCaMarche.net est soumis à la licence GNU FDL.Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.
 

Qui sommes nous - infos légales - contact - liens - plan du site
Copyright © 2004 infoclick - 05 62 07 79 73 - Hôtel d'entreprise / ZI du Pont Peyrin 32600 Isle Jourdain
Valid XHTML 1.0! Valid CSS!