Carregando

do primeiro conceito à prática com confiança

C

Aprenda a linguagem que está por baixo de tudo, um byte de cada vez.

Começar a aprender 20 aulas · primeira aula com cerca de 8 min · grátis · sem cadastro
Sobre esta trilha

C é uma linguagem pequena usada em sistemas operacionais, bancos de dados, dispositivos embarcados e ferramentas em que o desempenho é crítico. Aprendê-la mostra como os dados ficam organizados e como os programas gerenciam a memória. Comece pelo seu primeiro printf e depois pratique controle de fluxo, funções, arrays, ponteiros, arquivos e programas com várias partes. Quebra-cabeças visuais tornam endereços e máscaras de bits concretos. Simule o laço de leitura de um sensor no Arduino e uma fila de eventos no estilo de um driver do Linux, e termine com um relatório de log de sensores. Os exercícios compilam e rodam C17 de verdade no navegador; os exemplos de hardware e de kernel estão claramente marcados para ambientes locais.

Antes de começar
  • Não é preciso ter experiência com programação - começamos do zero.
  • Familiaridade com o uso de um computador e de um navegador.
  • Curiosidade sobre como o software funciona por dentro.
  1. Unidade 1 · 0/2 aulas

    Primeiros passos

    O que é C, e o seu primeiro programa de verdade. Medalha: Compilou!

    1. 0x001O que é C, e por que aprender?De onde veio o C, onde ele roda hoje e como um programa em C vai de texto a algo que o seu computador consegue executar. 8 min 8 min
    2. 0x102O seu primeiro programa: Hello, worldEscreva, compile e rode um programa completo em C, e entenda cada linha dele. 10 min 0/2 exercícios resolvidos 10 min 0/2 exercícios resolvidos
  2. Unidade 2 · 0/3 aulas

    Dados e expressões

    Variáveis, tipos, aritmética e conversa com o usuário. Medalha: Tipagem segura

    1. 0x203Variáveis e tiposGuarde valores em caixas de memória com nome e aprenda por que toda caixa em C tem um tipo e um tamanho. 12 min 0/1 exercícios resolvidos 12 min 0/1 exercícios resolvidos
    2. 0x304Operadores e expressõesFaça contas em C - e conheça as duas surpresas que pegam todo mundo: a divisão inteira e a precedência dos operadores. 12 min 0/2 exercícios resolvidos 12 min 0/2 exercícios resolvidos
    3. 0x405Entrada e saídaFormate a saída com precisão usando o printf e leia o que o usuário digita com o scanf. 12 min 0/2 exercícios resolvidos 12 min 0/2 exercícios resolvidos
  3. Unidade 3 · 0/2 aulas

    Controle de fluxo

    Tome decisões e repita trabalho. Medalha: Rei do laço

    1. 0x506Tomando decisões: if e switchFaça o seu programa escolher o que fazer com if, else, operadores lógicos e switch. 12 min 0/2 exercícios resolvidos 12 min 0/2 exercícios resolvidos
    2. 0x607Laços: while, for, do-whileRepita trabalho com laços, controle-os com break e continue e evite o clássico erro de um a mais ou a menos. 14 min 0/2 exercícios resolvidos 14 min 0/2 exercícios resolvidos
  4. Unidade 4 · 0/2 aulas

    Funções e arrays

    Organize o código em funções e os dados em arrays. Medalha: Bem definido

    1. 0x708FunçõesDivida os programas em pedaços reutilizáveis e com nome - e aprenda por que as funções em C recebem cópias dos seus argumentos. 14 min 0/2 exercícios resolvidos 14 min 0/2 exercícios resolvidos
    2. 0x809Arrays (vetores)Guarde muitos valores do mesmo tipo lado a lado na memória e percorra-os com segurança. 14 min 0/2 exercícios resolvidos 14 min 0/2 exercícios resolvidos
  5. Unidade 5 · 0/3 aulas

    Ponteiros e memória

    Endereços, strings e gerenciamento da memória por conta própria. Medalha: Domador de ponteiros

    1. 0x9010PonteirosA ideia que deixou o C famoso: uma variável que guarda o endereço de outra. Menos assustadora do que a fama. 16 min 0/1 exercícios resolvidos 16 min 0/1 exercícios resolvidos
    2. 0xA011Strings (cadeias de caracteres)O C não tem um tipo string - só arrays de caracteres terminados em zero. Veja como trabalhar com eles com segurança. 15 min 0/2 exercícios resolvidos 15 min 0/2 exercícios resolvidos
    3. 0xB012Memória dinâmica: malloc e freePeça memória em tempo de execução quando você não sabe os tamanhos de antemão - e devolva-a quando terminar. 16 min 0/2 exercícios resolvidos 16 min 0/2 exercícios resolvidos
  6. Unidade 6 · 0/3 aulas

    Construindo programas maiores

    Os seus próprios tipos, arquivos e hábitos profissionais. Medalha: Pensador de sistemas

    1. 0xC013Structs: os seus próprios tiposAgrupe valores relacionados num único tipo com struct, dê um nome a ele com typedef e acesse por ponteiros com ->. 14 min 0/2 exercícios resolvidos 14 min 0/2 exercícios resolvidos
    2. 0xD014Trabalhando com arquivosAbra, leia e escreva arquivos com a API FILE e trate os erros que os arquivos reais jogam em você. 14 min 0/1 exercícios resolvidos 14 min 0/1 exercícios resolvidos
    3. 0xE015Escrevendo C como um profissionalOs hábitos, as ferramentas e os truques que separam o código que funciona hoje do código que continua funcionando. 12 min 0/1 exercícios resolvidos 12 min 0/1 exercícios resolvidos
  7. Unidade 7 · 0/4 aulas

    C no mundo real

    Simule sensores embarcados e filas de drivers, use flags de dispositivos e construa ferramentas de linha de comando. Medalha: Construtor de sistemas

    1. 0xF016Bits e flags em dispositivos reaisUse máscaras sem sinal para ler e mudar configurações individuais de um dispositivo. 22 min 0/1 exercícios resolvidos 22 min 0/1 exercícios resolvidos
    2. 0x10017C embarcado e um sensor no ArduinoLeia um sensor, tome uma decisão e controle um LED num laço de dispositivo simulado. 25 min 0/1 exercícios resolvidos 25 min 0/1 exercícios resolvidos
    3. 0x11018Drivers do Linux e filas de eventosModele como um driver guarda em buffer os eventos que chegam antes que um consumidor os trate. 28 min 0/1 exercícios resolvidos 28 min 0/1 exercícios resolvidos
    4. 0x12019Crie uma ferramenta de linha de comando útilLeia argumentos, relate erros e devolva um status de saída que um script possa usar. 22 min 0/1 exercícios resolvidos 22 min 0/1 exercícios resolvidos
  8. Unidade 8 · 0/1 aulas

    Projeto final

    Construa um relatório de log de sensores, limitado e validado, a partir de um fluxo de leituras. Medalha: Engenheiro de sensores

    1. 0x13020Projeto final: um relatório de log de sensoresConstrua uma pequena ferramenta de streaming que valida as leituras e relata estatísticas úteis. 30 min 0/1 exercícios resolvidos 30 min 0/1 exercícios resolvidos