Developpez.com - C
X

Choisissez d'abord la catégorieensuite la rubrique :

next up previous contents index
Next: Inclusion de source Up: Les bases Previous: Les opérateurs les plus

Sous-sections

Les instructions les plus usuelles

   
Instruction expression

$\bullet$
Syntaxe :

instruction :
$\Rightarrow$ expression ;

[$\bullet$] Sémantique :

L'expression est évaluée, et sa valeur est ignorée. Ceci n'a donc de sens que si l'expression réalise un effet de bord. Dans la majorité des cas, il s'agira d'une expression d'affectation.     Exemple :

i = j + 1;

Remarque

D'après la syntaxe, on voit qu'il est parfaitement valide d'écrire l'instruction
i + 1;
mais ceci ne faisant aucun effet de bord, cette instruction n'a aucune utilité.

Instruction composée

     

$\bullet$
Syntaxe :

instruction :
$\Rightarrow$ {
liste-de-déclarationsoption
liste-d'instructions
}

$\bullet$
Sémantique :

Le but de l'instruction composée est double, elle permet :

1.
de grouper un ensemble d'instructions en lui donnant la forme syntaxique d'une seule instruction ;

2.
de déclarer des variables qui ne seront accessible qu'à l'intérieur de l'instruction composée (structure classique de 'blocs').

Remarques sur la syntaxe

-
il n'y a pas de séparateur dans liste-d'instructions (les points virgules sont des terminateurs pour les instructions qui sont des expressions) ;  
-
les accolades jouent le rôle des mots clés begin et end que l'on trouve dans certains langages (Pascal, PL/1, etc.).

Instruction if

   

$\bullet$
Syntaxe :

instruction :
$\Rightarrow$ if ( expression ) instruction1
$\Rightarrow$ if ( expression ) instruction1 else instruction2

$\bullet$
Sémantique :

expression est évaluée, si la valeur rendue est non nulle, on exécute instruction1, sinon on exécute instruction2 si elle existe.

Remarques sur la syntaxe

1.
Attention au fait que expression doit être parenthésée ;
2.
La partie then de l'instruction n'est pas introduite par un mot clé : pas de then comme dans certains langages.
3.
Lorsqu'il y a ambiguïté sur l'instruction if dont dépend une partie else, l'ambiguïté est levée en faisant dépendre le else de l'instruction if la plus proche.

Par exemple, si on écrit :

if (a > b) if (c < d) u = v; else i = j;
le else sera celui du if (c < d). Si on voulait qu'il en soit autrement, il faudrait écrire :
if (a > b)
   {
   if (c < d) u = v;
   }
else i = j;

Remarques sur la sémantique

Étant donné que l'instruction if teste l'égalité à zéro de expression, celle-ci n'est pas nécessairement une expression de comparaison. Toute expression délivrant une valeur pouvant être comparée à zéro est valide.

Exemples d'instructions if

if (a > b) max = a; else max = b;

if (x > y)
   {
   ...          /*   liste d'instructions       */
   }
else 
   {
   ...          /*   liste d'instructions       */
   }

if (a)          /*   équivalent à if (a != 0)   */
   {
   ...
   }


next up previous contents index
Next: Inclusion de source Up: Les bases Previous: Les opérateurs les plus
Bernard Cassagne
1998-12-09
Contacter le responsable de la rubrique C