C_facile : Introduction au langage C
Cours

Instruction continue

Définition

C'est une instruction de branchement automatique que l'on utilise au sein d'une boucle.

Si on exécute l'instruction "continue" au sein d'une boucle "do" ou "while" alors la prochaine itération recommence au niveau de l'évaluation de l'expression de la condition d'arrêt.

ExempleExemple avec "do"

i = 2;

do

{

        i++;

        if (i==5)

        continue;

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

} while (i<7);

Cet exemple affichera :

i = 3

i = 4

i = 6

i = 7

En effet, quand "i" vaut 5, le code exécute l'instruction "continue" qui "saute" le "printf" et va se brancher au niveau du test "while (i<7)" pour évaluer la condition d'arrêt.

ExempleExemple avec "while"

#include <stdio.h>

int main(){

        int i,j,x;

        x = 1;

        i = 5;

        j = 0;

// Comme nous utilisons la post décrémentation « i - - », nous effectuons d'abord la comparaison i<0 puis

// la décrémentation i=i – 1.

        while ( (i--) > 0 )

        {

                x += 1;

                if ( x % 2 )

                continue;

                j += x * x;

        }

        printf("\nen sortie j = %d\n",j);

}

Cet exemple affichera en sortie

j = 56

La boucle s'effectue pour « i = 5,4,3,2,1 » et « x » vaut respectivement 2, 3, 4, 5, 6 avant le « if ( x % 2 ) ».

Si « x %2 vaut 0 » alors « x » est pair et on fait l'instruction « j += x * x; ».

Si la valeur de l'expression « x %2 » est différente de 0 (x est impair) alors le code exécute le « continue ».

L'instruction « j += x * x; » est « sautée » et on calcule « (i--) > 0 ».

Ce code C effectue la somme « 2*2+4*4+6*6 = 4+16+36=56 ».

Rappel

Nous vous rappelons qu'une boucle for s'écrit comme un triplet for (partie1; partie2 ; partie3).

Si on exécute l'instruction "continue" au sein d'une boucle "for" alors toutes les instructions de la boucle qui suivent le "continue" sont "sautées", puis "partie3" du triplet est exécutée, puis "partie2", ce qui permet de déterminer si la boucle doit recommencer.

ExempleAutre exemple

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

{

        if ((i%3)==0) continue;

        printf("\ni = %d ",i);

}

printf("\nsortie : ");

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

Ce morceau de code C affiche :

i = 1

i = 2

i = 4

i = 5

i = 7

i = 8

Sortie:

i = 10

La boucle for s'effectue pour « i = 0,1,2,3,4,5,6,7,8,9 ».

Si « i » est divisible par 3, c'est-à-dire que « (i%3)==0 », alors on effectue l'instruction « continue », ce qui va directement effectuer l'instruction « i++ » qui correspond à « partie3 », puis le test « i<10 » qui correspond à « partie2 » est effectué.

Cette boucle n'affiche pas les multiples de 3.

L'instruction break (page suivante)Autres Exemples de boucles (page Précédente)
AccueilImprimer creativecommons : by-nc-ndRéalisé avec SCENARI