next up previous contents Next:  Chaînes, vecteurs et allocation Up: Les bases du C. Previous:  Fonctions.   Table des matières  

23.1.4  Les déclarations for, while, if et switch.

Comme dans les scripts de shell, il existe des déclarations for, while, if et switch:

#include <stdlib.h> 
#include <stdio.h> 
 
int main (int argc, char *argv[]) 
{

    int x; 
    x = 10; 
 
    if (x == 10) { 
       printf ("x vaut 10\n"); 
       x++; 
    } else if (x == 20) { 
       printf ("x vaut 20\n"); 
    } else { 
       printf ("x ne vaut ni 10 ni 20"); 
    } 
 
    if (x > 10) { 
       printf ("x vaut plus que 10\n"); 
    } 
 
    while (x > 10) {  
       printf ("x vaut %d\n", x); 
       x = x - 1; 
    } 
 
    for (x = 0; x < 10; x++) { 
       printf ("x vaut %d\n", x); 
    } 
 
switch (x) { 
       case 9: 
           printf ("x vaut 9\n"); 
           break; 
       case 10: 
           printf ("x vaut 10\n"); 
           break; 
       case 11: 
           printf ("x vaut 11\n"); 
           break; 
       default: 
           printf ("x ?"); 
           break; 
       } 
return 0;

} 



Il est facile de voir le format que ces instructions prennent, quoiqu'elles soient très différentes de celles associées aux scripts de shell. Le code C fonctionne par blocs de déclarations décrites entre accolades. Les scripts de shell, eux, pratiquent avec des couples do et done.

Remarquez qu'avec la plupart des langages de programmations, lorsque nous voulons ajouter 1 à une variable, nous écrivons une instruction du type:
x=x+1. En C, l'abréviation x++ est utilisable et signifie qu'il faut incrémenter la variable x d'une unité.

La boucle for contient trois déclarations entre (...): la première pour initialiser x, un test et une incrémentation de la variable x à exécuter tant que la condition reste valide.

switch est similaire à l'instruction case des scripts de shell, et son argument est la portion de code qui se trouve dans les parenthèses () c'est-à-dire x. La valeur de cet argument décide de la ligne à laquelle le flux de programmation se poursuit. Dans notre exemple, le flux se rendra à l'instruction printf (``x vaut 10\n''); puisque x vaut 10 à la sortie de la boucle for. La marque break signifie qu'une fois le ``cas'' rencontré et son code exécuté, le flux de programmation passe à la ligne se trouvant après l'instruction break associée à default.

Enfin, notons qu'en C, l'opérateur d'égalité est == et non =.


next up previous contents Next:  Chaînes, vecteurs et allocation Up: Les bases du C. Previous:  Fonctions.   Table des matières  
1-01-2006