See the C
  • Intro
    • Prefácio
      • A Jornada
      • A organização dos estudos
      • Guia de contribuições
  • Capítulo 1: Basic
    • Introdução a Linguagem C
      • Uma Jornada pela Computação com bit e byte
      • Fluxograma
      • Algoritmos?
      • Ciclo de Desenvolvimento
      • Compreendendo variáveis
      • Tipos de dados
      • Comentários
      • Ordem de precedência dos operadores
      • Operadores aritméticos
      • Operadores relacionais e lógicos
      • Operadores de atribuição Compostos
      • Função
      • Especificadores de formato
    • Capítulo 1: Exercícios
      • Operações Matemáticas Simples
      • Cálculo de Média Aritmética
      • Conversão de Temperatura
      • Entrada e Saída de dados Simples
      • Cálculo de Percentual de Votos em uma Eleição Municipal
      • Cálculo de Novo Salário com Reajuste
      • Jogo de Adivinhação Simples
  • Capítulo 1: RE
    • Operações Matemáticas Simples
    • Cálculo de Média Aritmética
  • Capítulo 2: Control Flow
    • Estruturas condicionais
      • Entender loops
  • Capítulo 2: Exercícios
    • Calculadora de Notas
    • Verificação de Paridade de um Número
    • Conversor de Temperatura Inteligente
    • Dias da Semana
    • Calculadora Simples
    • Conversor de Unidades
  • Capítulo 3: Functions
    • Funções - Uma abordagem abrangente
Fornecido por GitBook
Nesta página
Editar no GitHub
  1. Capítulo 1: Basic
  2. Introdução a Linguagem C

Ordem de precedência dos operadores

Em C, assim como em muitas outras linguagens de programação, a ordem de avaliação dos operadores matemáticos segue a convenção padrão da matemática. Aqui está a ordem de precedência dos operadores matemáticos em C, da mais alta para a mais baixa:

  1. Parênteses: Expressões dentro de parênteses são avaliadas primeiro.

  2. Multiplicação (*) e Divisão (/): Multiplicação e divisão têm a mesma prioridade e são avaliadas da esquerda para a direita.

  3. Adição (+) e subtracção (-): Adição e subtracção têm a mesma prioridade e são avaliadas da esquerda para a direita.

Quando há operadores com a mesma precedência, a avaliação ocorre da esquerda para a direita.

Dicas para usar operadores relacionais:

  • Utilize os operadores relacionais para comparar valores e tomar decisões em seu programa.

  • Lembre-se da precedência dos operadores para evitar erros de lógica.

  • Utilize parênteses para alterar a ordem de execução das operações, se necessário.

É sempre importante lembrar da precedência dos operadores, que define a ordem em que as operações são realizadas em uma expressão.


Tabela de Precedência (Principais Operadores)

Precedência (Alta → Baixa)
Operadores
Associatividade

1

() (parênteses), [], ->, .

Esquerda para direita

2

!, ~, ++ (prefixo), -- (prefixo), + (unário), - (unário), & (endereço), * (desreferência), sizeof, (type) (cast)

Direita para esquerda

3

*, /, %

Esquerda para direita

4

+, -

Esquerda para direita

5

<, <=, >, >=

Esquerda para direita

6

==, !=

Esquerda para direita

7

& (bitwise AND)

Esquerda para direita

8

^ (bitwise XOR)

Esquerda para direita

9

`

` (bitwise OR)

10

&& (logical AND)

Esquerda para direita

11

?: (operador condicional ternário)

Direita para esquerda

12

=, +=, -=, *=, /=, %=, &=, `

=, ^=, <<=, >>=` (atribuições)

13

, (vírgula)

Esquerda para direita


Exemplo que demonstra a precedência de operadores :

Exemplo de Código

#include <stdio.h>

int main()
{
    int a = 10, b = 5, c = 2, result;

    result = a + b * c; 
    // Multiplicação (*) tem precedência sobre adição (+)
    printf("Resultado 1: %d\n", result);

    result = (a + b) * c; // Parênteses alteram a precedência
    printf("Resultado 2: %d\n", result);
    
    result = a > b && b > c; 
    // Operadores relacionais têm precedência sobre operadores lógicos
    printf("Resultado 3: %d\n", result);

    return 0;
}

Saída

Resultado 1: 20
Resultado 2: 30
Resultado 3: 1

AnteriorComentáriosPróximoOperadores aritméticos

Atualizado há 3 meses