C Academy · Aula

Operadores relacionais e lógicos

Comparações e &&, ||.

Aula 2 de 413 etapas

Operadores relacionais e lógicos é uma aula grátis de C Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C Academy inclui 4 aulas no total.

Comparando valores

Os operadores relacionais comparam dois valores e produzem um valor lógico: 1 para verdadeiro e 0 para falso.

  • < menor que
  • > maior que
  • <= menor ou igual
  • >= maior ou igual
#include <stdio.h>
int main(void) {
    printf("3 < 5 = %d\n", 3 < 5);
    printf("3 > 5 = %d\n", 3 > 5);
    return 0;
}

Igualdade e desigualdade

Use == para testar a igualdade e != para testar a desigualdade. Não confunda == com o operador de atribuição =.

#include <stdio.h>
int main(void) {
    int a = 4, b = 4;
    printf("a == b = %d\n", a == b);
    printf("a != b = %d\n", a != b);
    return 0;
}

Valores booleanos são inteiros

Por padrão, C não tem um tipo booleano separado. Uma comparação produz os valores int 1 ou 0. Qualquer valor diferente de zero conta como verdadeiro em uma condição.

#include <stdio.h>
int main(void) {
    int result = (10 > 2);
    printf("result = %d\n", result);
    return 0;
}

AND lógico

O operador && é verdadeiro somente quando ambos os operandos são verdadeiros.

#include <stdio.h>
int main(void) {
    int age = 25;
    if (age > 18 && age < 65)
        printf("Working age\n");
    return 0;
}

OR lógico

O operador || é verdadeiro quando pelo menos um dos operandos é verdadeiro.

#include <stdio.h>
int main(void) {
    int day = 6;
    if (day == 6 || day == 7)
        printf("Weekend\n");
    return 0;
}

NOT lógico

O operador ! inverte um valor lógico. !0 resulta em 1 e !5 resulta em 0.

#include <stdio.h>
int main(void) {
    int loggedIn = 0;
    if (!loggedIn)
        printf("Please log in\n");
    return 0;
}

Avaliação em curto-circuito

C usa avaliação em curto-circuito: com &&, o lado direito é ignorado se o lado esquerdo for falso; com ||, ele é ignorado se o lado esquerdo for verdadeiro.

#include <stdio.h>
int main(void) {
    int x = 0;
    if (x != 0 && 10 / x > 1)
        printf("safe\n");
    else
        printf("division skipped\n");
    return 0;
}

Combinando condições

Você pode combinar operadores relacionais e lógicos para expressar condições mais elaboradas.

#include <stdio.h>
int main(void) {
    int score = 75;
    if (score >= 50 && score < 80)
        printf("Pass\n");
    return 0;
}

Negando comparações

! pode envolver uma comparação inteira. !(a == b) equivale a a != b.

#include <stdio.h>
int main(void) {
    int a = 3, b = 5;
    printf("%d\n", !(a == b));
    return 0;
}

Encadear não é matemática

Ao contrário da matemática, 1 < x < 10 não significa o que você espera. A expressão é avaliada da esquerda para a direita como comparações. Em vez disso, use x > 1 && x < 10.

#include <stdio.h>
int main(void) {
    int x = 50;
    if (x > 1 && x < 10)
        printf("in range\n");
    else
        printf("out of range\n");
    return 0;
}

Um exemplo de decisão

Combine tudo para classificar um número.

#include <stdio.h>
int main(void) {
    int n = -4;
    if (n > 0)
        printf("positive\n");
    else if (n < 0)
        printf("negative\n");
    else
        printf("zero\n");
    return 0;
}

Verificação rápida

Teste sua compreensão dos operadores relacionais e lógicos.

Recapitulação: relacionais e lógicos

Você aprendeu a comparar e combinar condições.

  • Os operadores relacionais produzem 1 ou 0
  • == != testam a igualdade; nunca confunda == com =
  • && || ! combinam valores lógicos
  • A avaliação em curto-circuito pode ignorar o segundo operando
  • Encadeie condições com && explícito
Grátis para começar

Aprenda C com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
39
Aulas
144

Perguntas Frequentes

A aula “Operadores relacionais e lógicos” é grátis?

Sim — o texto completo de “Operadores relacionais e lógicos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C Academy, atualize para CoddyKit PRO. O curso de C Academy inclui 4 aulas no total.

O que vou aprender em “Operadores relacionais e lógicos”?

Comparações e &&, ||. Você pratica C Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C Academy?

Nenhuma experiência prévia é necessária. C Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Operadores relacionais e lógicos”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C Academy?

Sim. Cada aula de C Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Operadores aritméticos
  2. Operadores relacionais e lógicos
  3. Atribuição e incremento
  4. Precedência de operadores
← Voltar para C Academy