Programski jezik C
Logički operatori

Logički operator

Opis

Primjer

&&

Logičko i 'AND

if(i % 2  == 0 && i % 3  == 0) // paran i djeljiv sa 3?
   p = p + i;

||

Logičko ili 'OR'

if(i % 2  == 0 || i % 3  == 0) // ili paran ili djeljiv sa 3?
   s = s + i;

!

Logičko ne 'NOT'

aa

&

Logički 'AND' nad bitovima

aa

^ |

^ |

aa

<> == !=

Operatori jednakosti

aa

= %= /= //= -= += *= **=

Operatori dodele vrijednosti aa

Relacijski operatori:

!= relacija nejednakosti
== relacija jednakosti
>= vece ili jednako
<= manje ili jednako
>  vece
<  manje
Vidi: Aritmetički operatori

Aritmetički operatori:

+  -      *      /      %      **     //

Operatori poređenja:

<  >      <=     >=     ==     != ili <>

Operatori dodele:

=  +=     -=     *=     /=     %=     **=    //=

Operatori nad bitovima:

&&  ||      ^      ~      <<     >>

Logički operatori:

&&     ||      !

Operatori pripadnosti:

in not in

Operatori provere identiteta:

is is not

Primjer 1:

Listing programa:

#include <stdio.h>
#include <stdbool.h>   // bool tip nije u standardnoj biblioteci u C-u i mora se dodati biblioteka stdbool.h

int main() {

    bool a = true;
    bool b = false;

    printf("a && b = %d\n", a && b );
    printf("a || b = %d\n", a || b );
    printf("!(a && b) = %d\n", !(a && b ));

    return 0;
}

Ispis na ekranu:
a && b = 0
a || b = 1
!(a && b) = 1
  

Primjer 2:

Listing programa:

#include <stdio.h>
#include <stdbool.h>   // bool tip nije u standardnoj biblioteci u C-u i mora se dodati biblioteka stdbool.h

int main(void) {
    bool a=true, b=false;
    printf("%d\n", a&&b);
    printf("%d\n", a||b);
    printf("%d\n", !b);

    return 0;
}

Ispis na ekranu:
0
1
1

Primjer 3:

Negacija logičkog izraza (2+2 == 4) se izvodi operatorom !. Izraz glasi:
b = !(2+2 == 4)
Ispisati na ekranu vrijednost bool varijable b.

Listing programa:

#include <stdio.h>
#include <stdbool.h>
#include <ctype.h>

int main(void)
{
    bool b = !(2+2 == 4); // not true
    printf("!(2+2 == 4) %s\n", b ? "true" : "false");

    return 0;
}

Ispis na ekranu:
!(2+2 == 4) false

 

Index