Udostępnij za pośrednictwem


if — instrukcja (C)

Instrukcja if kontroluje rozgałęzienia warunkowe.Zawartość instrukcji if jest wykonywana, jeśli wartość wyrażenia jest różna od zera.Składnia instrukcji if ma dwie formy.

Składnia

  • selection-statement:
    if ( expression ) statement

    if ( expression ) statement else statement

W obu formach instrukcji if wyrażenia, które mogą mieć dowolną wartość z wyjątkiem struktury, są szacowane łącznie z wszystkimi skutkami ubocznymi.

W pierwszej formie składni, jeśli expression jest true (niezerowe), statement jest wykonywane.Jeśli expression ma wartość false, statement jest ignorowana.W drugiej formie składni, który używa else, druga statement jest wykonywana, jeśli expression ma wartość false.W obu formach kontrola następnie przechodzi od instrukcji if do następnej instrukcji w programie, chyba że jedna z instrukcji zawiera break, continue lub goto.

Poniżej podano przykłady instrukcji if:

if ( i > 0 )
    y = x / i;
else 
{
    x = i;
    y = f( x );
}

W tym przykładzie instrukcja y = x/i; jest wykonywana, jeśli i jest większe od 0.Jeśli i jest mniejsze niż lub równe 0, i jest przypisywane do x i f( x ) jest przypisywane do y.Należy zauważyć, że instrukcja tworząca klauzulę if kończy się średnikiem.

Podczas zagnieżdżania instrukcji if i klauzul else, należy używać nawiasów klamrowych do grupowania instrukcji i klauzul w instrukcje złożone, które wyjaśniają zamiary.Jeśli nie istnieją nawiasy klamrowe, kompilator rozwiązuje niejasności, kojarząc każdą else z najbliższą if, której brakuje else.

if ( i > 0 )           /* Without braces */
    if ( j > i )
        x = j;
    else
        x = i;

Klauzula else jest skojarzona z wewnętrzną instrukcją if w tym przykładzie.Jeśli i jest mniejsze niż lub równe 0, wartość nie jest przypisywana do x.

if ( i > 0 ) 
{                      /* With braces */
    if ( j > i )
        x = j;
}
else
    x = i;

Nawiasy klamrowe otaczające wewnętrzną instrukcję if w tym przykładzie tworzą część klauzuli else zewnętrznej instrukcji if.Jeśli i jest mniejsze niż lub równe 0, i jest przypisywane do x.

Zobacz też

Informacje

if-else — instrukcja (C++)