Olá, pessoal! Hoje vamos mergulhar nos fundamentos da programação em C, explorando como:
- Tomar decisões com estruturas condicionais
- Repetir tarefas com loops
- Interagir com usuários através de entrada e saída de dados
Vamos começar do básico e evoluir para exemplos práticos!
🧩 1. Estruturas Condicionais
1.1 If, Else If, Else
Permitem executar código baseado em condições.
#include <stdio.h>
int main() {
int idade;
printf("Digite sua idade: ");
scanf("%d", &idade);
if (idade < 0) {
printf("Idade inválida!\n");
} else if (idade < 18) {
printf("Você é menor de idade.\n");
} else if (idade < 65) {
printf("Você é adulto.\n");
} else {
printf("Você é idoso.\n");
}
return 0;
}
1.2 Switch Case
Ideal para múltiplas condições baseadas em um único valor.
#include <stdio.h>
int main() {
int opcao;
printf("Menu:\n");
printf("1 - Café\n");
printf("2 - Chá\n");
printf("3 - Suco\n");
printf("Escolha uma opção: ");
scanf("%d", &opcao);
switch (opcao) {
case 1:
printf("Preparando café...\n");
break;
case 2:
printf("Preparando chá...\n");
break;
case 3:
printf("Preparando suco...\n");
break;
default:
printf("Opção inválida!\n");
}
return 0;
}
🔄 2. Estruturas de Repetição (Loops)
2.1 For Loop
Ideal quando sabemos quantas vezes repetir.
#include <stdio.h>
int main() {
int i, numero, soma = 0;
printf("Digite 5 números para somar:\n");
for (i = 1; i <= 5; i++) {
printf("Número %d: ", i);
scanf("%d", &numero);
soma += numero;
}
printf("Soma total: %d\n", soma);
printf("Média: %.2f\n", soma / 5.0);
return 0;
}
2.2 While Loop
Repete enquanto a condição for verdadeira.
#include <stdio.h>
int main() {
int senha, tentativas = 0;
const int SENHA_CORRETA = 1234;
while (tentativas < 3) {
printf("Digite a senha (%d tentativa(s) restante(s)): ", 3 - tentativas);
scanf("%d", &senha);
if (senha == SENHA_CORRETA) {
printf("Acesso permitido!\n");
break;
} else {
printf("Senha incorreta!\n");
tentativas++;
}
}
if (tentativas == 3) {
printf("Conta bloqueada!\n");
}
return 0;
}
2.3 Do-While Loop
Garante que o código execute pelo menos uma vez.
#include <stdio.h>
int main() {
char continuar;
int numero, quadrado;
do {
printf("Digite um número: ");
scanf("%d", &numero);
quadrado = numero * numero;
printf("O quadrado de %d é %d\n", numero, quadrado);
printf("Deseja calcular outro? (s/n): ");
scanf(" %c", &continuar); // Espaço antes do %c é importante!
} while (continuar == 's' || continuar == 'S');
printf("Programa encerrado.\n");
return 0;
}
📥📤 3. Entrada e Saída de Dados
3.1 printf() – Saída Formatada
#include <stdio.h>
int main() {
int idade = 25;
float altura = 1.75;
char nome[] = "Maria";
char letra = 'A';
printf("=== Dados Pessoais ===\n");
printf("Nome: %s\n", nome);
printf("Idade: %d anos\n", idade);
printf("Altura: %.2f metros\n", altura);
printf("Letra inicial: %c\n", letra);
// Operações dentro do printf
printf("Daqui 5 anos: %d anos\n", idade + 5);
return 0;
}
3.2 scanf() – Entrada de Dados
#include <stdio.h>
int main() {
char nome[50];
int idade;
float salario;
printf("=== Cadastro de Usuário ===\n");
printf("Digite seu nome: ");
scanf("%s", nome);
printf("Digite sua idade: ");
scanf("%d", &idade);
printf("Digite seu salário: R$ ");
scanf("%f", &salario);
printf("\n=== Dados Cadastrados ===\n");
printf("Nome: %s\n", nome);
printf("Idade: %d anos\n", idade);
printf("Salário: R$ %.2f\n", salario);
return 0;
}
🎯 4. Exemplo Integrado Completo
#include <stdio.h>
int main() {
int opcao;
float num1, num2, resultado;
do {
printf("\n=== CALCULADORA SIMPLES ===\n");
printf("1 - Soma\n");
printf("2 - Subtração\n");
printf("3 - Multiplicação\n");
printf("4 - Divisão\n");
printf("5 - Sair\n");
printf("Escolha uma opção: ");
scanf("%d", &opcao);
if (opcao >= 1 && opcao <= 4) {
printf("Digite o primeiro número: ");
scanf("%f", &num1);
printf("Digite o segundo número: ");
scanf("%f", &num2);
}
switch (opcao) {
case 1:
resultado = num1 + num2;
printf("Resultado: %.2f + %.2f = %.2f\n", num1, num2, resultado);
break;
case 2:
resultado = num1 - num2;
printf("Resultado: %.2f - %.2f = %.2f\n", num1, num2, resultado);
break;
case 3:
resultado = num1 * num2;
printf("Resultado: %.2f × %.2f = %.2f\n", num1, num2, resultado);
break;
case 4:
if (num2 != 0) {
resultado = num1 / num2;
printf("Resultado: %.2f ÷ %.2f = %.2f\n", num1, num2, resultado);
} else {
printf("Erro: Divisão por zero!\n");
}
break;
case 5:
printf("Encerrando calculadora...\n");
break;
default:
printf("Opção inválida!\n");
}
} while (opcao != 5);
return 0;
}
💡 5. Dicas Importantes
Erros Comuns a Evitar:
// ERRADO: esquecer o &
scanf("%d", idade);
// CORRETO:
scanf("%d", &idade);
// ERRADO: esquecer break no switch
case 1:
printf("Opção 1");
// Falta break!
// CORRETO:
case 1:
printf("Opção 1");
break;
Boas Práticas:
- Sempre inicialize variáveis
- Use nomes descritivos (idade, salario, etc.)
- Comente seu código para explicar lógica complexa
- Teste com diferentes valores de entrada
🏆 6. Exercícios Práticos
Exercício 1: Tabuada
// Desafio: Peça um número e mostre sua tabuada de 1 a 10
Exercício 2: Adivinhação
// Desafio: Gere um número aleatório e peça ao usuário para adivinhar
Exercício 3: Contador de Vogais
// Desafio: Peça uma palavra e conte quantas vogais ela tem
📌 Resumo do que Aprendemos:
✅ Estruturas condicionais: if, else if, else, switch
✅ Loops: for, while, do-while
✅ Entrada/Saída: printf(), scanf()
✅ Integração: Como combinar todos os conceitos
🚀 Próxima Aula: FUNÇÕES em C!
Aprenderemos a organizar nosso código em blocos reutilizáveis!
#ApprendendoJuntos 😊
Comentem suas dúvidas e compartilhem seus códigos!
💻 Dica Extra: Pratique modificando os exemplos acima. Tente adicionar novas funcionalidades ou criar seus próprios programas!

