GUSTAVO AMARAL
Resolva problemas reais, entenda estruturas fundamentais e desenvolva sua lógica de programação com exemplos práticos em C.
C é uma linguagem de programação poderosa, eficiente e a base para muitas tecnologias modernas
C oferece controle direto sobre memória e hardware, resultando em programas extremamente rápidos e eficientes.
Código C pode ser compilado em praticamente qualquer plataforma, desde microcontroladores até supercomputadores.
Aprender C constrói uma base forte para entender C++, Java, Python e praticamente qualquer linguagem moderna.
Os pilares fundamentais para construir qualquer programa em C
C possui tipos primitivos: int, float, double, char.
int idade = 25; float altura = 1.75; char letra = 'A';
Estruturas if/else e switch controlam o fluxo do programa.
if (idade >= 18) { printf("Maior de idade"); } else { printf("Menor de idade"); }
Repita ações com for, while e do-while.
for (int i = 0; i < 10; i++) { printf("%d ", i); }
Armazene múltiplos valores do mesmo tipo em sequência.
int numeros[5] = {10, 20, 30, 40, 50}; printf("%d", numeros[0]); // Imprime 10
Soluções comentadas passo a passo para fixar o aprendizado
Nível: Iniciante
Problema:
Escreva um programa em C que exiba a mensagem "Olá, Mundo!" na tela. Este é o primeiro programa tradicional ao aprender uma nova linguagem.
#include <stdio.h> /* * Função principal do programa * Todo programa C começa pela função main */ int main() { // Imprime a mensagem na tela printf("Olá, Mundo!\n"); // Retorna 0 indicando sucesso return 0; }
Saída esperada:
Olá, Mundo!
Nível: Intermediário
Problema:
Crie um programa que calcule o fatorial de um número inteiro positivo. O fatorial de n (n!) é o produto de todos os inteiros de 1 até n. Ex: 5! = 5 × 4 × 3 × 2 × 1 = 120.
#include <stdio.h> int main() { int numero, i; long long fatorial = 1; // long long para números grandes printf("Digite um número inteiro positivo: "); scanf("%d", &numero); // Validação de entrada if (numero < 0) { printf("Erro: Fatorial não existe para números negativos!\n"); return 1; } // Cálculo do fatorial usando loop for for (i = 1; i <= numero; i++) { fatorial *= i; // fatorial = fatorial * i } printf("O fatorial de %d é %lld\n", numero, fatorial); return 0; }
Exemplo de execução:
Digite um número inteiro positivo: 5
O fatorial de 5 é 120
Nível: Intermediário
Problema:
Implemente um algoritmo que busque um valor específico em um vetor de inteiros. O programa deve informar se o valor foi encontrado e em qual posição (índice). Este é o algoritmo de busca linear ou sequencial.
#include <stdio.h> #define TAMANHO 10 int main() { int vetor[TAMANHO] = {15, 23, 8, 42, 16, 4, 77, 29, 11, 50}; int valor, i; int encontrado = 0; // Flag: 0 = não encontrado, 1 = encontrado printf("Vetor: "); for (i = 0; i < TAMANHO; i++) { printf("%d ", vetor[i]); } printf("\n\n"); printf("Digite o valor a ser buscado: "); scanf("%d", &valor); // Busca linear: percorre o vetor elemento por elemento for (i = 0; i < TAMANHO; i++) { if (vetor[i] == valor) { printf("Valor %d encontrado na posição %d\n", valor, i); encontrado = 1; break; // Para a busca ao encontrar } } // Verifica se não foi encontrado if (!encontrado) { printf("Valor %d não encontrado no vetor\n", valor); } return 0; }
Exemplo de execução:
Vetor: 15 23 8 42 16 4 77 29 11 50
Digite o valor a ser buscado: 42
Valor 42 encontrado na posição 3
Teste seus conhecimentos com estes desafios propostos
Crie um programa que leia dois números e uma operação (+, -, *, /) e exiba o resultado.
Desenvolva um programa que verifique se um número digitado é primo e liste todos os primos até N.
Implemente o algoritmo Bubble Sort para ordenar um vetor de 10 números em ordem crescente.
Leia uma matriz 3x3, calcule e exiba sua transposta. Depois verifique se é simétrica.
Implemente a sequência de Fibonacci usando recursão. Compare com a versão iterativa.
Crie uma estrutura de lista ligada com funções para inserir, remover e buscar elementos.