Objetivos
Para declaração de expressões lógicas, utilizamos os operadores abaixo suportados pela linguagem C.
Estes operadores são utilizados para criação de expressões lógicas e utilizados em conjunto com comandos de
C: Comandos de Decisão e
C: Comandos de Repetição.
Os operadores lógicos retornam 0 ou 1. Por padrão, a C não possui o tipo Verdadeiro(true) e Falso(false).
Qualquer valor diferente de 0 é considerado Verdadeiro, e 0 é considerado Falso. Para utilizar booleanos,
é necessário a inclusão da biblioteca stdbool.h.
Abaixo serão listados os operadores suportados pela linguagem C. Esse podem ser utilizados em conjunto
gerando assim expressões lógicas complexas.
Tab. 1: Operadores lógicos
Operador |
Significado |
Exemplo |
&& |
E lógico |
a && b |
|| |
Ou lógico |
a || b |
! |
Não lógico |
!a |
Vamos utilizar os valores 0 ou 1 como valores para A e B para entendermos o operador OU lógico utilizando
sua tabela verdade.
Tab.2 : Tabela verdade OU
A |
B |
A || B |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Sintaxe
valor1 ou expressao1 || valor2 ou expressao2
O operador || retorna um valor "verdadeiro" no caso uma expressão, dentre várias, seja validada como
verdadeira.
Exemplo 1
#include <stdio.h>
void main(void)
{
int varA = 1,varB=0;
printf("%d \n",varA || varB);
if( varA == 1 || varB == 0)
printf("if");
}
Saída
1
if
Vamos utilizar os valores 0 ou 1 como valores para A e B para entendermos o operador E lógico utilizando
sua tabela verdade.
Tab.3 : Tabela verdade E
A |
B |
A && B |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Sintaxe
valor1 ou expressao1 && valor2 ou expressao2
O operador && retorna um valor "verdadeiro" quando todas as expressões, dentre várias, seja validadas como
verdadeiras.
Exemplo 2
#include <stdio.h>
void main(void)
{
int varA= 1,varB=0;
printf("%d \n",varA && varB);
if( varA == 1 && varB == 0)
printf("if");
}
Saída
0
if
Vamos utilizar os valores 0 ou 1 como valores para A para entendermos o operador Não lógico utilizando
sua tabela verdade.
Tab.4 : Tabela verdade Não
A |
!A |
0 |
1 |
1 |
0 |
Sintaxe
!valor ou expressão
O operador Não(!) nega o valor de retorno de uma ou mais expressões quando validadas.
Exemplo 3
#include <stdio.h>
void main(void)
{
int varA=0;
printf("%d \n",!varA);
printf("%d \n",!( 1 > 0));
if( !varA)
printf("if");
}
Saída
1
0
if
Histórico de atualizações
- 11/03/2024 - revisão 4 - Adição de explicação básica sobre operadores, informação sobre tipo bool; Ajuste em exemplos
- 05/10/2024 - revisão 3 - Ajustes pontuais
- 30/08/2024 - revisão 2 - Correção em links de objetivos de operadores lógicos
- 27/09/2023 - revisão 1 - Correção em referências, erros gramaticais, sintaxe, tabelas e outros
- 19/05/2023 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.