Operatori logici c
Gli operatori logici eseguono un'operazione (&&) e (logico-O || ) operazioni.
Sintassi
logico-E-espressione:
incluso-O-espressionelogico-E-espressione && incluso-O-espressione
logico-O-espressione:
logico-E-espressionelogico-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.