8. Les fonctions

Les fonctions - SAGProfProg - LANGAGE C- Programmation, Développement web, Développement d'application, Génie Logiciel, Langage de programmation, Application web, Tutos, Informatique, Système d'information, Administration d'application
Les fonctions - SAGProfProg - LANGAGE C- Programmation, Développement web, Développement d'application, Génie Logiciel, Langage de programmation, Application web, Tutos, Informatique, Système d'information, Administration d'application


En c, nous pouvons diviser un grand programme en blocs de construction de base connus sous le nom de fonction. La fonction contient l'ensemble des instructions de programmation entourées de {}. Une fonction peut être appelée plusieurs fois pour assurer la réutilisabilité et la modularité du programme C. En d'autres termes, nous pouvons dire que la collection de fonctions crée un programme. La fonction est également appelée procédure ou sous-programme dans d'autres langages de programmation.

Avantage des fonctions en C

Les fonctions C présentent les avantages suivants.

  • En utilisant des fonctions, nous pouvons éviter de réécrire la même logique/code encore et encore dans un programme.
  • Nous pouvons appeler des fonctions C n'importe quel nombre de fois dans un programme et de n'importe quel endroit dans un programme.
  • Nous pouvons facilement suivre un programme C volumineux lorsqu'il est divisé en plusieurs fonctions.
  • La réutilisabilité est la principale réalisation des fonctions C.
  • Cependant, l'appel de fonction est toujours une surcharge dans un programme C.

Aspects fonctionnels

Il y a trois aspects d'une fonction C.

  • Déclaration de fonction Une fonction doit être déclarée globalement dans un programme c pour indiquer au compilateur le nom de la fonction, les paramètres de la fonction et le type de retour.
  • Appel de fonction La fonction peut être appelée de n'importe où dans le programme. La liste de paramètres ne doit pas différer dans l'appel de fonction et la déclaration de fonction. Nous devons passer le même nombre de fonctions qu'il est déclaré dans la déclaration de fonction.
  • Définition de la fonction Elle contient les instructions réelles qui doivent être exécutées. C'est l'aspect le plus important auquel le contrôle vient lorsque la fonction est appelée. Ici, nous devons remarquer qu'une seule valeur peut être renvoyée par la fonction.


Aspects de la fonctionSyntaxe
1 Déclaration de fonctionreturn_type function_name (argument list);
2Appel de fonctionfunction_name (argument_list)
3Définition de fonctionreturn_type function_name (argument list) {function body;}

La syntaxe de création de fonction en langage c est donnée ci-dessous :

return_type function_name(data_type parameter...){

    //code à exécuter

}

Types de fonctions

Il existe deux types de fonctions en programmation C :

  1. Fonctions de bibliothèque : sont les fonctions qui sont déclarées dans les fichiers d'en-tête C tels que scanf(), printf(), gets(), puts(), ceil(), floor() etc.
  2. Fonctions définies par l'utilisateur : ce sont les fonctions créées par le programmeur C, afin qu'il puisse l'utiliser plusieurs fois. Il réduit la complexité d'un gros programme et optimise le code.



Valeur de retour

Une fonction C peut ou non renvoyer une valeur de la fonction. Si vous n'avez pas à renvoyer de valeur à partir de la fonction, utilisez void comme type de retour.

Voyons un exemple simple de fonction C qui ne renvoie aucune valeur de la fonction.

Exemple sans valeur de retour :

void bonjour(){

printf("bonjour c");

}

Si vous souhaitez renvoyer une valeur de la fonction, vous devez utiliser n'importe quel type de données tel que int, long, char, etc. Le type de retour dépend de la valeur à renvoyer de la fonction.

Voyons un exemple simple de fonction C qui renvoie la valeur int de la fonction.

Exemple avec valeur de retour :

int get(){

return 10 ;

}

Dans l'exemple ci-dessus, nous devons renvoyer 10 comme valeur, donc le type de retour est int. Si vous souhaitez renvoyer une valeur à virgule flottante (par exemple, 10.2, 3.1, 54.5, etc.), vous devez utiliser float comme type de retour de la méthode.

float get(){

return 10.2 ;

}

Maintenant, vous devez appeler la fonction pour obtenir la valeur de la fonction.

Différents aspects de l'appel de fonction

Une fonction peut ou non accepter n'importe quel argument. Il peut ou non renvoyer une valeur. Sur la base de ces faits, il existe quatre aspects différents des appels de fonction.

  • fonction sans arguments et sans valeur de retour
  • fonction sans arguments et avec valeur de retour
  • fonction avec arguments et sans valeur de retour
  • fonction avec arguments et avec valeur de retour

Exemple de fonction sans argument ni valeur de retour

Exemple 1

#include<stdio.h>

void printName();

void main()

{

     printf("Bonjour ");

     printName();

}

void printName()

{

     printf("SAGProfProg");

}

Production



Exemple 2

#include<stdio.h>

void somme();

void main()

{

     printf("\nAller calculer la somme de deux nombres :");

     somme();

}

void somme()

{

     int a,b ;

     printf("\nEntrez deux nombres");

     scanf("%d %d",&a,&b);

     printf("La somme est %d",a+b);

}


Exemple de fonction sans argument et avec valeur de retour

Exemple 1

