Inne działy

 

 

Operatory logiczne i relacje

W języku C istnieją operatory logiczne, dzięki którym możemy sprawdzać warunki, które z kolei mogą sterować programem. Operatory logiczne zostały przedstawione w niniejszej tabeli.

Operator Funkcja operatora
Relacje  
> Większy niż
>= Większy lub równy niż
  Mniejszy niż
= Mniejszy lub równy niż
Operatory przyrównania  
== Równy
!= Różny
Operatory logiczne  
&& Logiczne "i"
|| Logiczne "lub"

Każdy z wyżej wymienionych operatorów jest operatorem dwuargumentowym, więc jego sposób użycia i zastosowanie można przedstawić na poniższym przykładowym kodzie:

#include <stdio.h> 
main () 
{ 
  const int gornaGranica = 10; 
  const int dolnaGranica = -10; 
  int a = 4; 
  if (a >= dolnaGranica && a = gornaGranica) 
  {
    if (a % 2 == 0) 
    { 
      printf("Liczba a (%d) zawiera sie w przedziale: ", a); 
      printf(" i jest parzysta\n", dolnaGrnica, gornaGranica); 
    } 
    else 
    { 
      printf("Liczba a (%d) zawiera sie w przedziale: ", a); 
      printf(" i jest nie parzysta\n", dolnaGranica,gornaGranica); 
    } 
   } else {
     printf("Liczba nie zawiera sie w podanym zakresie\n"); 
   }
} 

W tym miejscu skupimy się bardziej tylko na użyciu operatorów, w jaki sposób się ich używa, jak to działa itp. Działanie instrukcji if–else zostanie omówione w następnych lekcjach. Spójrzmy na poniższe wyrażenie, w którym użyto dwóch operatorów relacji i jednego operatora logicznego.

a >= dolnaGranica && a 

Priorytety operatorów zostały opisane w następnych artykułach, ale tak krótko: Operatory >= i = mają priorytet większy niż operator &&, dzięki tej informacji nie musimy stosować nawiasów,ponieważ najpierw wykona się warunek sprawdzający czy a jest większe lub równe od dolnej granicy (dolnaGranica). W tym momencie trzeba troszkę nawiązać do tego co to znaczy logiczne „i”. W tabeli poniżej zostały podane kombinacje bramki logicznej „i”, z której korzysta operator &&.

X1 X2 Y
0 0 0
0 1 0
1 0 0
1 1 1

Potraktujmy wyrażenie a >= dolnaGranica jako zmienną X1, wyrażenie a =gornaGranica jako zmienną X2. A całość a >= dolnaGranica && a <= gornaGranica jako zmienną Y. Jeśli pierwszy warunek jest spełniony, czyli a jest większe bądź równe wartości zmiennej dolnaGranica, to wyrażenie przyjmuje wartość 1, można sobie to wyobrazić, że do zmiennej X1 przypisujemy wartość 1. Teraz spójrz na tabelę Y równa się 1 wtedy i tylko wtedy, gdy X1 i X2 równają się jednocześnie 1. Skoro nasze X1 przyjęło wartość 1, to jest sens sprawdzenia drugiego warunku, które oznaczyliśmy jako X2. Jeśli X2 równa się 1, czyli warunek został spełniony (a mniejsze lub równe wartości zmiennej < strong>gornaGranica) to Y równa się 1. Jeśli Y równa się 1 to zostanie sprawdzony kolejny warunek, na parzystość liczby a (ponieważ, jeśli Y równa się 1, to if(1) jest wartością prawdziwą i zostaną wykonywane polecenia po if, jeśli Y równałby się 0, to if(0) jest fałszywe, więc wykonały by się instrukcje znajdujące się po else).
Jeśli liczba a dzieli się przez 2 bez reszty (czyli reszta z dzielenia liczby a przez 2 równa się 0) to liczba jest parzysta, w przeciwnym wypadku liczba jest nie parzysta. W gruncie rzeczy to by było tyle jeśli chodzi o operatory. Warto zaznajomić się z priorytetami, które operatory mają wyższe, które niższe. W razie nie pewności można użyć nawiasów, które zapewniają wykonanie instrukcji w nawiasie przed tymi spoza nawiasów.

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.