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
- Operadores aritméticos
- Operadores relacionais e lógicos
- Atribuição e incremento
- Precedência de operadores