Vous êtes sur la page 1sur 11

Année Universitaire

2020 - 2021

Atelier programmation I

Filière: MPI

Enseignants: Majdi JRIBI


Amina JARRAYA

1
Chapitre 5 Les fonctions

2
Chapitre 5
1- Motivation

2- Définition d’une fonction

3- Appel d’une fonction

4- Déclaration d’une fonction

5- Transmission des paramètres d’une fonction

3
1- Motivation

 Découper un programme en plusieurs fonctions


 Une seule fonction obligatoire (main)
 chaque fonction peut appeler d’autres fonctions.

4
2- Définition d’une fonction
 Définition: type nom-fonction ( type-1 arg-1,..., type-n arg-n)
{
[ déclarations de variables locales ]
liste d’instructions
}

 La première ligne représente l’entête de la fonction


 type désigne le type de la fonction, càd la valeur
qu’elle retourne ( pas de procédure en C  une
fonction dont le type est « void »)
 Les arguments de la fonction sont appelés paramètres
formels. Leurs identificateurs n’ont d’importance qu’à
l’intérieur de la fonction
5
2- Définition d’une fonction
 Les paramètres effectifs sont les paramètres avec
lesquels la fonction est effectivement appelée
 Le corps de la fonction débute par des déclarations
de variables qui sont locales à cette fonction
 Il se termine par l’instruction de retour à la fonction
appelante, return, dont la syntaxe est :
return(expression);

 La valeur de expression est la valeur que retourne


la fonction. Son type doit être le même que celui qui
a été spécifié dans l’entête de la fonction
6
3- Appel d’une fonction
 L’appel d’une fonction se fait par l’expression
nom-fonction(para-1,para-2,...,para-n)

 L’ordre et le type des paramètres effectifs de la


fonction doivent concorder avec ceux donnés dans
l’entête de la fonction.

7
4- Déclaration d’une fonction
 si la définition d’une fonction est placée après la
fonction main, cette fonction doit impérativement
être déclarée au préalable.
 Une fonction est déclarée par son prototype, qui
donne le type de la fonction et celui de ses
paramètres, sous la forme :
type nom-fonction(type-1,...,type-n);

8
5- Transmission des paramètres d’une
fonction
#include<stdio.h>
void echange(int a, int b){
int t;
printf("debut fonction : a = %d \t b = %d\n",a,b);
t = a;
a = b;
b = t;
printf("fin fonction : a = %d \t b = %d\n",a,b);}
main(){
int a = 2, b = 5;
printf("debut programme principal : a = %d \t b = %d\n",a,b);
echange(a,b);
printf("fin programme principal : a = %d \t b = %d\n",a,b);}

debut programme principal : a = 2 b = 5


Output debut fonction : a = 2 b = 5
fin fonction : a = 5 b = 2
fin programme principal : a = 2 b = 5

9
5- Transmission des paramètres d’une
fonction
Pour qu’une fonction modifie la valeur d’un de ses
arguments, il faut qu’elle ait comme paramètre
l’adresse de l’objet et non pas sa valeur
 On dit que les paramètres sont transmis par adresse
#include<stdio.h>
void echange(int *a, int *b){
int t;
t = *a; Pointeur vers une adresse mémoire
*a = *b;
*b = t;
} Appeler l’adresse de la variable
main(){
int a = 2, b = 5;
printf("debut programme principal : a = %d \t b = %d\n",a,b);
echange(&a,&b);
printf("fin programme principal : a = %d \t b = %d\n",a,b);}
2017-2018 10
Fin chapitre 5

11

Vous aimerez peut-être aussi