7. Les boucles

 
Les boucles - 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 boucles - 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


La boucle peut être définie comme la répétition du même processus plusieurs fois jusqu'à ce qu'une condition spécifique soit satisfaite. Il existe trois types de boucles utilisées dans le langage C. Dans cette partie du tutoriel, nous allons apprendre tous les aspects des boucles C.

Pourquoi utiliser des boucles en langage C ?

Le bouclage simplifie les problèmes complexes en problèmes faciles. Cela nous permet de modifier le flux du programme de sorte qu'au lieu d'écrire le même code encore et encore, nous pouvons répéter le même code un nombre fini de fois. Par exemple, si nous devons imprimer les 10 premiers nombres naturels, au lieu d'utiliser l'instruction printf 10 fois, nous pouvons imprimer à l'intérieur d'une boucle qui s'exécute jusqu'à 10 itérations.

Avantage des boucles en C

1) Il permet la réutilisation du code.

2) En utilisant des boucles, nous n'avons pas besoin d'écrire le même code encore et encore.

3) En utilisant des boucles, nous pouvons parcourir les éléments des structures de données (tableaux ou listes chaînées).

Types de boucles 

Il existe trois types de boucles en langage C qui sont donnés ci-dessous :

  1. do while
  2. while
  3. for

boucle do-while 

La boucle do-while continue jusqu'à ce qu'une condition donnée soit satisfaite. Elle est également appelée boucle post-testée. Il est utilisé lorsqu'il est nécessaire d'exécuter la boucle au moins une fois (principalement des programmes pilotés par des menus).

La syntaxe de la boucle do-while en langage c est donnée ci-dessous :

do{

//code à exécuter

} while (condition);

boucle while 

La boucle while en c doit être utilisée dans le cas où nous ne connaissons pas le nombre d'itérations à l'avance. Le bloc d'instructions est exécuté dans la boucle while jusqu'à ce que la condition spécifiée dans la boucle while soit satisfaite. On l'appelle aussi une boucle pré-testée.

La syntaxe de la boucle while en langage c est donnée ci-dessous :

while (condition){

//code à exécuter

}

boucle for 

La boucle for est utilisée dans le cas où nous devons exécuter une partie du code jusqu'à ce que la condition donnée soit satisfaite. La boucle for est également appelée boucle per-testée. Il est préférable d'utiliser la boucle for si le nombre d'itérations est connu à l'avance.

La syntaxe de la boucle for en langage c est donnée ci-dessous :

for(initialisation;condition;incr/decr){

//code à exécuter

}

La boucle do while

La boucle do while est une boucle post-testée. En utilisant la boucle do-while, nous pouvons répéter l'exécution de plusieurs parties des instructions. La boucle do-while est principalement utilisée dans le cas où nous devons exécuter la boucle au moins une fois. La boucle do-while est principalement utilisée dans les programmes pilotés par menus où la condition de terminaison dépend de l'utilisateur final.

syntaxe de la boucle do while

La syntaxe de la boucle do-while du langage C est donnée ci-dessous :

do{

//code à exécuter

} while (condition);

Exemple 1

#include<stdio.h>

#include<stdlib.h>

void main ()

{

     char c ;

     int choix, factice ;

     do{

     printf("\n1. Imprimer Bonjour\n2. Imprimer SAGProfProg\n3. Quitter\n");

     scanf("%d",&choix);

     switch(choix)

     {

         case 1 :

         printf("Bonjour");

         break;

         case 2 :

         printf("point Java");

         break;

         case 3 :

         exit(0);

         break;

         default:

         printf("veuillez entrer un choix valide");

     }

     printf("voulez-vous entrer plus?");

     scanf("%d",&factice);

     scanf("%c",&c);

     }while(c=='y');

}

Production



Exemple 2

On donne le programme simple du langage c do while loop où on imprime le tableau de 1.

#include<stdio.h>

