Operatori logici c

Gli operatori logici eseguono un'operazione (&&) e (logico-O || ) operazioni.

Sintassi

  • logico-E-espressione:
    incluso-O-espressione

    logico-E-espressione && incluso-O-espressione

  • logico-O-espressione:
    logico-E-espressione

    logico-O-espressione || logico-E-espressione

Gli operatori logici non eseguono conversioni aritmetiche normali.Invece, valutare ogni operando in termini dell'equivalenza a 0.il risultato di un'operazione logica è 0 o 1.Il tipo del risultato è int.

Gli operatori logici c# vengono descritti di seguito:

Operatore

Descrizione

&&

Operatore AND logico produce un valore 1 se entrambi gli operandi hanno valori diversi da zero.Se uno degli operandi è uguale a 0, il risultato è 0.Se il primo operando di un'operazione di AND logico è uguale a 0, il secondo operando non viene valutato.

||

L'operatore OR logico esegue un'operazione OR inclusiva sui propri operandi.il risultato è 0 se entrambi gli operandi hanno valori 0.Se uno degli operandi hanno un valore diverso da zero, il risultato è 1.Se il primo operando di un'operazione di OR logico ha un valore diverso da zero, il secondo operando non viene valutato.

Gli operandi di AND logico e logico-O le espressioni vengono valutati da sinistra a destra.Se il valore del primo operando è sufficiente per determinare il risultato dell'operazione, il secondo operando non viene valutato.Questa operazione è detta “valutazione short circuit„. Esiste un punto di sequenza dopo il primo operando.vedere punti di sequenza per ulteriori informazioni.

Esempi

Negli esempi seguenti vengono illustrati gli operatori logici:

int w, x, y, z;

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

in questo esempio, printf la funzione viene chiamata per visualizzare un messaggio se x è minore di y e y è minore di z.se x è maggiore di y, il secondo operando (y < znon viene valutato e non viene stampato.Si noti che questo potrebbe causare problemi nei casi in cui il secondo operando ha effetti collaterali che vengono rese per qualche altro motivo.

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

In questo esempio, si x è uguale peruna o l'altra w, y, o z, il secondo argomento a printf la funzione restituisce true e il valore 1 viene formattato.In caso contrario, restituisce false e il valore 0 viene formattato.Non solo una delle condizioni restituisce true, la valutazione viene interrotta.

Vedere anche

Riferimenti

Operatore AND logico: &&

Operatore OR logico: ||