Pular para conteúdo

Aula 05 – Estruturas Condicionais 🚦

Até agora, nossos programas eram lidos como uma linha reta, do topo até o fim. Porém, na vida real, precisamos tomar decisões. As Estruturas Condicionais permitem que o programa escolha caminhos diferentes.


🛣️ 1. O Desvio Simples: if e else

O if (se) testa uma condição. Se ela for verdadeira, o bloco de código dentro dele é executado. Caso contrário, o else (senão) assume o controle.

#include <stdio.h>

int main() {
    int idade;
    printf("Digite sua idade: ");
    scanf("%d", &id);

    if (idade >= 18) {
        printf("Você é maior de idade. Acesso liberado!\n");
    } else {
        printf("Acesso negado. Você é menor de idade.\n");
    }

    return 0;
}

🚦 2. Múltiplas Condições: else if

Quando temos mais de dois caminhos possíveis, usamos o else if.

if (nota >= 7.0) {
    printf("Aprovado!\n");
} else if (nota >= 5.0) {
    printf("Recuperação!\n");
} else {
    printf("Reprovado!\n");
}

🎚️ 3. A Escolha Múltipla: switch

O switch (chaveador) é ideal para quando temos uma variável que pode assumir vários valores discretos (como um menu).

int opcao;
printf("1. Café\n2. Chá\nEscolha: ");
scanf("%d", &opcao);

switch (opcao) {
    case 1:
        printf("Saindo um café quentinho...\n");
        break; // Omitir o break faz o código continuar para o próximo caso!
    case 2:
        printf("Preparando seu chá...\n");
        break;
    default:
        printf("Opção inválida!\n");
}

[!CAUTION] Atenção: O comando break é essencial no switch. Sem ele, o C executará todos os casos abaixo do escolhido!


⚡ 4. Operador Ternário (Atalho)

Uma forma rápida de escrever um if-else simples em uma única linha: condicao ? valor_se_verdade : valor_se_falso;

Exemplo: int maior = (a > b) ? a : b;


💻 Exemplo Prático: Par ou Ímpar

$ gcc parimpar.c -o parimpar
$ ./parimpar
Digite um número: 7
O número 7 é ÍMPAR.
int num;
scanf("%d", &num);
if (num % 2 == 0) {
    printf("É PAR!\n");
} else {
    printf("É ÍMPAR!\n");
}

🚀 Mini-Projeto da Aula: "O Jogo de Adivinhação"

Objetivo: Criar um programa que defina um "número secreto" (ex: 42) e peça para o usuário tentar adivinhar. O programa deve dizer se ele acertou, se o chute foi alto demais ou baixo demais.


📝 Exercícios de Fixação

  1. Escreva um programa que receba dois números e imprima o maior deles.
  2. Crie uma calculadora simples: Peça dois números e um símbolo de operação (+, -, *, /). Use switch para realizar o cálculo.
  3. O que acontece se você usar if (x = 10) em vez de if (x == 10)? Teste e explique o comportamento bizarro que ocorrerá.

Próxima Aula: Estruturas de Repetição