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.
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 o valor 1 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 o valor 1 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. Esse
operador não pode ser confundido com o operador bitwise (~) que inverte todos os bits.
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
- 03/09/2025 - revisão 5 - Ajustes: pontuais, css de tabs, sintaxes e objetivos
- 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.