05. Operatori logici
Gli operatori logici corrispondono ai connettivi logici AND (congiunzione), OR (disgiunzione) e NOT (negazione).
Nel linguaggio C gli operatori logici hanno la seguente sintassi:
&& (corrisponde al connettivo logico AND)
|| (corrisponde al connettivo logico OR)
! (corrisponde al connettivo logico NOT)
Operatore && (AND)
#include <stdio.h>
int main()
{
int x,y;
x=5;
y=3;
// primo IF - la condizione è verificata
if (x>3 && y>2){
printf("Primo IF: La condizione e' verificata\n");
}
else{
printf("Primo IF: La condizione NON e' verificata\n");
}
// secondo IF - la condizione NON è verificata
if (x>6 && y>2){
printf("Secondo IF: La condizione e' verificata\n");
}
else{
printf("Secondo IF: La condizione NON e' verificata\n");
}
// terzo IF - la condizione NON è verificata
if (x==4 && y==2){
printf("Terzo IF: La condizione e' verificata\n");
}
else{
printf("terzo IF: La condizione NON e' verificata\n");
}
return 0;
}
if (x>3 && y>2)
La condizione all'interno dell'if è verificata perché contemporaneamente sono verificati i due confronti. Infatti:
x>3 è verificato
y>2 è verificato
if (x>6 && y>2)
La condizione all'interno dell'if NON è verificata perché uno dei confronti non è verificato. Infatti:
x>6 NON è verificato
y>2 è verificato
if (x==4 && y==2)
La condizione all'interno dell'if NON è verificata perché entrambi i confronti non sono verificati. Infatti:
x==4 NON è verificato
y==2 NON è verificato
Operatore || (OR)
#include <stdio.h>
int main()
{
int x,y;
x=5;
y=3;
// primo IF - la condizione è verificata
if (x>3 || y>2){
printf("Primo IF: La condizione e' verificata\n");
}
else{
printf("Primo IF: La condizione NON e' verificata\n");
}
// secondo IF - la condizione è verificata
if (x>6 || y>2){
printf("Secondo IF: La condizione e' verificata\n");
}
else{
printf("Secondo IF: La condizione NON e' verificata\n");
}
// terzo IF - la condizione NON è verificata
if (x==4 || y==2){
printf("Terzo IF: La condizione e' verificata\n");
}
else{
printf("terzo IF: La condizione NON e' verificata\n");
}
return 0;
}
if (x>3 || y>2)
La condizione all'interno dell'if è verificata perché sono verificati i due confronti. Infatti:
x>3 è verificato
y>2 è verificato
if (x>6 || y>2)
La condizione all'interno dell'if è verificata perché uno dei confronti è verificato. Infatti:
x>6 NON è verificato
y>2 è verificato
if (x==4 || y==2)
La condizione all'interno dell'if NON è verificata perché entrambi i confronti non sono verificati. Infatti:
x==4 NON è verificato
y==2 NON è verificato
Operatore ! (NOT)
#include <stdio.h>
int main()
{
int x,y;
x=5;
y=3;
// primo IF - la condizione NON è verificata
if (!(x==5)){
printf("Primo IF: La condizione e' verificata\n");
}
else{
printf("Primo IF: La condizione NON e' verificata\n");
}
// secondo IF - la condizione NON è verificata
if (!x){
printf("Secondo IF: La condizione e' verificata\n");
}
else{
printf("Secondo IF: La condizione NON e' verificata\n");
}
// terzo IF - la condizione è verificata
if (!(x==4 && y==2)){
printf("Terzo IF: La condizione e' verificata\n");
}
else{
printf("terzo IF: La condizione NON e' verificata\n");
}
return 0;
}
if (!(x==5))
La condizione all'interno dell'if NON è verificata. Infatti:
x==5 è verificato
!(x==5) NON è verificato essendo la negazione di una condizione verificata
if (!x)
La condizione all'interno dell'if NON è verificata. Infatti:
x essendo diverso da zero è una condizione verificata
!x è la negazione di una condizione verificata
if (!(x==4 && y==2))
La condizione all'interno dell'if è verificata. Infatti:
x==4 NON è verificato
y==2 NON è verificato
x==4 && y==2 NON è verificato essendo l'AND di condizioni non verificate
!(x==4 && y==2) è verificato essendo la negazione di una condizione NON verifiata
Sito: 7ecnologie
Sezione: 08. C language
Capitolo: 02. Introduzione al C
Paragrafo: 05. Operatori logici
Indice dei capitoli: 00. Risorse - 01 Ambiente di sviluppo - 02. Introduzione al C - 03. Le librerie - 04. Tutorial - 05. Esercizi svolti - 98. Esercizi
Indice dei paragrafi: 01. Hello World - 02. Variabile di tipo int - 03. Input da tastiera - 04. Controllo condizionale if - 05. Operatori logici - 06. Ciclo while - 07. Operatore modulo - 08. Array - 09. Ciclo for - 10. Ciclo do/while - 11. Variabili di tipo float - 12. Funzione random() - 13. Impostazione del set di caratteri - 14. Definizione di funzioni - 15. Passaggio di parametri: gli array - 16. Variabili: visibilità e durata - 17. Il tipo char - 18. I file - 19. Funzioni matematiche
Indice degli approfondimenti: 01. Es. svolto: triangolo - 02. Es. svolto: pensa un numero