int main(){

int i=1 ;

do{

printf("%d \n",i);

i++ ;

}while(i<=10);

return 0 ;

}

Production



Programme pour imprimer la table pour le nombre donné en utilisant la boucle do while

#include<stdio.h>

int main(){

int i=1,nombre=0 ;

printf("Entrez un nombre : ");

scanf("%d",&nombre);

do{

printf("%d \n",(nombre*i));

i++ ;

}while(i<=10);

return 0 ;

}

Production





Boucle infinie do while

La boucle do-while s'exécutera un nombre infini de fois si nous transmettons une valeur différente de zéro comme expression conditionnelle.

do{

//déclaration

}while(1);

boucle while 

La boucle While est également appelée boucle pré-testée. En général, une boucle while permet d'exécuter plusieurs fois une partie du code en fonction d'une condition booléenne donnée. Elle peut être vue comme une instruction if répétitive. La boucle while est principalement utilisée dans le cas où le nombre d'itérations n'est pas connu à l'avance.

Syntaxe de la boucle while 

La syntaxe de la boucle while en langage c est donnée ci-dessous :

while (condition){

//code à exécuter

}

Exemple de boucle while 

Voyons le programme simple de la boucle while qui imprime le tableau de 1.

#include<stdio.h>

int main(){

int i=1 ;

while(i<=10){

printf("%d \n",i);

i++ ;

}

return 0 ;

}

Programme pour imprimer un tableau pour le nombre donné en utilisant la boucle while en C

#include<stdio.h>

int main(){

int i=1,nombre=0,b=9 ;

printf("Entrez un nombre : ");

scanf("%d",&nombre);

while(i<=10){

printf("%d \n",(nombre*i));

i++ ;

}

return 0 ;

}

Propriétés de la boucle while

  • Une expression conditionnelle permet de vérifier la condition. Les instructions définies à l'intérieur de la boucle while s'exécuteront de manière répétée jusqu'à ce que la condition donnée échoue.
  • La condition sera vraie si elle retourne 0. La condition sera fausse si elle retourne un nombre non nul.
  • Dans la boucle while, l'expression de la condition est obligatoire.
  • Exécuter une boucle while sans corps est possible.
  • Nous pouvons avoir plus d'une expression conditionnelle dans la boucle while.
  • Si le corps de la boucle ne contient qu'une seule instruction, les accolades sont facultatives.

Exemple 1

#include<stdio.h>

void main()

{

     int j = 1 ;

     while(j+=2,j<=10)

     {

         printf("%d ",j);

     }

     printf("%d",j);

}

Production


Exemple 2

#include<stdio.h>

void main()

{

     while()

     {

         printf("bonjour");

     }

}

On aura erreur

Exemple 3

#include<stdio.h>

void main()

{

     int x = 10, y = 2 ;

     while(x+y-1)

     {

         printf("%d %d",x--,y--);

     }

}

on aura erreur

Boucle while infinitive en C

Si l'expression transmise dans la boucle while aboutit à une valeur non nulle, la boucle s'exécutera un nombre infini de fois.

while(1){

//déclaration

}

boucle for 

La boucle for en langage C permet d'itérer plusieurs fois les instructions ou une partie du programme. Il est fréquemment utilisé pour parcourir les structures de données telles que le tableau et la liste chaînée.

Syntaxe de la boucle for en C

La syntaxe de la boucle for en langage c est donnée ci-dessous :

for(Expression 1; Expression 2; Expression 3){

//code à exécuter

}

Boucle for Exemples

Voyons le programme simple de la boucle for qui imprime le tableau de 1.

#include<stdio.h>

int main(){

int i=0 ;

for(i=1;i<=10;i++){

printf("%d \n",i);

}

return 0 ;

}


Programme : Imprimer le tableau pour le nombre donné à l'aide de la boucle C for

#include<stdio.h>

