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 noswitch. 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
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
- Escreva um programa que receba dois números e imprima o maior deles.
- Crie uma calculadora simples: Peça dois números e um símbolo de operação (
+,-,*,/). Useswitchpara realizar o cálculo. - O que acontece se você usar
if (x = 10)em vez deif (x == 10)? Teste e explique o comportamento bizarro que ocorrerá.