if
Příkaz (C)
Příkaz if
řídí podmíněné větvení. Tělo if
příkazu se provede, pokud je hodnota výrazu nenulová. Syntaxe příkazu if
má dvě formy.
Syntaxe
selection-statement
:
if (
expression
)
statement
if (
expression
)
statement
else
statement
V obou formách if
příkazu se vyhodnocují výrazy, které můžou mít libovolnou hodnotu kromě struktury, včetně všech vedlejších účinků.
V první podobě syntaxe, pokud expression
je true (nenulové), statement
se spustí. Pokud expression
je false, statement
bude ignorován. Ve druhé formě syntaxe, která používá else
, druhý statement
se provede, pokud expression
je false. V obou formách pak ovládací prvek předá z if
příkazu do dalšího příkazu v programu, pokud některý z příkazů neobsahuje , break
continue
nebo goto
.
Tady jsou příklady if
příkazu:
if ( i > 0 )
y = x / i;
else
{
x = i;
y = f( x );
}
V tomto příkladu se příkaz y = x/i;
spustí, pokud i
je větší než 0. Je-li i
menší nebo rovna 0, i
je přiřazena x
a f( x )
je přiřazena y
. Příkaz tvořící klauzuli if
končí středníkem.
Při vnořování if
příkazů a else
klauzulí použijte složené závorky k seskupení příkazů a klauzulí do složených příkazů, které vysvětlují váš záměr. Pokud nejsou k dispozici žádné složené závorky, kompilátor vyřeší nejednoznačnosti tím, že je else
přidružuje k nejbližšímu if
, který nemá else
.
if ( i > 0 ) /* Without braces */
if ( j > i )
x = j;
else
x = i;
Klauzule else
je přidružena k vnitřnímu if
příkazu v tomto příkladu. Pokud i
je menší nebo rovna 0, není přiřazena x
žádná hodnota .
if ( i > 0 )
{ /* With braces */
if ( j > i )
x = j;
}
else
x = i;
Složené závorky kolem vnitřního if
příkazu v tomto příkladu tvoří else
část klauzule vnějšího if
příkazu. Je-li i
menší nebo rovna 0, i
je přiřazena .x