break : rupture de séquence
continue : rupture de séquence
Mot réservé du langage C
Syntaxe:
break ;
continue ;
Description:
- L'instruction break force l'exécution à se poursuivre à l'instruction qui suit l'instruction while, do, for ou switch contenant 'break;' dans son corps.
'break;' ne peut être utilisé que dans le corps d'une boucle ou d'un switch.
Il est déconseillé d'utiliser l'instruction break dans une 'grande boucle', car l'exécution de break est une sortie de boucle qui n'apparaît pas forcément à la première lecture.
Dans la programmation normale, la condition de répétition du corps de boucle est placée à un seul endroit (à coté de 'while' ou de 'for') et la compréhension de la boucle est 'relativement' aisée.
Ce n'est plus le cas lorsque 'break;' est utilisé.
'break;' est par contre nécessaire quand on utilise l'instruction 'switch'.
- L'instruction 'continue;' s'emploie à l'intérieur d'une instruction for ou while ou do...while. L'exécution de 'continue;' permet d'ignorer les instructions qui suivent le 'continue' jusqu'à la fin du bloc; donc d'aller:
- évaluer la condtion si 'continue' est placé dans le corps d'un 'while' ou 'do...while';
- évaluer la troisième expression d'un for (généralement une modification d'indice) si 'continue' est placé dans lecorps d'un 'for'.
Voir aussi:
Exemple:
exemple 1:
/*
Utilisation de break dans une instruction switch.
Un caractère est saisi au clavier; si c'est une des
lettres o ou n, il est remplacé par la majuscule
associée; si ce n'est pas une des lettres n N o O,
un message est affiché.
*/
#include
void main( void ) {
char rep;
printf("Oui ou non (O o N n) ? ");
scanf("%c", &rep);
/* Conversion de la réponse en majuscule */
switch( rep ) {
case 'o': case 'O':
rep='O';
break;
case 'n': case 'N':
rep='N';
break;
default : printf("Tapez une des lettres : o ou 0 ou n ou N\n");
}
if (rep=='O') printf("Réponse oui\n");
else if(rep=='N') printf("Réponse non\n");
}
exemple 2:
#include
void main( void ) {
int i;
/* Utilisation de continue dans une boucle 'while' */
i=-1;
while( i<10) {
i++;
if(i%3) continue;
printf(" %d", i);
}
printf("\n");
/* Utilisation de continue dans une boucle 'for' */
for(i=0; i<10; i++) {
if(i%3) continue;
printf(" %d", i);
}
printf("\n");
}