Respeitar a Ordem de Operações em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a respeitar a ordem de operações na programação C ao realizar operações aritméticas básicas. Você começará declarando variáveis e formando uma expressão, depois explorará como usar parênteses para controlar a ordem de avaliação. Finalmente, imprimirá o resultado final para observar o impacto da ordem de operações. Este laboratório cobre os conceitos fundamentais de operações aritméticas básicas em C, essenciais para a construção de programas mais complexos.

Declarar Variáveis e Formar uma Expressão

Neste passo, você aprenderá a declarar variáveis e criar uma expressão aritmética em C que demonstra a ordem de operações.

Primeiro, crie um novo arquivo C no diretório ~/project:

cd ~/project
nano order_of_operations.c

Agora, digite o seguinte código:

#include <stdio.h>

int main() {
    int a = 10;
    int b = 5;
    int c = 3;

    int result = a + b * c;

    printf("Resultado de a + b * c: %d\n", result);

    return 0;
}

Vamos analisar o código:

  • Declaramos três variáveis inteiras: a, b e c
  • Criamos uma expressão a + b * c que demonstrará a ordem padrão de operações
  • A instrução printf exibirá o resultado deste cálculo

Compile e execute o programa:

gcc order_of_operations.c -o order_of_operations
./order_of_operations

Exemplo de saída:

Resultado de a + b * c: 25

Neste exemplo, a multiplicação (b * c) é realizada antes da adição (a + ...) devido à ordem padrão de operações em C. O cálculo é equivalente a a + (b * c), que é 10 + (5 * 3) = 10 + 15 = 25.

Usar Parênteses para Controlar a Ordem de Avaliação

Neste passo, você aprenderá a usar parênteses para alterar a ordem de operações em expressões aritméticas em C.

Abra o arquivo anterior para modificar o código:

cd ~/project
nano order_of_operations.c

Substitua o código anterior pelo seguinte:

#include <stdio.h>

int main() {
    int a = 10;
    int b = 5;
    int c = 3;

    // Usando parênteses para alterar a ordem de avaliação
    int result_with_parentheses = a + (b * c);
    int result_without_parentheses = a + b * c;

    printf("Resultado com parênteses (a + (b * c)): %d\n", result_with_parentheses);
    printf("Resultado sem parênteses (a + b * c): %d\n", result_without_parentheses);

    return 0;
}

Compile e execute o programa:

gcc order_of_operations.c -o order_of_operations
./order_of_operations

Exemplo de saída:

Resultado com parênteses (a + (b * c)): 25
Resultado sem parênteses (a + b * c): 25

Neste exemplo:

  • a + (b * c) mostra explicitamente a multiplicação acontecendo primeiro.
  • O resultado é o mesmo do exemplo anterior porque a ordem padrão de operações já realiza a multiplicação antes da adição.
  • Os parênteses ajudam a tornar clara a ordem de operações pretendida e podem alterar cálculos em expressões mais complexas.

Imprimir o Resultado Final

Neste passo, você expandirá o exemplo anterior criando uma expressão aritmética mais complexa e imprimindo resultados detalhados para demonstrar a ordem de operações.

Abra o arquivo para modificar o código:

cd ~/project
nano order_of_operations.c

Substitua o código anterior pelo seguinte:

#include <stdio.h>

int main() {
    int a = 10;
    int b = 5;
    int c = 3;
    int d = 2;

    // Expressão complexa com múltiplas operações
    int result_default = a + b * c - d;
    int result_with_parentheses = a + (b * c - d);

    printf("Decomposição da Expressão Original:\n");
    printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);

    printf("\nAvaliação Padrão (a + b * c - d):\n");
    printf("Passo 1: b * c = %d\n", b * c);
    printf("Passo 2: a + (b * c) = %d\n", a + (b * c));
    printf("Passo 3: (a + b * c) - d = %d\n", result_default);

    printf("\nAvaliação com Parênteses (a + (b * c - d)):\n");
    printf("Passo 1: b * c - d = %d\n", b * c - d);
    printf("Passo 2: a + (b * c - d) = %d\n", result_with_parentheses);

    return 0;
}

Compile e execute o programa:

gcc order_of_operations.c -o order_of_operations
./order_of_operations

Exemplo de saída:

Decomposição da Expressão Original:
a = 10, b = 5, c = 3, d = 2

Avaliação Padrão (a + b * c - d):
Passo 1: b * c = 15
Passo 2: a + (b * c) = 25
Passo 3: (a + b * c) - d = 23

Avaliação com Parênteses (a + (b * c - d)):
Passo 1: b * c - d = 13
Passo 2: a + (b * c - d) = 23

Pontos chave:

  • O código demonstra como os parênteses podem alterar a ordem de operações.
  • Mostramos a avaliação passo a passo das expressões.
  • Ambas as expressões resultam no mesmo valor (23) no final.

Resumo

Neste laboratório, você aprendeu a respeitar a ordem de operações na programação em C. Primeiro, declarou variáveis e formou uma expressão aritmética para demonstrar a ordem padrão de operações, onde a multiplicação é realizada antes da adição. Em seguida, usou parênteses para controlar a ordem de avaliação e alterar o resultado da expressão. Ao compreender a importância da ordem de operações e usar parênteses de forma eficaz, você pode escrever programas C mais precisos e previsíveis.