O que é programação? Uma introdução clara e acessível aos conceitos centrais de C.
📖 O que você vai aprender nesta página
✅ Essencial
Um programa = um conjunto de instruções exatas para o computador
C é compilada: código-fonte → traduzir → executável
Instruções ambíguas não funcionam; seja preciso
⭐ Leia se tiver tempo
Linguagens compiladas vs interpretadas
História e usos de C
Por que aprender C hoje
O que é programação?
Um programa é um conjunto de instruções escritas para um computador. Programar é o ato de criar esses programas.
Uma analogia familiar: a receita
Pense numa receita de cozinha: "pique a cebola bem fino → refogue no óleo por 3 minutos → adicione 1 colher de chá de sal". Cada passo é concreto, com quantidades específicas. Um programa segue a mesma ideia — uma sequência de instruções sem ambiguidade.
Receita 🍳
ingredientes → passos → prato pulou um passo, o sabor muda
Programa 💻
entrada → processamento → saída pulou um passo, dá erro
Comandos para robô 🤖
"Ande 3 passos, vire à direita" números e direções explícitos
Programas estão em todo lugar
A maioria das coisas ao seu redor funciona com programas:
Celulares e notebooks — o sistema operacional e cada aplicativo são programas
Micro-ondas e panelas elétricas — temporizadores e modos de cozimento são programados por dentro
Semáforos e portas automáticas — programas de controle reagindo a sensores
Caixas eletrônicos, máquinas de bilhete, catracas — tratamento rigoroso de dinheiro e autenticação
Jogos e animação — física, renderização e IA
Quatro características de um computador
⚡ Rápido
bilhões de operações por segundo
✅ Exato
mesma entrada → mesma saída
💤 Não cansa
repete tarefas para sempre
🤔 Não "pensa"
só faz o que você escreveu
É por isso que programar importa: você precisa dar ao computador instruções sem ambiguidade. "Faz aí direitinho" ou "vai por ali" — esse tipo de coisa que funciona entre humanos — simplesmente não cola aqui.
Humano vs computador — sinta a diferença
🤖
Linguagem de programação — C
Neste curso vamos usar a linguagem C com o Visual Studio como ambiente de desenvolvimento.
Regra do nome do arquivo: arquivos-fonte em C terminam com .c, como hello.c. Não use .cpp — essa extensão é para C++.
Linguagem C
Desde 1972. SOs e sistemas embarcados. É o foco deste curso.
Python
Popular para IA e análise de dados.
Java
Sistemas corporativos e Android.
JavaScript
Desenvolvimento web. Este site também usa JS.
Por que aprender C?
Mesmo na era do Python e do JavaScript, ainda há vários motivos para aprender C.
A máquina aparece — memória, ponteiros e tipos não ficam escondidos de você
Onde velocidade importa, C aparece — sistemas operacionais (Linux, macOS), bancos de dados, motores de jogos, dispositivos embarcados
Outras linguagens vêm de C — C++, Java, JavaScript e Python herdam a sintaxe de C
Longo histórico — nasceu em 1972, com mais de 50 anos de documentação
Padrão em cursos universitários — aparecer em prova não é o mesmo que estar obsoleta
Vindo de outra linguagem? A "mágica" do Python, que simplesmente funciona, não está aqui. Você gerencia ponteiros e memória por conta própria. A primeira subida é puxada, mas depois que você passa por ela, vai ter uma noção muito melhor do que acontece por trás de qualquer outra linguagem.
Linguagens compiladas vs interpretadas
Linguagens de programação geralmente se encaixam em um de dois estilos de execução.
📘 Compilada
Traduzida antes em um executável
Execução: rápida
Exemplos: C, C++, Rust, Go
📗 Interpretada
Traduzida na hora da execução
Mais lenta, mas mais fácil de iterar
Exemplos: Python, JavaScript, Ruby
C é uma linguagem compilada. Você entrega o código-fonte ao compilador uma vez, ele cospe um executável (a.out ou hello.exe), e você executa esse executável.
Analogia da cozinha:
Compilada = traduz a receita inteira para o português de uma vez e depois cozinha a partir da versão em português
Interpretada = um tradutor fica ao seu lado e traduz cada passo conforme você cozinha
O fluxo de build/compilação
Um arquivo .c não executa como está — primeiro precisa ser traduzido, ou seja, compilado.
📝 Código-fonte (hello.c)
⚙ Compilador (traduz)
📦 Executável (hello.exe)
💻 Executa e mostra o resultado
E se ocorrer um erro?
Erro de compilação
A sintaxe está errada — um ponto e vírgula faltando, um parêntese não fechado, esse tipo de coisa.
Erro em tempo de execução
O código roda mas se comporta mal — divisão por zero, laço infinito e por aí vai.
Tente provocar um erro
O código abaixo tem um bug. Corrija e tente executar. (Dica: ponto e vírgula.)