0Pricing
C Academy · Aula

Precedência de operadores

Ordem de avaliação.

Precedência de operadores é uma aula grátis de C Academy no CoddyKit. Esta é a aula 4 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.

Por que a precedência é importante

A precedência determina qual operador é executado primeiro em uma expressão com vários operadores. Ela segue a matemática comum: a multiplicação vem antes da adição.

#include <stdio.h>
int main(void) {
    printf("%d\n", 2 + 3 * 4);
    return 0;
}

Parênteses alteram a precedência

Os parênteses determinam a ordem de avaliação. Use-os para deixar a intenção clara e substituir a ordem padrão.

#include <stdio.h>
int main(void) {
    printf("%d\n", (2 + 3) * 4);
    return 0;
}

Precedência aritmética

Entre os operadores aritméticos, * / % têm precedência maior que + -. Os operadores de maior precedência são executados primeiro.

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

Associatividade

Quando os operadores têm a mesma precedência, a associatividade determina a direção. A maioria das operações aritméticas é avaliada da esquerda para a direita.

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

Associatividade à direita da atribuição

A atribuição é agrupada da direita para a esquerda. Por isso, a = b = 5 atribui 5 a b primeiro e depois a.

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

Comparações e aritmética

A aritmética tem precedência maior que os operadores relacionais, portanto a + b > c calcula a + b primeiro.

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

Relacionais e lógicos

Os operadores relacionais têm precedência maior que &&, que por sua vez tem precedência maior que ||.

#include <stdio.h>
int main(void) {
    int x = 5;
    if (x > 0 && x < 10)
        printf("single digit positive\n");
    return 0;
}

Unários antes de binários

Os operadores unários, como ! e o - unário, têm precedência muito alta e são aplicados antes dos operadores binários.

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

<p>Sem parênteses, esta expressão combina vários níveis de precedência. Analise-a cuidadosamente.</p>

Sem parênteses, esta expressão combina vários níveis de precedência. Analise-a com atenção.

#include <stdio.h>
int main(void) {
    int r = 2 + 3 * 4 > 10 && 1;
    printf("r = %d\n", r);
    return 0;
}

Em caso de dúvida, use parênteses

Um bom código C usa parênteses livremente. Eles não têm custo em tempo de execução e evitam erros sutis.

#include <stdio.h>
int main(void) {
    int a = 1, b = 2, c = 3;
    if ((a < b) && (b < c))
        printf("ascending\n");
    return 0;
}

Precedência na prática

Aqui, a precedência permite escrever uma fórmula clara sem parênteses adicionais.

#include <stdio.h>
int main(void) {
    int base = 10, rate = 2, hours = 3;
    int pay = base + rate * hours;
    printf("pay = %d\n", pay);
    return 0;
}

Verificação rápida

Verifique sua compreensão sobre a precedência dos operadores.

Recapitulação: precedência dos operadores

Você aprendeu como C ordena os operadores.

  • * / % antes de + -
  • Aritmética antes de relacionais, e relacionais antes de lógicos
  • A maioria dos operadores é associativa à esquerda; a atribuição é associativa à direita
  • Os operadores unários têm precedência alta
  • Os parênteses tornam a intenção explícita

Perguntas Frequentes

A aula “Precedência de operadores” é grátis?

Sim — o texto completo de “Precedência de operadores” é 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 “Precedência de operadores”?

Ordem de avaliação. 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 4 de 4.

Quanto tempo leva a aula “Precedência de operadores”?

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