Escolha o seu idioma
Curso de Programação em C/C++
Mais de 2 milhões de alunos no mundo todo

Curso de Programação em C/C++

Domine C e C++ do zero, cobrindo desde memória bruta e ponteiros até recursos modernos do C++20, padrões de projeto e sistemas concorrentes. Este curso oferece a profundidade técnica que desenvolvedores profissionais e engenheiros de sistemas realmente usam no trabalho. Seja para firmware embarcado, aplicações de alto desempenho ou entrevistas técnicas, você sairá com habilidades reais e prontas para produção.

Dedika para empresas

O que você vai aprender:

Você construirá uma base completa em sintaxe de C e C++, gerenciamento de memória e programação orientada a objetos antes de avançar para templates, a Biblioteca Padrão de Templates e os recursos modernos de C++17/20. O curso aborda estruturas de dados e algoritmos implementados do zero, dando a você as habilidades de resolução de problemas necessárias para entrevistas técnicas e trabalho com sistemas. Você também aprenderá a usar ferramentas padrão da indústria, incluindo CMake, GDB, Google Test e analisadores estáticos. Tópicos de programação embarcada e de nível de sistemas preparam você para desenvolvimento de firmware e baixo nível. Ao final, você estará equipado para projetar, construir e entregar software C++ robusto em ambientes profissionais.

Como você estuda de forma prática Curso de Programação em C/C++

Como você pratica Curso de Programação em C/C++

Para si que é empresa e quer formar a equipa

Na Dedika para empresas, o curso inclui exercícios e exemplos do próprio negócio e adaptados às necessidades da sua empresa.

Clique aqui

Conteúdo do curso

8 Capítulos • 40 AulasDuração entre 4 e 360 horas (você decide)

Capítulo 1Ver detalhes

Ambiente C/C++ e Fundamentos de Sintaxe

  • Aula 1 • Variáveis, Tipos e Literais

    Apresenta tipos de dados primitivos, declaração de variáveis e valores literais. O domínio deste tópico permite a representação correta de dados ao longo do curso.

  • Aula 2 • Fundamentos de Entrada e Saída

    Ensina E/S de console usando printf/scanf em C e cin/cout em C++. Possibilita programas interativos necessários em todos os exercícios práticos.

  • Aula 3 • Operadores e Expressões

    Aborda operadores aritméticos, relacionais, lógicos e bit a bit com regras de precedência. Desenvolve a habilidade de escrever expressões necessária para todo fluxo de controle e algoritmos.

  • Aula 4 • Sintaxe Principal e Estrutura do Programa

    Aborda tokens, instruções, blocos e a anatomia de um arquivo-fonte C/C++. Conecta-se diretamente à escrita de qualquer programa válido em capítulos posteriores.

  • Aula 5 • Configuração do Ambiente de Desenvolvimento

    Instale e configure compiladores, editores e ferramentas de build para C/C++. Fornece a base técnica da qual todos os capítulos subsequentes dependem.

Capítulo 2Ver detalhes

Fluxo de Controle e Funções

  • Aula 1 • Declaração e Definição de Funções

    Apresenta protótipos de funções, definições e mecânica de chamada em C/C++. Estabelece princípios de design modular usados ao longo do curso.

  • Aula 2 • Escopo, Tempo de Vida e Classes de Armazenamento

    Explica variáveis locais, globais e estáticas e seus tempos de vida. Previne bugs comuns relacionados a variáveis não inicializadas ou com escopo incorreto.

  • Aula 3 • Fundamentos de Recursão

    Aborda design de funções recursivas, casos base e comportamento da pilha. Prepara os alunos para algoritmos recursivos e estruturas de dados em capítulos posteriores.

  • Aula 4 • Instruções Condicionais

    Aborda construções if, else-if e switch para tomada de decisão. Habilita diretamente programas orientados por lógica que são expandidos em todos os capítulos subsequentes.

  • Aula 5 • Laços e Iteração

    Ensina laços for, while e do-while juntamente com instruções de controle de laço. A iteração é a espinha dorsal dos algoritmos e do processamento de dados abordados posteriormente.

Capítulo 3Ver detalhes

