Vous êtes sur la page 1sur 17

FST-AL HOCEIMA Année académique 2021-22 / MIP-S3

Les fonctions en langage C


objectif
Nous avons déjà utilisé des fonctions
prédéfinies dans des bibliothèques
standard (printf de <stdio>, pow de
<math>, etc.).
Dans ce chapitre, nous allons découvrir
comment nous pouvons définir et utiliser
nos propres fonctions.
Déclaration et définition de
fonctions
En général, le nom d'une fonction apparaît
à trois endroits dans un programme:
1. lors de la déclaration
2. lors de l'appel
3. lors de la définition
Exemple
#include<stdio.h>

void fct(void); /*déclaration de la fonction fct*/

Main()
{
fct(); /*appel de la fonction fct*/
system(" pause ");
return 0;
}

void fct(void) /* définition de la fonction fct*/


{
printf("bonjour ");
}
Déclaration d'une fonction
En C, il faut déclarer chaque fonction
avant de pouvoir l'utiliser. La déclaration
informe le compilateur du type des
paramètres et du résultat de la fonction
Déclaration d'une fonction
La déclaration d'une fonction se fait par
un prototype de la fonction qui indique
uniquement le type des données
transmises et reçues par la fonction
Déclaration : Prototype d'une fonction

Type Rés NomFonct(Type Par1, Type Par2, ...);

Exemples
void f1(void);
int abs(int);
char str(int, float , char);
void ajouter(char, int);
Définition d'une fonction
Dans la définition d'une fonction, nous
indiquons :
1. Le nom de la fonction
2. Le type, le nombre et les noms des
paramètres de la fonction
3. Le type du résultat fourni par la fonction
4. Les données locales à la fonction
5. Les instructions à exécuter
Exemple
int MAX(int N1, int N2)
{
if (N1>N2)
return N1;
else
return N2;
}
Exemples
1 -float PI(void)
{
return 3.1415927;
}

2- void f1(void)
{
printf(" bonjour “);
}
appel d'une fonction
Deux types d’appel :
1. Fonction void : ex : void f1(paramètres);
main()
{
f1(paramètres);
}

1. Fonction avec un type de sortie ex : int f2(paramètres)


main()
{ int n;
n=f2(paramètres);
}
Passage de tableaux à une
fonction

Syntaxe

type nom_fct(type tableau[], int tailleTableau)


// Prototype de la fonction d'affichage
void affiche(int tableau[], int N);
int main()
{
int tableau[4] = {10, 15, 3};
// On affiche le contenu du tableau affiche(tableau, 4);
return 0;
}
void affiche(int tableau[], int N)
{
long i;
for (i = 0 ; i < N ; i++)
{
printf("%d\n", tableau[i]);
}
}
Exercice 1
Écrire :
• Une fonction, nommée f1, se contentant d’afficher
« bonjour » (elle ne possèdera aucun argument, ni valeur
de retour.
• Une fonction, nommée f2, qui affiche « bonjour » un
nombre de fois égal à la valeur reçue en argument (Int)
et qui ne renvoie aucune valeur ;
• Une fonction, nommée f3, qui fait la même chose que
f2, mais qui, de plus, renvoie la valeur Int 0,
• Un petit programme appelant successivement
chacune des ces 3 fonctions, après les avoir
convenablement déclarées sous forme d’un prototype.
Exercice 2
• Écrire la fonction SOMME_TAB qui
calcule la somme des N éléments d'un
tableau TAB du type int. N et TAB sont
fournis comme paramètres; la somme
est retournée comme résultat du type
Int
• Écrire un petit programme appelant la
fonction SOMME_TAB
Exercice 3
créer une fonction maximumTableau qui
aura pour rôle de remettre à 0 toutes les cases
du tableau ayant une valeur supérieure à un
maximum. Cette fonction prendra en paramètre
le tableau ainsi que le nombre maximum autorisé
(valeurMax). Toutes les cases qui contiennent un
nombre supérieur à valeurMax doivent être
mises à 0.

Vous aimerez peut-être aussi