Langage c Les Fonctions 112 Mqkn94

  • Upload
    reda

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

  • 7/21/2019 Langage c Les Fonctions 112 Mqkn94

    1/4

    Langage C - Les fonctionsJuin 2014

    La notion de fonctionLa dclaration d'une fonctionAppel de fonctionPrototype d'une fonctionLes arguments d'une fonctionRenvoi d'une valeur par une fonction

    La notion de fonction

    On appelle fonction un sous-programme qui permet d'effectuerun ensemble d'instructions par simple appel de la fonction dans le corps du programmeprincipal. Les fonctions permettent d'excuter dans plusieurs parties du programme une sried'instructions, cela permet une simplicit du code et donc une taille de programme minimale.

    D'autre part, une fonction peut faire appel elle-mme, on parle alors de fonction rcursive (il nefaut pas oublier de mettre une condition de sortie au risque sinon de ne pas pouvoir arrter leprogram me...).

    La d claratio n d'une fonction

    Avant d' tre utilise, une fonction doit tre dfinie car pour l'appelerdans le corps du programme il faut que le compilateur la connaisse, c'est--dire qu'il connaisseson nom, ses arguments et les instructions qu'elle contient. La dfinition d'une fonction s'appelle

    dclaration . La dclaration d'une fonction se fait selon la syntaxe suivante :

    type_de_donnee No m_De_La_Fonction(type1 argument1, type2 argument2, ...) {

    liste d'instructions

    }

    Remarques :

    type_de_donnee reprsente le type de valeur que la fonction est sense retourner (char,int, float...)Si la fonction ne renvoie aucune valeur, on la fait alors prcder du mot-cl void Si aucun type de donne n'est prcis (cela est trs vilain !), le type int est pris par dfaut

    http://localhost/var/www/apps/conversion/tmp/scratch_3/http://localhost/var/www/apps/conversion/tmp/scratch_3/
  • 7/21/2019 Langage c Les Fonctions 112 Mqkn94

    2/4

    Le nom de la fonction suit les mmes rgles que les noms de variables :le nom doit commencer par une lettreun nom de fonction peut comporter des lettres, des chiffres et les caractres _ et &(les espaces

    ne sont pas autoriss !)

    le nom de la fonction, comme celui des variables est sensible la casse(diffrenciation entre les minuscules et majuscules)

    Les arguments sont facultatifs, mais s'il n'y a pas d'arguments, les parenthses doiventrester prsentesIl ne faut pas oublier de refermer les accolades

    Le nombre d'accolades ouvertes (fonction, boucles et autres structures) doit tre gal aunombre d'accolades fermes !

    La mme chose s'applique pour les parenthses, les crochets ou les guillemets !

    Une fois cette tape franchie, votre fonction ne s'excutera pas tant que l'on ne fait pas appel elle quelque part dans la page !

    Appel de fonction

    Pour excuter une fonction, il suffit de faire appel elle en crivant son nom

    (une fois de plus en respectant la casse) suivi d'une parenthse ouverte (ventuellement desarguments) puis d'une parenthse ferme :

    Nom_De_La_Fonction();

    Remarques :

    le point-virgule signifie la fin d'une instruction et permet au navigateur de distinguer lesdiffrents blocs d'instructionssi jamais vous avez dfini des arguments dans la dclaration de la fonction, il faudra veiller

    les inclure

    lors de l'appel de la fonction (le mme nombre d'arguments spars par des virgules !)

    Nom_De_La_Fonction(argument1, argument2);

    Prototype d'une fonction

    Le prototype d'une fonction est une description d'une fonction qui est dfinie plus loin dans leprogramme. On placedonc le prototype en dbut de programme (avant la fonction principale main() ).

    http://www.commentcamarche.net/contents/cvar.php3
  • 7/21/2019 Langage c Les Fonctions 112 Mqkn94

    3/4

    Cette description permet au compilateur de vrifier la validit de la fonction chaquefois qu'il la rencontre dans le programme, en lui indiquant :

    Le type de valeur renvoye par la fonctionLe nom de la fonctionLes types d'arguments

    Contrairement la dfinition de la fonction, le prototype n'est pas suivi du corps de la fonction(contenant les instructions excuter), et ne comprend pas le nom des paramtres (seulementleur type). Un prototype de fonction ressemble donc ceci :

    Type_de_donnee_renvoyee Nom_De_La_Fonction(type_argument1, type_argument2, ...);

    Le prototype est une instruction, il est donc suivi d'un point-virgule !

    Voici quelques exemples de prototypes :

    void Affiche_car(char, int);

    int Somme(int, int);

    Les arguments d'une fonction

    Il est possible de passer des arguments une fonction, c'est--direlui fournir une valeur ou le nom d'une variable afin que la fonction puisse effectuer desoprations sur ces arguments ou bien grce ces arguments. Le passage d'arguments unefonction se fait au moyen d'une liste d'arguments (spars par des virgules) entre parenthsessuivant immdiatement le nom de la fonction.

    Le nombre et le type d'argumentsdans la dclaration, le prototype et dans l'appel doit correspondre au risque, sinon, de gnrerune erreur lors de la compilation...

    Un argument peut tre :

    une constanteune variableune expressionune autre fonction

    Renvoi d'une valeur par une fonction

    La fonction peut renvoyer une valeur (et donc se terminer) grce au mot-cl return .Lorsque l'instruction return est rencontre, la fonction value la valeur qui la suit, puis la renvoieau programme appelant (programme partir duquel la fonction a t appele).

  • 7/21/2019 Langage c Les Fonctions 112 Mqkn94

    4/4

    Une fonction peut contenir plusieurs instructions return , ce sera toutefois la premire instructionreturn rencontre qui provoquera la fin de la fonction et le renvoi de la valeur qui la suit.

    La syntaxe de l 'instruction return est simple :

    return (valeur_ou_variable);

    Le type de valeur retourn doit correspondre celui qui a t prcis dansla dfinition (et le prototype).

    Ce document intitul Langage C - Les fonctions issu de CommentCaMarche (www.commentcamarche.net) estmis disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cettepage, dans les conditions fixes par la licence, tant que cette note apparat clairement.

    http://localhost/var/www/apps/conversion/tmp/scratch_3/contents/ccmguide/ccmlicence.php3http://www.commentcamarche.net/contents/112-langage-c-les-fonctions