Arrays, Strings e Ponteiros

  • Aula 1 • Strings no Estilo C e Funções de String

    Ensina arrays de caracteres terminados em nulo e funções padrão da biblioteca de strings. Fornece a base de strings C necessária antes da introdução de std::string do C++.

  • Aula 2 • Alocação Dinâmica de Memória

    Ensina malloc/free em C e new/delete em C++ para gerenciamento de heap. Estabelece a base para estruturas de dados dinâmicas abordadas no próximo capítulo.

  • Aula 3 • Arrays Unidimensionais e Multidimensionais

    Aborda declaração de arrays, inicialização e padrões de acesso a elementos. Arrays sustentam quase todas as estruturas de dados introduzidas posteriormente no curso.

  • Aula 4 • Ponteiros e Funções

    Aborda passagem de ponteiros para funções e retorno seguro de ponteiros. Permite a manipulação eficiente de dados sem cópias desnecessárias.

  • Aula 5 • Fundamentos de Ponteiros e Aritmética de Endereços

    Apresenta declaração de ponteiros, desreferenciação e aritmética de ponteiros. Ponteiros são centrais para a memória dinâmica e programação de baixo nível em capítulos posteriores.

Capítulo 4Ver detalhes

Estruturas, Uniões e Enumerações

  • Aula 1 • Enumerações e Aliases de Tipo

    Aborda enums C, enum class C++ e declarações typedef/using. Melhora a clareza do código e a segurança de tipos em todos os projetos subsequentes.

  • Aula 2 • Campos de Bit e Dados Compactados

    Apresenta membros struct de campo de bit para representação compacta de dados. Relevante para análise de protocolos e mapeamento de registradores de hardware em tópicos avançados.

  • Aula 3 • Ponteiros para Estruturas

    Ensina acesso a structs baseado em ponteiros e alocação dinâmica de structs. Possibilita estruturas de dados encadeadas construídas no capítulo de algoritmos.

  • Aula 4 • Uniões e Compartilhamento de Memória

    Explica a semântica de unions, sobreposição de armazenamento e casos de uso válidos. Fornece insight de memória de baixo nível relevante para programação embarcada e de sistemas.

  • Aula 5 • Definição e Uso de Estruturas

    Aborda declaração de struct, acesso a membros e structs aninhadas. Estruturas são a precursora direta das classes C++ introduzidas no próximo capítulo.

Capítulo 5Ver detalhes

Programação Orientada a Objetos em C++

  • Aula 1 • Polimorfismo e Funções Virtuais

    Apresenta funções virtuais, funções virtuais puras e classes abstratas. Permite padrões de despacho em tempo de execução centrais para o design de software extensível.

  • Aula 2 • Herança e Hierarquias de Classes

    Aborda herança simples e múltipla, acesso a classe base e encadeamento de construtores. Desenvolve as habilidades de design de hierarquia necessárias para o polimorfismo.

  • Aula 3 • Encapsulamento e Princípios de Design

    Aplica princípios SOLID e estratégias de encapsulamento ao design de classes. Prepara os alunos para escrever código C++ de fácil manutenção e testável em capítulos avançados.

  • Aula 4 • Sobrecarga de Operadores

    Ensina sobrecarga de operadores aritméticos, de comparação e de fluxo para tipos personalizados. Possibilita sintaxe intuitiva para classes definidas pelo usuário usadas em projetos posteriores.

  • Aula 5 • Classes e Objetos

    Aborda declaração de classes, especificadores de acesso e instanciação de objetos. Estabelece o modelo de classe que todos os recursos de POO neste capítulo estendem.

Capítulo 6Ver detalhes

Templates, STL e Programação Genérica

  • Aula 1 • Algoritmos STL

    Aborda sort, find, transform, accumulate e outros algoritmos padrão. A aplicação de algoritmos STL substitui laços manuais propensos a erros em código de produção.

  • Aula 2 • Templates de Função e Classe

    Aborda sintaxe de templates, parâmetros de tipo e instanciação de templates. Funções e classes genéricas reduzem a duplicação de código em todos os projetos futuros.

  • Aula 3 • Contêineres STL

    Apresenta vector, list, deque, map, set e variantes não ordenadas. Escolher o container certo é crítico para o desempenho no design de algoritmos.

  • Aula 4 • Expressões Lambda e Functors

    Apresenta sintaxe lambda, capturas e objetos functor para uso com STL. Permite a personalização concisa e expressiva de algoritmos em C++ moderno.

  • Aula 5 • Iteradores e Ranges

    Ensina categorias de iteradores, aritmética de iteradores e laços for baseados em range. Iteradores são a interface universal entre contêineres e algoritmos.

Capítulo 7Ver detalhes

