Estruturas de Decisão e Repetição
Vídeo-aula ainda não gravada — em breve por aqui.
Estruturas de Decisão
✅ if / else
Executa um bloco se a condição for verdadeira, senão outro bloco.
#include <stdio.h>
int main(void) {
int idade;
printf("Digite sua idade: ");
scanf("%d", &idade);
if (idade >= 18) {
printf("Maior de idade.\n");
} else {
printf("Menor de idade.\n");
}
return 0;
}⚠️ As chaves
{}são opcionais para um bloco de uma linha, mas é recomendado sempre usar.
✅ if / else if / else
Usado quando há múltiplas condições possíveis.
#include <stdio.h>
int main(void) {
int nota;
printf("Digite sua nota: ");
scanf("%d", ¬a);
if (nota >= 90) {
printf("Aprovado com A\n");
} else if (nota >= 70) {
printf("Aprovado com B\n");
} else if (nota >= 50) {
printf("Aprovado com C\n");
} else {
printf("Reprovado\n");
}
return 0;
}✅ switch / case
Mais eficiente que vários if/else quando se compara um valor fixo.
#include <stdio.h>
int main(void) {
int opcao;
printf("1 - Café\n2 - Chá\n3 - Suco\nEscolha: ");
scanf("%d", &opcao);
switch (opcao) {
case 1:
printf("Você escolheu café.\n");
break;
case 2:
printf("Você escolheu chá.\n");
break;
case 3:
printf("Você escolheu suco.\n");
break;
default:
printf("Opção inválida.\n");
}
return 0;
}⚠️ Nunca esqueça do
break, senão o programa continua executando os próximoscase.
Estruturas de Repetição
🔸 while
Repete enquanto a condição for verdadeira.
#include <stdio.h>
int main(void) {
int i = 1;
while (i <= 5) {
printf("%d\n", i);
i++;
}
return 0;
}🔸 do / while
Garante pelo menos uma execução, mesmo que a condição seja falsa no início.
#include <stdio.h>
int main(void) {
int senha;
do {
printf("Digite a senha (1234): ");
scanf("%d", &senha);
} while (senha != 1234);
printf("Acesso permitido!\n");
return 0;
}🔸 for
Mais usado quando sabemos o número de repetições.
#include <stdio.h>
int main(void) {
for (int i = 0; i < 5; i++) {
printf("Valor de i: %d\n", i);
}
return 0;
}Estrutura: for (inicialização; condição; incremento)
Comandos úteis dentro de laços
| Comando | Função |
|---|---|
| break | Encerra o laço imediatamente |
| continue | Pula o restante do laço e vai para a próxima iteração |
#include <stdio.h>
int main(void) {
for (int i = 1; i <= 10; i++) {
if (i == 5) continue; // pula o 5
if (i == 8) break; // para no 8
printf("%d ", i);
}
return 0;
}Saída: 1 2 3 4 6 7
Desafio da Aula 2
Escreva um programa que:
- Leia um número
n. - Some todos os números de 1 até
nusandofore mostre o resultado. - Tente reescrever usando
while.