Sdílet prostřednictvím


C logické operátory

Logické operátory provádět logickou- A (& &) a logické OR ( || ) operace.

Syntaxe

  • logické a výraz:
    včetně nebo výrazu

    logické a výraz & & včetně nebo výrazu

  • Logické OR výraz:
    logické a výraz

    Logické OR výraz **|**logické a výraz

Logické operátory provádět běžné aritmetické převody.Vyhodnotit jejich operandem z hlediska její rovnocennost 0.Výsledek logické operace je 0 nebo 1.Typ výsledek je int.

C logické operátory jsou popsány níže.

Operátor

Description

& &

Logické- A operátor vytváří hodnotu 1, pokud jsou oba operandy mají nenulové hodnoty.Pokud buď operand je rovna 0, výsledkem je 0.Pokud první operand logických funkcí- A operace je rovna 0, druhý operand není vyhodnocena.

||

Logické OR operátor provádí operaci, včetně nebo na jeho operandy.Výsledkem je 0, pokud mají oba operandy hodnoty 0.Pokud operand buď nenulovou hodnotu, výsledkem je 1.Pokud první operand operace logickým nebo má nenulovou hodnotu, druhý operand nebudou vyhodnoceny.

Operandy logické- A a logickým nebo výrazy jsou vyhodnocovány zleva doprava.Pokud je hodnota prvního operandu dostatečný k určení výsledku operace, druhý operand nebudou vyhodnoceny.Tento postup se nazývá "zkratové hodnocení." Po prvním operandem je bod sekvence.Viz Body sekvence Další informace.

Příklady

Následující příklady ilustrují logické operátory:

int w, x, y, z;

if ( x < y && y < z )
    printf( "x is less than z\n" );

V tomto příkladu printf Tisk zprávy, pokud je volána funkce x je menší než y a y je menší než z.Pokud x je větší než y, druhým operandem (y < z) nebudou vyhodnoceny a nic se vytiskne.Všimněte si, že to může způsobit problémy v případech, kdy druhý operand vedlejší účinky, které jsou právě dovolávat z nějakého jiného důvodu.

printf( "%d" , (x == w || x == y || x == z) );

Například pokud x je roven buď w, y, nebo z, druhý argument printf funkce vyhodnocuje na hodnotu true a hodnota 1 je vytištěn.Jinak je vyhodnocen jako NEPRAVDA a vytiskne hodnotu 0.Jako jedna z podmínek vyhodnocen jako PRAVDA, přestane hodnocení.

Viz také

Referenční dokumentace

Logický operátor: & &

Logické nebo operátor: ||