PopularJornada
Aprenda programação em C
Aprenda programação em C do zero com um curso online grátis e interativo. Domine variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos com desafios práticos, projetos reais, dicas de IA e um certificado ao concluir.
114,799+ codders inscritos
Esta jornada inclui
Ajuda de codificação com IA
Lições interativas e práticas
Narração em áudio em todas as lições
Questionários para testar seu conhecimento
Certificado grátis de conclusão
Programa
3 seções187 lições163 desafios1,042 perguntas de quiz01Seção 1
Fundamentals
Build a strong foundation with essential concepts and basic skillsCOMEÇAR A APRENDERIntrodução
4 lições326- 01Linguagem CDesafio
- 02Olá Mundo!DesafioQuizÁudio
- 03ComentáriosQuizÁudio
- 04Estrutura Básica de um ProgramaDesafioQuizÁudio
Variáveis
11 lições1485- 01Tipos de DadosDesafioQuizÁudio
- 02InteiroDesafioQuizÁudio
- 03Float - DoubleDesafioMaestriaQuizÁudio
- 04CaracteresDesafioQuizÁudio
- 05BooleanosDesafioMaestriaQuizÁudio
- 06ConstantesDesafioQuizÁudio
- 07Fundamentos do printfDesafioQuizÁudio
- 08Regras de Nomenclatura de VariáveisDesafioQuizÁudio
- 09Conversão de Tipos Parte 1DesafioMaestriaQuizÁudio
- 10Conversão de Tipos Parte 2DesafioQuizÁudio
- 11Desafio de RecapitulaçãoDesafio
Operadores
9 lições1161- 01Operadores AritméticosDesafioQuizÁudio
- 02Operador de MóduloDesafioMaestriaQuizÁudio
- 03Incremento/DecrementoDesafioQuizÁudio
- 04Operadores de AtribuiçãoDesafioQuizÁudio
- 05Operadores RelacionaisDesafioQuizÁudio
- 06Operadores Lógicos Parte 1DesafioQuizÁudio
- 07Operadores Lógicos Parte 2DesafioQuizÁudio
- 08Operadores Lógicos Parte 3DesafioMaestriaQuizÁudio
- 09Desafio de RecapitulaçãoDesafio
Fluxo de Controle
7 lições944- 01Instrução IfDesafioQuizÁudio
- 02If - ElseDesafioQuizÁudio
- 03Else-IfDesafioMaestriaQuizÁudio
- 04Switch CaseDesafioMaestriaQuizÁudio
- 05Operador Condicional TernárioDesafioQuizÁudio
- 06Desafio de RevisãoDesafio
- 07If - Else AninhadoDesafioQuizÁudio
Entrada e Saída
5 lições626- 01Especificadores de FormatoDesafioQuizÁudio
- 02Fundamentos do scanfDesafioMaestriaQuizÁudio
- 03Desafio de Revisão nº 1Desafio
- 04Validação de EntradaDesafioQuizÁudio
- 05Desafio de Revisão nº 2Desafio
Loops
9 lições1053- 01Loop ForDesafioMaestriaQuizÁudio
- 02Loop WhileDesafioQuizÁudio
- 03Loop Do WhileDesafioQuizÁudio
- 04BreakDesafioQuizÁudio
- 05ContinueDesafioQuizÁudio
- 06Desafio de Revisão #1Desafio
- 07Loops AninhadosDesafioMaestriaQuizÁudio
- 08Loops InfinitosQuizÁudio
- 09Desafio de Revisão #2Desafio
Funções
7 lições1039- 01Declarar uma FunçãoDesafioQuizÁudio
- 02Tipos de RetornoDesafioMaestriaQuizÁudio
- 03ParâmetrosDesafioMaestriaQuizÁudio
- 04Desafio de Recapitulação nº 1Desafio
- 05Fundamentos da RecursãoDesafioMaestriaQuizÁudio
- 06Protótipos de FunçãoDesafioQuizÁudio
- 07Desafio de Recapitulação nº 2Desafio
Arrays
8 lições1247- 01Declarando ArraysDesafioQuizÁudio
- 02Acessando ElementosDesafioQuizÁudio
- 03Modificando ElementosDesafioMaestriaQuizÁudio
- 04Arrays MultidimensionaisDesafioMaestriaQuizÁudio
- 05Desafio de Revisão nº 1Desafio
- 06Arrays como Argumentos de FunçãoDesafioMaestriaQuizÁudio
- 07Algoritmos de ArrayDesafioMaestriaQuizÁudio
- 08Desafio de Revisão nº 2Desafio
Desafios Finais
3 lições3- 01NotasDesafio
- 02PicosDesafio
- 03TVDesafio
02Seção 2
Logic & Flow
Master advanced C programming with a focus on data structures and flow control. Learn to work with complex arrays, collections, error handling, and time management.COMEÇAR A APRENDERFundamentos de Ponteiros
6 lições540- 01O que é um Ponteiro?Quiz
- 02Declarando PonteirosDesafioQuiz
- 03O Operador de Endereço (&)DesafioQuiz
- 04O Operador de Desreferência (*)DesafioQuiz
- 05Ponteiros NULLDesafioQuiz
- 06Recapitulação: Fundamentos de PonteirosDesafio
Ponteiros e Arrays
5 lições531- 01Nomes de Arrays como PonteirosDesafioQuiz
- 02Elementos de Array - PonteirosDesafioQuiz
- 03Aritmética de PonteirosDesafioQuiz
- 04Comparando PonteirosDesafioQuiz
- 05Recapitulação: Percorrendo Arrays com PonteirosDesafio
Arrays de Caracteres e Strings
8 lições858- 01Strings como Arrays de charDesafioQuiz
- 02O Terminador NuloDesafioQuiz
- 03Entrada de Strings com scanfDesafioQuiz
- 04Usando strlen()DesafioQuiz
- 05Usando strcpy()DesafioQuiz
- 06Usando strcat()DesafioQuiz
- 07Usando strcmp()DesafioQuiz
- 08Recapitulação: Funções Básicas de StringsDesafio
Projeto: Utilitário de Texto Simples
Projeto5 lições1- 01Visão Geral do ProjetoDesafio
- 02Contando CaracteresProjeto
- 03Contando VogaisProjeto
- 04Converter para MaiúsculasProjeto
- 05Saída FinalProjeto
Ponteiros e Funções
6 lições641- 01Passagem por ValorDesafioQuiz
- 02Passando Ponteiros para FunçõesDesafioQuiz
- 03Modificando Variáveis via PonteirosDesafioQuiz
- 04Um Exemplo Clássico: SwapDesafioQuiz
- 05Passando Arrays para FunçõesDesafioQuiz
- 06Recapitulação: Ponteiros como ArgumentosDesafio
Gerenciamento de Memória
7 lições652- 01Memória Stack vs. HeapQuiz
- 02Alocação Dinâmica - malloc()DesafioQuiz
- 03Usando sizeof() para AlocaçãoDesafioQuiz
- 04Verificando Falhas de AlocaçãoDesafioQuiz
- 05Liberando Memória com free()DesafioQuiz
- 06Alocando com calloc()DesafioQuiz
- 07Recapitulação: Array DinâmicoDesafio
Estruturas (structs)
6 lições540- 01O que é uma Struct?Quiz
- 02Declarando uma StructDesafioQuiz
- 03Criando Variáveis de StructDesafioQuiz
- 04Acessando Membros de uma StructDesafioQuiz
- 05Inicializando StructsDesafioQuiz
- 06Recapitulação: Struct de Dados de AlunoDesafio
Structs e Ponteiros
6 lições643- 01Ponteiros para StructsDesafioQuiz
- 02O Operador Seta (->)DesafioQuiz
- 03Passagem de Structs por ValorDesafioQuiz
- 04Passagem de Ponteiros para StructsDesafioQuiz
- 05Alocação Dinâmica de StructsDesafioQuiz
- 06Recapitulação: Modificando Struct - PtrDesafio
Projeto: Cadastro Simples de Contatos
Projeto5 lições1- 01Projeto: Definir a Struct de ContatoDesafio
- 02Função para Criar um ContatoProjeto
- 03Função para Preencher um ContatoProjeto
- 04Função para Exibir um ContatoProjeto
- 05Juntando TudoProjeto
Enums e Typedef
6 lições640- 01enum para Constantes NomeadasDesafioQuiz
- 02Declarando e Usando EnumsDesafioQuiz
- 03Enums em Instruções SwitchDesafioQuiz
- 04Usando typedef para Aliases de TipoDesafioQuiz
- 05typedef com StructsDesafioQuiz
- 06Recapitulação: Prática de Typedef e EnumDesafio
Desafios de Revisão Final
3 lições3- 01Revisão: Concatenação Dinâmica de StringsDesafio
- 02Revisão: Array de StructsDesafio
- 03Revisão: Contador de Frequência de PalavrasDesafio
03Seção 3
Object Oriented Programming
Discover how to organize code with classes, objects, and reusable structuresCOMEÇAR A APRENDERFundamentos da Programação Modular
5 lições433- 01Arquivos de CabeçalhoQuiz
- 02Include GuardsDesafioQuiz
- 03Arquivos-FonteDesafioQuiz
- 04Funções EstáticasDesafioQuiz
- 05Recapitulação: Calculadora ModularDesafio
Objetos e Métodos
6 lições642- 01Structs como ObjetosDesafioQuiz
- 02O Ponteiro 'Self'DesafioQuiz
- 03Const CorrectnessDesafioQuiz
- 04Ponteiro vs ValorDesafioQuiz
- 05Métodos AuxiliaresDesafioQuiz
- 06Recapitulação: Point ManagerDesafio
Ciclo de Vida de Objetos
5 lições533- 01Padrão de ConstrutorDesafioQuiz
- 02Padrão de DestrutorDesafioQuiz
- 03Inicialização na StackDesafioQuiz
- 04Cópia ProfundaDesafioQuiz
- 05Recapitulação: String WrapperDesafio
Encapsulamento
5 lições435- 01Conceito de Ponteiros OpacosQuiz
- 02Definindo Structs OpacasDesafioQuiz
- 03Getters e SettersDesafioQuiz
- 04Validação em SettersDesafioQuiz
- 05Recapitulação: Caixa SecretaDesafio
Projeto: Conta Bancária Simples
Projeto6 lições1- 01Configuração do ProjetoDesafio
- 02Implementação da ContaProjeto
- 03Lógica de DepósitoProjeto
- 04Lógica de SaqueProjeto
- 05Consultar SaldoProjeto
- 06Finalização do Projeto: Loop PrincipalProjeto
Herança via Composição
5 lições531- 01Incorporação de StructsDesafioQuiz
- 02A Regra do Primeiro MembroDesafioQuiz
- 03Acessando Membros PaiDesafioQuiz
- 04UpcastingDesafioQuiz
- 05Recapitulação: Hierarquia de FormasDesafio
Ponteiros para Funções
5 lições534- 01Declarando Ponteiros para FunçõesDesafioQuiz
- 02Chamando Ponteiros para FunçõesDesafioQuiz
- 03Typedef para Ponteiros para FunçõesDesafioQuiz
- 04Passando Funções como ArgumentosDesafioQuiz
- 05Recapitulação: Dispatch de CalculadoraDesafio
Polimorfismo
6 lições641- 01Ponteiros de Função em StructsDesafioQuiz
- 02Simulando MétodosDesafioQuiz
- 03O Conceito de InterfaceDesafioQuiz
- 04Implementando InterfacesDesafioQuiz
- 05Iteração PolimórficaDesafioQuiz
- 06Recapitulação: GreeterDesafio
Projeto: Desenhador de Formas
Projeto5 lições1- 01Visão Geral do ProjetoDesafio
- 02Implementação do CírculoProjeto
- 03Implementação do RetânguloProjeto
- 04Uso PolimórficoProjeto
- 05Container de FormasProjeto
Contêineres Genéricos
5 lições534- 01Revisão de Ponteiros VoidDesafioQuiz
- 02Wrapper GenéricoDesafioQuiz
- 03Troca GenéricaDesafioQuiz
- 04Comparação GenéricaDesafioQuiz
- 05Revisão: Array GenéricoDesafio
Padrões de Projeto em C
4 lições425- 01Padrão SingletonDesafioQuiz
- 02Padrão FactoryDesafioQuiz
- 03Padrão IteratorDesafioQuiz
- 04Recapitulação: Logger FactoryDesafio
Desafios Finais
4 lições48- 01Personagem de RPGDesafio
- 02Construtor de Strings DinâmicoDesafio
- 03Pilha GenéricaDesafio
- 04Sistema de EventosDesafioQuiz
Por que aprender programação em C com a Coddy
- Curso de programação em C online e grátis: sem instalação, sem configurar ferramentas e sem barreiras para começar. Abra o navegador e pratique desde a primeira aula.
- Aulas práticas de programação em C que vão além de um tutorial: cada conceito vem com um desafio para escrever código real e aprender fazendo.
- As dicas de IA ajudam quando você trava em um exercício de programação em C, mostrando o próximo passo sem entregar a resposta completa.
- Certificado grátis de conclusão para compartilhar no LinkedIn ou adicionar ao currículo como prova de que você completou um curso interativo de programação em C.
Perguntas frequentes sobre aprender programação em C
programação em C é fácil de aprender?
Sim, você pode começar com programação em C mesmo sem experiência. A Coddy divide os conceitos em exercícios curtos para você entender a sintaxe, praticar variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos e ganhar confiança aos poucos.
Quanto tempo leva para aprender programação em C?
Os fundamentos de programação em C geralmente podem ser aprendidos em uma ou duas semanas de prática diária. Para criar projetos reais com segurança, reserve de um a três meses, dependendo do seu ritmo.
Onde posso aprender programação em C online grátis?
A Coddy oferece um curso online grátis de programação em C com aulas, desafios de código, quizzes e projetos. Não é preciso instalar nada: tudo funciona no navegador.
Como aprender programação em C rápido?
A forma mais rápida é praticar todos os dias. Na Coddy você alterna explicação curta, exercício imediato e feedback com dicas de IA, passando mais tempo escrevendo programação em C do que assistindo a vídeos longos.
Recebo um certificado de programação em C ao terminar?
Sim. Ao concluir o curso de programação em C na Coddy, você recebe um certificado grátis de conclusão para compartilhar no LinkedIn ou incluir no currículo.
O que posso criar depois de aprender programação em C?
Depois do curso, você poderá criar scripts úteis, pequenos apps, automações, jogos simples e projetos para mostrar no portfólio. Também terá uma base sólida para avançar para tópicos mais profissionais.