int main(){

int i=1,nombre=0 ;

printf("Entrez un nombre : ");

scanf("%d",&nombre);

for(i=1;i<=10;i++){

printf("%d \n",(nombre*i));

}

return 0 ;

}

Propriétés de l'expression 1

  • L'expression représente l'initialisation de la variable de boucle.
  • Nous pouvons initialiser plus d'une variable dans l'expression 1.
  • L'expression 1 est facultative.
  • En C, nous ne pouvons pas déclarer les variables dans l'expression 1. Cependant, cela peut être une exception dans certains compilateurs.

Exemple 1

#include <stdio.h>

int main()

{

     int a,b,c ;

     for(a=0,b=12,c=23;a<2;a++)

     {

         printf("%d ",a+b+c);

     }

}

Production



Exemple 2

#include <stdio.h>

int main()

{

     int i=1 ;

     for(;i<5;i++)

     {

         printf("%d ",i);

     }

}

Propriétés de l'expression 2

  • L'expression 2 est une expression conditionnelle. Il vérifie qu'une condition spécifique est satisfaite. Si ce n'est pas le cas, la boucle est terminée.
  • L'expression 2 peut avoir plusieurs conditions. Cependant, la boucle itérera jusqu'à ce que la dernière condition devienne fausse. Les autres conditions seront traitées comme des déclarations.
  • L'expression 2 est facultative.
  • L'expression 2 peut effectuer la tâche de l'expression 1 et de l'expression 3. Autrement dit, nous pouvons initialiser la variable ainsi que mettre à jour la variable de boucle dans l'expression 2 elle-même.
  • Nous pouvons passer une valeur nulle ou non nulle dans l'expression 2. Cependant, en C, toute valeur non nulle est vraie et zéro est faux par défaut.

Exemple 1

#include <stdio.h>

int main()

{

     int i ;

     pour(i=0;i<=4;i++)

     {

         printf("%d ",i);

     }

}


Exemple 2

#include <stdio.h>

int main()

{

     int i,j,k ;

     for(i=0,j=0,k=0;i<4,k<8,j<10;i++)

     {

         printf("%d %d %d\n",i,j,k);

         j+=2 ;

         k+=3 ;

     }

}

Production



Exemple 3

#include <stdio.h>

int main()

{

     int i ;

     for(i=0;;i++)

     {

         printf("%d",i);

     }

}


Propriétés de l'expression 3

  • L'expression 3 est utilisée pour mettre à jour la variable de boucle.
  • Nous pouvons mettre à jour plus d'une variable en même temps.
  • L'expression 3 est facultative.

Exemple 1

#include<stdio.h>

void main()

{

     int i=0,j=2 ;

     for(i = 0;i<5;i++,j=j+2)

     {

         printf("%d %d\n",i,j);

     }

}


Corps de la boucle

Les accolades {} sont utilisées pour définir la portée de la boucle. Cependant, si la boucle ne contient qu'une seule instruction, nous n'avons pas besoin d'utiliser des accolades. Une boucle sans corps est possible. Les accolades fonctionnent comme un séparateur de bloc, c'est-à-dire que la variable de valeur déclarée à l'intérieur de la boucle for n'est valide que pour ce bloc et non à l'extérieur. Prenons l'exemple suivant.

#include<stdio.h>

void main()

{

     int i ;

     for(i=0;i<10;i++)

     {

         int  i= 20 ;

         printf("%d ",i);

     }

}


Boucle for infinie

Pour rendre une boucle for infinie, nous n'avons pas besoin de donner d'expression dans la syntaxe. Au lieu de cela, nous devons fournir deux points-virgules pour valider la syntaxe de la boucle for. Cela fonctionnera comme une boucle for infinie.

#include<stdio.h>

void main()

{

     for(;;)

     {

         printf("bienvenue");

     }

}

Si vous exécutez ce programme, vous verrez l'instruction ci-dessus une infinité de fois.






Aucun commentaire

Fourni par Blogger.