Udostępnij za pośrednictwem


C operatory logiczne

Operatory logiczne wykonać logiczne- A (& &) i logicznych lub ( || ) operacji.

Składnia

  • I wyrażenie logiczne:
    wyrażenie włącznie lub

    I wyrażenie logiczne & & wyrażenie włącznie lub

  • wyrażenie logiczne lub:
    I wyrażenie logiczne

    wyrażenie logiczne lub |- I wyrażenie logiczne

Operatory logiczne nie wykonują zwykle konwersje arytmetycznych.Zamiast tego ich oceny każdego argumentu z punktu widzenia jej równoważności na 0.Wynik operacji logicznej jest 0 lub 1.Typ wyniku jest int.

C operatory logiczne są opisane poniżej:

Operator

Opis

& &

Logiczne- I operator daje wartość 1, jeśli oba operandy wartości niezerowe.Jeśli argument albo jest równa 0, wynik jest równy 0.Jeśli pierwszy argument logiczna- I operacji jest równa 0, drugi operand nie jest sprawdzane.

||

Operator logiczny lub wykonuje operację włącznie lub na jego operandów.Wynik jest równy 0, jeśli oba operandy wartości 0.Jeśli operand albo ma wartość różną od zera, wynikiem będzie liczba 1.Jeśli pierwszy argument operacji logicznych lub ma wartość różną od zera, drugi operand nie jest uwzględniane.

Operandy logiczne- I i wyrażeń logicznych lub są przetwarzane od lewej do prawej.Jeśli wartość pierwszego operandu jest wystarczające do określenia wyniku operacji, drugi operand nie jest sprawdzane.Jest to nazywane "zwarcie oceny". Po pierwszym argumentem jest punkt sekwencji.Zobacz Punkty sekwencji Aby uzyskać więcej informacji.

Przykłady

Poniższe przykłady ilustrują operatory logiczne:

int w, x, y, z;

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

W tym przykładzie printf do drukowania wiadomości, gdy wywoływana jest funkcja x jest mniejsza niż y i y jest mniejsza niż z.Jeśli x jest większa niż y, drugi operand (y < z) nie jest oceniany i nic nie jest drukowany.Należy zauważyć, że może to spowodować problemy w przypadkach, gdy drugi operand ma efektów ubocznych, które są opiera się jakiegoś innego powodu.

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

W tym przykładzie Jeśli x jest równe albo w, y, lub z, drugi argument printf wynikiem funkcji jest wartość true, a wartość 1 jest drukowany.W przeciwnym razie przyjmuje wartość FAŁSZ i wartość 0 jest drukowany.Tak szybko, jak jeden z warunków jest spełniony, przestaje oceny.

Zobacz też

Informacje

Logiczny Operator I: & &

Logiczne lub operatora: ||