Gerenciamento de Memória e Segurança de Recursos

  • Aula 1 • Tratamento de Exceções e Segurança

    Aborda try/catch/throw, hierarquias de exceção e garantias de segurança de exceções. O tratamento robusto de erros previne vazamentos de recursos sob condições excepcionais.

  • Aula 2 • RAII e Propriedade de Recursos

    Explica o idiom RAII e como construtores/destrutores garantem a segurança de recursos. RAII é a base de todo gerenciamento seguro de recursos em C++ moderno.

  • Aula 3 • Smart Pointers em Profundidade

    Aborda semântica e padrões de uso de unique_ptr, shared_ptr e weak_ptr. Smart pointers eliminam chamadas manuais a delete e previnem erros de propriedade.

  • Aula 4 • Semântica de Cópia e Movimento

    Ensina construtores de cópia, atribuição de cópia, construtores de movimento e atribuição de movimento. A Regra dos Cinco rege o design correto de classes que possuem recursos.

  • Aula 5 • Depuração e Perfilamento de Memória

    Apresenta ferramentas para detectar vazamentos, acessos inválidos e corrupção de heap. Habilidades de perfilamento são essenciais para manter código C++ de qualidade de produção.

Capítulo 8Ver detalhes

E/S de Arquivos, Concorrência e Programação de Sistemas

  • Aula 1 • Multithreading com std::thread

    Ensina criação, junção e desanexação de threads usando a biblioteca de threads do C++11. Fundamentos de concorrência permitem o design de programas paralelos neste capítulo.

  • Aula 2 • Interfaces de Processo e Sistema

    Apresenta criação de processos, variáveis de ambiente e chamadas de sistema. Fornece o contexto de nível de SO necessário para escrever programas C em nível de sistema.

  • Aula 3 • Fundamentos de Redes e Sockets

    Apresenta a API de sockets BSD para comunicação TCP/UDP em C/C++. Habilidades de rede estendem aplicações C/C++ a contextos distribuídos e cliente-servidor.

  • Aula 4 • Sincronização e Condições de Corrida

    Aborda mutexes, variáveis de condição e operações atômicas para prevenir condições de corrida. A sincronização segura é obrigatória para programas concorrentes corretos.

  • Aula 5 • E/S de Arquivos em C e C++

    Aborda fopen/fclose em C e fstream em C++ para leitura e escrita de arquivos. E/S de arquivos é necessária para a persistência de dados em todos os projetos de conclusão.

Certificação

Seu certificado válido de conclusão

Este curso é para si:

  • Estudantes de ciência da computação: buscando profundidade prática além do que as salas de aula normalmente oferecem.

  • Desenvolvedores Python ou JavaScript: prontos para entender o que acontece abaixo da camada de abstração.

  • Engenheiros elétricos: precisando de habilidades em C para escrever e manter firmware em projetos de hardware.

  • Pessoas em transição de carreira: visando cargos de sistemas ou embarcados que exigem fluência em programação de baixo nível.

  • Desenvolvedores de jogos: querendo otimizar código crítico de desempenho escrito em C ou C++.

  • Programadores autodidatas: construindo a base rigorosa que linguagens estruturadas como C exigem.

O que os nossos alunos dizem

As vossas aulas são perfeitas. Adquiri o pacote de um ano e, finalmente, tenho a oportunidade de acompanhar diversos temas do meu interesse sem precisar mudar de plataforma... agradeço por tudo o que fazem, já vos recomendei a outras pessoas...
Giulio Carlo
Giulio CarloAluno de Marketing Digital
Gosto de como as lições são directas ao assunto e como consigo alterar capítulos e saltar conteúdos que não preciso.
Mariana Ferres
Mariana FerresAluna de Fotografia
Gosto do conteúdo e do modo de apresentação e transcrição de vídeos, o que acelera o processo!
Luciana Alvarenga
Luciana AlvarengaAluna de Design de Unhas
A plataforma é rápida, simples de usar. A diversidade de conteúdo e os vídeos complementares ajudam muito na aprendizagem.
André Felipe
André FelipeAluno de Engenharia de Prompt

Principais capacitações

FAQ

Quem é a Dedika?

O certificado é válido em Brasil?

Os cursos são gratuitos?

Qual é a carga horária do curso?

Como são os cursos?

Como funcionam os cursos?

Qual é a duração dos cursos?

Qual é o custo ou preço dos cursos?

O que é um curso EAD ou online e como funciona?

Curso em PDF