Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Entender os operadores lógicos
  2. Entender o operador lógico Ou(||)
  3. Entender o operador lógico E(&&)
  4. Entender o operador lógicos Não(!)

Para entendermos sobre a aplicação dos operadores lógicos é importante entender sobre tabela verdade que foi explicada em Portugol: Operadores Lógicos.

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
  1. 11/03/2024 - revisão 4 - Adição de explicação básica sobre operadores, informação sobre tipo bool; Ajuste em exemplos
  2. 05/10/2024 - revisão 3 - Ajustes pontuais
  3. 30/08/2024 - revisão 2 - Correção em links de objetivos de operadores lógicos
  4. 27/09/2023 - revisão 1 - Correção em referências, erros gramaticais, sintaxe, tabelas e outros
  5. 19/05/2023 - versão inicial