#include<stdio.h>

int somme();

void main()

{

     int resultat ;

     printf("\nAller calculer la somme de deux nombres :");

     resultat = somme();

     printf("%d",resultat);

}

int somme()

{

     int a,b ;

     printf("\nEntrez deux nombres");

     scanf("%d %d",&a,&b);

     return a+b ;

}


Exemple 2 : programme pour calculer l'aire du carré

#include<stdio.h>

int somme();

void main()

{

     printf("Allons calculer l'aire du carre\n");

     float surface = carre();

     printf("L'aire du carre : %f\n",surface);

}

int carre()

{

     float cote ;

     printf("Entrez la longueur du cote en metres : ");

     scanf("%f",&cote );

     return cote*cote;

}


Exemple de fonction avec argument et sans valeur de retour

Exemple 1

#include<stdio.h>

void somme (int, int);

void main()

{

     int a,b;

     printf("\nAller calculer la somme de deux nombres :");

     printf("\nEntrez deux nombres :");

     scanf("%d %d",&a,&b);

     somme(a,b);

}

void somme(int a, int b)

{

     printf("\nLa somme est %d",a+b);

}


Exemple 2 : programme pour calculer la moyenne de cinq nombres.

#include<stdio.h>

void moyenne(int, int, int, int, int);

void main()

{

     int a,b,c,d,e ;

     printf("\nAller calculer la moyenne de cinq nombres :");

     printf("\nEntrez cinq chiffres :");

     scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);

     moyenne(a,b,c,d,e);

}

void moyenne(int a, int b, int c, int d, int e)

{

     float moy;

     moy = (a+b+c+d+e)/5 ;

     printf("La moyenne de cinq nombres donnes : %f",moy);

}


Exemple de fonction avec argument et avec valeur de retour

Exemple 1

#include<stdio.h>

int somme(int, int);

void main()

{

     int a,b,resultat ;

     printf("\nAller calculer la somme de deux nombres :");

     printf("\nEntrez deux nombres :");

     scanf("%d %d",&a,&b);

     resultat = somme(a,b);

     printf("\nLa somme est : %d",resultat);

}

int somme(int a, int b)

{

     return a+b ;

}

Exemple 2 : Programme pour vérifier si un nombre est pair ou impair

#include<stdio.h>

int pair_impair(int);

void main()

{

  int n,resultat=0 ;

  printf("\nVas verifier si un nombre est pair ou impair");

  printf("\nEntrez le nombre : ");

  scanf("%d",&n);

  resultat= pair_impair(n);

  if(resultat== 0)

  {

     printf("\nLe nombre est impair");

  }

  else

  {

     printf("\nLe nombre est pair");

  }

}

int pair_impair(int n)

{

     if(n%2 == 0)

     {

         return 1 ;

     }

     else

     {

         return 0 ;

     }

}

Production

<capturer>

Fonctions de la bibliothèque C

Les fonctions de bibliothèque sont les fonctions intégrées en C qui sont regroupées et placées dans un lieu commun appelé la bibliothèque. Ces fonctions sont utilisées pour effectuer certaines opérations spécifiques. Par exemple, printf est une fonction de bibliothèque utilisée pour imprimer sur la console. Les fonctions de la bibliothèque sont créées par les concepteurs de compilateurs. Toutes les fonctions de la bibliothèque standard C sont définies dans les différents fichiers d'en-tête enregistrés avec l'extension .h. Nous devons inclure ces fichiers d'en-tête dans notre programme pour utiliser les fonctions de bibliothèque définies dans ces fichiers d'en-tête. Par exemple, pour utiliser les fonctions de la bibliothèque telles que printf/scanf, nous devons inclure stdio.h dans notre programme qui est un fichier d'en-tête contenant toutes les fonctions de la bibliothèque concernant l'entrée/la sortie standard.

La liste des fichiers d'en-tête les plus utilisés est donnée dans le tableau suivant.

SNHeader fileDescription
1stdio.hIl s'agit d'un fichier d'en-tête d'entrée/sortie standard. Il contient toutes les fonctions de la bibliothèque concernant les entrées/sorties standard.
2conio.hIl s'agit d'un fichier d'en-tête d'entrée/sortie de la console.
3string.hIl contient toutes les fonctions de bibliothèque liées aux chaînes telles que gets (), puts (), etc.
4stdlib.hCe fichier d'en-tête contient toutes les fonctions générales de la bibliothèque comme malloc(), calloc(), exit(), etc.
5math.hCe fichier d'en-tête contient toutes les fonctions liées aux opérations mathématiques telles que sqrt(), pow(), etc.
6time.hCe fichier d'en-tête contient toutes les fonctions liées au temps.
7ctype.hCe fichier d'en-tête contient toutes les fonctions de gestion des caractères.
8stdarg.hLes fonctions à arguments variables sont définies dans ce fichier d'en-tête.
9signal.hToutes les fonctions de traitement du signal sont définies dans ce fichier d'en-tête.
10setjmp.hCe fichier contient toutes les fonctions de saut.
11locale.hCe fichier contient des fonctions locales.
12errno.hCe fichier contient des fonctions de gestion des erreurs.
13assert.hCe fichier contient des fonctions de diagnostic.







Aucun commentaire

Fourni par Blogger.