Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Aprendendo Programação do Zero ao Código com a Linguagem C
Rating: 4.8 out of 5(228 ratings)
980 students

Aprendendo Programação do Zero ao Código com a Linguagem C

Domine programação com C: conceitos essenciais que todo iniciante/programador precisa para entender Python, Java e mais.
Last updated 6/2026
Portuguese

What you'll learn

  • Computador: Hardware e Software
  • Sistema Operacional
  • Linguagem de Programação: Conceitos, Tipos e História da Linguagem C
  • IDE: Windows, Linux, macOS
  • Codificação de Acentuação
  • Abstração na Computação
  • Lógica e Algoritmos
  • Função printf: Especificadores de formato e caracteres de escape
  • Delay: Funções Sleep, sleep, usleep
  • Compilação e Linkedição: Compilador vs. Interpretador
  • Linguagens Programação: Compiladas e Interpretadas
  • Tipos de Dados: int, short, long, float, double, bool, char, string
  • Variáveis: Declaração, inicialização, atribuição, alteração
  • Constantes
  • Nomenclatura de Variáveis: snake_case, camelCase, PascalCase
  • Tipagem de Linguagens Programaçao: Estática/Dinâmica e Forte/Fraca
  • Coerção e Cast
  • Unidades de Dados: Bit, Byte, Binário, Octal, Hexadecimal
  • Operador sizeof
  • Tabela ASCII
  • Funções getchar() e putchar()
  • Diretiva #define
  • LVALUE e RVALUE
  • Funções: Motivação, Criação, Protótipos, Escopo, return
  • Debug: Modo Debug e Modo Release
  • Função scanf: Entrada de dados, leitura múltiplas variáveis e texto com espaço
  • Funções fflush(stdin) e setbuffer()
  • Operadores: Aritméticos, relacionais, lógicos, incremento/decremento, ternário
  • Precedência de Operadores
  • Biblioteca math.h: sqrt(), pow(), etc.
  • Estrutura decisão condicional if (se)
  • Estrutura de decisão condicional else (senão)
  • Indentação
  • Instruções if-else encadeadas (aninhadas)
  • Sentenças Lógicas && || ! bool true false com If e else
  • Operador "!" (NOT) e "!=" (NOT Equal) com if e else
  • Exercícios if e else propostos e resolvidos
  • Comando switch-case
  • break e default
  • switch-case com if e else
  • Expressões lógicas booleanas no switch
  • Compilador GCC MinGW 64bits Windows
  • Visual Studio Code no Windows
  • Visual Studio Code para Linux
  • Visual Studio Code para macOS
  • GCC, GDB, GNU, Unix-Like
  • Code Snippets no VS Code
  • Estruturas de Repetição (Loops)
  • Comando de Loop while
  • Contadores e Acumuladores em loops.
  • Comando de Loop for
  • Exercícios resolvidos loop for
  • Loops for Aninhados
  • Loop for com Múltiplas Variáveis de Controle do loop
  • Loop do-while
  • Converção Loop while para for e for para while
  • Loops com break e continue
  • Loops Infinitos
  • Code Snippet limpar tela: cls (Windows) ou clear (Linux e macOS)
  • Comando goto e os Perigos da Programação "Espaguete"
  • Exercícios Desafios sobre Loops
  • Vetores (Arrays Unidimensionais)
  • Vetores: Declaração/Inicialização
  • Vetores: Exercícios (Declaração de Arrays)
  • Manipulando Índices de Arrays
  • Percorrendo Vetores com for, while ou do...while para ler todos os elementos do Array.
  • Exercícios Percorrendo Vetores
  • Recendo Entrada de dados nos Vetores do usuário com scanf()
  • Strings com scanf()
  • Exercícios Vetores com scanf()
  • Calculando tamanho de vetores e número de elementos com sizeof
  • Aprofundando conceito de strings em C
  • Strings: exercícios, prática, manipulação, operações
  • Lendo strings com espaço com scanf(): leitura, escrita, entrada, buffer
  • Strings: funções gets() e fgets()
  • Strings: funções: printf(), puts()
  • Ataque de Buffer overflow e como evitar (scanf, fgets, strncpy(), strncat)
  • Strings: funções strlen(), strcpy() - Tamanho e Cópia
  • Strings: strcat(), strcmp(), concatenação, comparação
  • Exercicios Strings
  • Exercício Desafio: contagem, de letras, números, espaços e símbolos de uma frase

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

14 sections183 lectures25h 39m total length
  • Bem-vindo e Bem-Vinda ao Curso - Informações Importantes do Curso!1:52
  • O que você irá aprender nesta seção?1:13

    Nesta aula irei mostrar para você, quais conceitos você irá aprender, descrevendo e destacando os pontos chaves das aulas que você irá assistir e dos testes que irá fazer.

  • Bem-Vindo e Bem-Vinda ao curso de Programação do Zero com a Linguagem C3:38
  • Navegando Conteúdo, Ajustando Velocidade / Resolução Vídeo e Fazendo Anotações4:25
  • IMPORTANTE: Como colocar sua dúvidas e solicitar ajuda? como enviar imagens?2:31
  • Recado Importante para você!0:54

    Link para acessar meu linkedin:

    https://www.linkedin.com/in/professor-marcos-pacheco/

    Copie e coloque em seu navegador este endereço acima

  • MUITO IMPORTANTE: Formatando o texto do seu código <> em formato de código-fonte3:16
  • Breve recado sobre as avaliações do Curso na Udemy0:50
  • Guia prático para enviar códigos, erros de compilação e receber ajuda3:04

Requirements

  • Computador e Internet: Os alunos precisarão de acesso a um computador com conexão à internet para acessar o conteúdo do curso e realizar as atividades práticas de programação
  • Sistemas Operacionais: Embora o curso aborde a instalação e programação em diferentes sistemas operacionais, como Windows, Linux e macOS, não é necessário ter experiência prévia com todos eles. O curso fornecerá orientações passo a passo para configurar o ambiente de programação em cada sistema operacional
  • Motivação e Disposição para Aprender: Um dos pré-requisitos mais importantes é a disposição para aprender e a motivação para acompanhar o curso até o fim. A programação pode ser desafiadora, mas com dedicação e prática, você pode dominar os conceitos apresentados.
  • Tempo Disponível: Reserve um tempo regular em sua agenda para estudar e praticar os conceitos apresentados no curso. A consistência é fundamental para o aprendizado eficaz da programação

Description

Garantia de 30 dias da Udemy. Invista no seu futuro sem risco!

Novidade deste curso: Agora utilizando também o Visual Studio Code (no Windows, Linux e macOS)

Aprenda com mãe das linguagens de programação com profundidade conceitos, centenas exercícios, slides e códigos github!

A linguagem C é muitas vezes considerada o "pai" de muitas outras linguagens de programação, como C++, Java e Python

Você sente que todos falam de programação, mas voc:ê não sabe por onde começar? Este curso não é "apenas mais um".

É um método completo e didático que te guia do absoluto zero, explicando o que é um computador, até você escrever seus próprios programas em C, a linguagem que é a mãe de todas as outras. Com slides, exercícios, códigos no GitHub e suporte, nós vamos descomplicar a programação para você.

CONSTRUA ALICERCES INQUEBRÁVEIS. Aprenda a pensar como um programador ou programadora.

O QUE VOCÊ VAI DOMINAR PASSO A PASSO:

  • Fundamentos Reais: Entenda de verdade o que é hardware, software, sistema operacional e uma linguagem de programação. Nada de pular etapas!

  • Configuração Universal: Instale e configure seu ambiente (Windows, Linux ou macOS) como um profissional, usando IDEs e o terminal.

  • Lógica de Programação: Aprenda a arte de criar algoritmos e pense como um programador, antes mesmo de escrever uma linha de código.

  • Domínio da Linguagem C: Mergulhe em variáveis, tipos de dados, operadores, funções, vetores, strings e estruturas de controle (if, switch, while, for, loops,arrays, strings) com profundidade.

  • Debugging & Boas Práticas: Aprenda a debugar seu código, entender modos Release/Debug e evitar erros comuns de iniciante.

  • Centenas de Exercícios: Fixe cada conceito com exercícios práticos, propostos e resolvidos, desde os mais simples até desafios reais.

NÃO DECORE CÓDIGO. COMPREENDA OS CONCEITOS POR TRÁS DELE.

PARA QUEM É ESTE CURSO?
Para iniciantes absolutos que querem começar do jeito certo, com uma base sólida e sem vícios. É o primeiro e mais importante passo para qualquer carreira em tecnologia, seja em games, dados, web ou sistemas.

Pare de adiar seu sonho. A programação é para você
Com suporte para tirar todas as suas dúvidas ao longo da jornada!

Oi Tudo bem com você?

Eu sou o Professor Marcos Pacheco, mestre em sistemas e computação e vou te guiar e te apoiar durante todo este curso!

Este curso vai fundo nos detalhes. Você aprenderá a escrever código de alta qualidade e se tornará um excelente solucionador  ou solucionadora de problemas. Além de ensinar a codificar usando a linguagem de programação C como ferramenta de aprendizado, o curso explica minuciosamente o "porquê" por trás de cada ação.

Aprenda a programar com explicações claras, prática guiada, exercícios e suporte durante todo o curso, com um professor experiente, Mestre em Computação e com vivência real no ensino de programação, tanto em sala de aula quanto no ensino a distância.

Por que fazer este curso?

Este curso foi criado com um objetivo claro:

  • Reduzir ao máximo os obstáculos para quem acha difícil aprender a programar.

  • Fornecer explicações claras e detalhadas dos conceitos-chave da programação.

  • Ensinar apenas os conceitos que realmente importam para você aprender a programar.

  • Oferecer muitos exercícios práticos, todos explicados e resolvidos, com código disponível para você analisar e baixar.

  • Incluir dezenas de testes para você responder e consolidar seu conhecimento.

Mas por que a Linguagem C?

A Linguagem C é a base de muitas outras linguagens de programação. Sua sintaxe e comandos influenciaram diversas linguagens modernas, tornando-a fundamental para entender a programação.

O fato é que aprender a programar em C não é apenas uma excelente maneira de começar, mas também tornará você um melhor programador em outras linguagens de programação!

Talvez você tenha alguma experiência com outras linguagens de programação, mas quer aprender C. É uma ótima linguagem para adicionar ao seu currículo!

Por que aprender programação utilizando a linguagem C?

C é frequentemente considerada a mãe de todas as linguagens porque muitas outras linguagens foram baseadas nela.

Embora C seja simples, é uma das linguagens mais poderosas já criadas. Considerando que foi criada há mais de 40 anos, ainda é amplamente utilizada e geralmente está entre as 5 ou 10 linguagens de programação mais populares e amplamente usadas no mundo.

Aprender a programar usando C como ferramenta, pode realmente tornar você um melhor programador em outras linguagens, como C++, Java, ou C#, etc, equipando você com um modelo mental do que o computador está realmente fazendo quando você executa seus programas.

Ao aprender como as coisas realmente funcionam "por baixo dos panos" e entender o espaço de memória, a arquitetura da CPU e assim por diante, você com isso, vai poder criar programas mais eficientes e obter uma grande vantagem sobre outros programadores e programadoras no processo.

Se você quer se tornar um desenvolvedor melhor, aprender C é uma ótima maneira de começar!


Confira o que alguns alunos e alunas disseram sobre a experiência de aprender comigo neste curso:

"Excelente didatica, em minha humilde opinião, um dos melhores professores disponiveis da udemy, pode comprar sem medo, não terminei o curso ainda, mas o proximo será de C++ do professor marcos concerteza." - João Marcio

"Curso incrível! O aprendizado em linguagem C é a portal de entrada para aprender programação. Amei valeu apena adquirir este curso." Rogerio Almeida

Curso excelente! Muita prática e conceitos bem bacanas de programação. Finalmente aprendi a programar e agora posso avançar. Adorei este curso! Recomendo este e vou fazer agora o curso de C++ do mesmo professor, ele ensina muito bem. Didática sensacional. Parabéns! - Carlos Teixeira

"Excelente didática. Recomendo fortemente a todos" - Francisco Marcelo de Barros Maciel

"Didática sensacional. Excelente conteúdo!" - Vítor Almeida Subhi


E como você irá aprender?

  • Como acessar o conteúdo das aulas do curso, ajustar velocidade de execução, a resolução e fazer anotações.

  • Como criar perguntas e solicitar ajuda para suas dúvidas, inserindo imagens e codigos formatados.

  • O que são Hardware e Software?

  • O que é um Computador?

  • O que é um Sistema Operacional?

  • O que é uma Linguagem de Programação?

  • O que é uma IDE?

  • Como instalar e configurar uma IDE no Windows, Linux e macOS.

  • A criar se primeiro programa em Linguagem de Programação C.

  • A compilar e executar programa em C utilizando uma IDE no Windows, Linux, macOS.

  • A compilar e executar programa em C via terminal no Windows, Linux, macOS.

  • A compilar e executar programa em C utilizando um compilador on-line via internet.

  • A Habilitar na tela texto com acentuação.

  • O importante conceito de abstração na computação.

  • O que é lógica de programação e algoritmo.

  • História, popularidade e importância da Linguagem de Programação C.

  • Caracteres de escape \n \t \' \\.

  • Saída de dados na tela com a função printf.

  • Gerar atrasos (Delay) com funções Sleep, sleep e usleep no Windows, Linux e macOS.

  • Processo de Compilação, Linkedição até a geração do código executável.

  • Diferenças entre compilador e interpretador.

  • O que são Linguagens compiladas e interpretadas.

  • Tipos de dados inteiros: int, short e long

  • Tipos de dados decimal ou ponto flutuante: float e double.

  • Tipo de dados booleanos: _Bool e bool.

  • Tipo de dados caractere ou letra: char.

  • Tipo de dados texto: string (cadeias de caracteres).

  • O que são variáveis?

  • Como declarar uma variável.

  • Padrões de nomenclatura de variáveis: snake_case, camelCase e PascalCase

  • Iniciar, atribuir e alterar valores de variáveis.

  • Exibir valores das variáveis na tela com a função printf e especificadores de formato %d %f %lf %c %s

  • O que são linguagens de programação estaticamente e dinamicamente Tipadas

  • O que são linguagens de programação fortemente e fracamente tipadas

  • O que é uma conversão de tipos de dados implícita ou Coerção e um conversão explicita ou cast

  • Conceitos de Bit, Byte, Binário, Octal e Hexadecimal

  • O operador sizeof

  • Tabela ASCII

  • As funções getchar() e putchar()

  • Exemplos de aplicação de tipo de dados booleanos em condicionais e loops.

  • Diretiva de pré-processamento #define para iniciar variáveis tipo bool

  • Diretiva #define para definir constantes booleanas.

  • Constantes: conceitos, declaração e utilização

  • Atribuindo um valor de uma variável a outra variável

  • Conceitos de LVALUE e RVALUE

  • Funções: motivação, razões e benefícios de utilizar funções em programação.

  • Todas as partes que compõem uma função: assinatura, cabeçalho, corpo e retorno.

  • Criação de funções passo a passo.

  • Declaração versus definição(Implementação) de uma função

  • Declaração Antecipada (Protótipos das funções)

  • O comando return para retornar valores de uma função.

  • Escopo e ciclo de vida de variáveis locais de uma função

  • O que é debug e como debugar seu código no Code::Blocks

  • Diferenças entre Modo Debug e Modo Release

  • Modos de compilação debug e release: Diferença nas otimizações, tratamento de erros, velocidade

  • A função de entrada de dados scanf

  • %d, especificador de entrada de dados do tipo inteiro na função scanf

  • %f, especificador de entrada para números float na função scanf

  • %lf, especificador de entrada para números double na função scanf

  • %c, especificador de entrada para caracteres (char) na função scanf

  • %s, especificador de entrada  para strings (cadeias de caracteres) na função scanf

  • Ler várias variáveis ao mesmo tempo com uma única função scanf

  • Resolver o problema de ler strings com espaço no scanf com [^chars] e %[^\n]s.

  • Evitar o programa "pular" leitura de variável após ler uma string fflush(stdin)

  • Resolver problemas comuns ao ler strings com scanf

  • Como limpar o buffer de entrada com fflush(stdin) e setbuffer()

  • Os Operadores Aritméticos + - * / (Soma, Subtração, Multiplicação, Divisão)

  • Operadores relacionais de comparação >= > <= < e igualdade (== !=)

  • Operadores aritméticos de atribuição simplificada += -= /= %=

  • Conceitos de conectivos lógicos: E , OU e NÂO

  • Operador lógico && (AND) na linguagem C

  • Operador lógico  || (OR) na linguagem C

  • Operador lógico ! (NOT) na linguagem C

  • O Operador % de resto de uma divisão inteira

  • Operadores de incremento ++ e decremento -- pré-fixados e pós-fixados

  • Operador ternário ?

  • Precedência de operadores da linguagem C.

  • Biblioteca math.h: funções sqrt(), pow(), etc.

  • A estrutura de decisão condicional if (se)

  • A estrutura de decisão condicional else (senão)

  • O que é identação ou indentação?

  • Instruções if-else encadeadas (aninhadas)

  • Sentenças Lógicas utilizando E (AND) && OU (OR) ||, bool, true e false com If e else

  • Utilizando operador "!" (NOT) e "!=" (NOT Equal) com if e else em C

  • Exercícios if e else propostos, resolvidos e comentados

  • O comando seleção condicional switch-case

  • Consolidando break e default

  • switch-case com if e else

  • Avaliação de expressões lógicas booleanas no switch

  • Instalar e configurar o compilador GCC MinGW 64bits no Windows

  • Instalar e configurar o Microsoft Visual Studio Code no Windows.

  • Instalar e configurar o Microsoft Visual Studio Code para Linux

  • Instalar e configurar o Microsoft Visual Studio Code para macOS

  • Aprender Conceitos Importantes para Windows, Linux e Mac (GCC, GDB, GNU, Unix-Like, etc)

  • Criar Code Snippets(Auto preenchimento) no VS Code para gerar automaticamente código função main()

  • Aprender os fundamentos e Motivação das Estruturas de Repetição (Loops) em C

  • Compreender o comando de Loop while

  • Aprender os conceitos de Contadores e Acumuladores em loops.

  • Compreender o Loop for e sua Sintaxe e Funcionamento

  • Exercícios resolvidos Loop for

  • Utilizar Loops for Aninhados

  • Loop for com Múltiplas Variáveis de Controle do loop ao mesmo tempo

  • Compreender o Loop do-while: Sintaxe e Funcionamento

  • Converter Loops: de while para for e de  for para while

  • Usar break e continue para controlar o fluxo de execução de loops while, for, do-while

  • Criar Code Snippet no VS Code para limpar tela: cls windows ou clear Linux e macOS

  • Analisar os Loops Infinitos e suas aplicações

  • Varios exercícios sobre loops while, for

  • O Comando goto e os Perigos da Programação "Espaguete"

  • Exercícios desafio sobre loops

  • O que são Vetores (Arrays Unidimensionais) Motivação e Definição

  • Como declarar e inicializar um array (vetor)

  • Exercícios Como declarar e inicializar um array (vetor) em C

  • Indices: Como acessar os dados armazenados em uma variável do tipo vetor?

  • Como podemos armazenar dados por atribuição em variável do tipo vetor

  • Percorrendo um array: como utilizar loops para percorrer todos os elemento

  • Exercícios Percorrendo um array - como utilizar loops para percorrer o vetor

  • Como usar a scanf para capturar dados do usuário e armazená-los em vetores

  • Ao Ler Strings com Scanf não é necessário operador de endereço &

  • Exercícios Vetores Recebidos do usuário com função scanf

  • Calculando Tamanho de um Vetor com sizeof

  • Relação strings com vetores

  • Exercícios de manipulação de strings

  • Leitura e escrita de strings com scanf()

  • Leitura e escrita com gets() e fgets()

  • Escrita de strings com printf() e puts()

  • Buffer Overflow e scanf()

  • Funções strncpy() e strncat()

  • Funções strlen() e strcpy()

  • Funções strcat() e strcmp()

  • Diferença entre 'A' e "A"

  • Rodada de oito exercícios strings

  • Exercício Desafio: contagem de letras, números, espaços e símbolos


O Que mais você vai usufruir com este curso:

  • Suporte Individualizado: Você terá acesso a suporte personalizado para tirar suas dúvidas, garantindo que você nunca se sinta perdido durante sua jornada de aprendizado.

  • Questionários (Testes) : Para reforçar seu conhecimento, criei questionários em diversos testes com questões que permitem a prática constante e a consolidação do que vocé .

  • Certificação Reconhecida: Ao concluir o curso, você receberá um certificado que comprova sua competência e dedicação, um diferencial importante para o mercado de trabalho.

Você sabia? Haverá falta de Programadores e Programadoras no Brasil em 2025!

O setor de tecnologia no Brasil enfrenta um grande desafio: a falta de profissionais qualificados. Segundo a Brasscom, o país precisará de cerca de 420.000 novos profissionais de tecnologia até 2024, mas as instituições de ensino formam apenas 46.000 por ano, gerando um déficit significativo.

Até 2025, a escassez de programadores pode ultrapassar 260.000, a menos que haja um aumento na formação e capacitação de novos desenvolvedores. Isso representa tanto um desafio quanto uma oportunidade para investimentos em educação tecnológica.

A programação de softwares é essencial para o desenvolvimento econômico e tecnológico, com um mercado promissor e em constante crescimento. E você pode fazer parte dessa transformação!

Com 30 dias para testar o curso, embarque nesta emocionante jornada de aprendizado e comece sua trajetória como programador. Conte com meu apoio ao longo de todo o curso! O que está esperando?

Possuo mais de 20 mil alunos na Udemy e a maioria deles está satisfeito com minha didática de ensino ;)

Você pode se inscrever neste curso sem riscos, pois terá 30 dias para experimentar o curso ou ter seu dinheiro de volta, com  reembolso garantido pela udemy!

Como a Udemy garante acesso vitalício você poderá fazer quando quiser, de onde estiver e no seu próprio tempo.

Comece agora sua jornada de aprendizado de programação e aproveite esta oportunidade!


E Você já pensou em fazer um curso na Udemy onde o professor realmente responde suas dúvidas, te orienta, e te acompanha de verdade durante toda a sua jornada?

Pois é exatamente isso que você vai encontrar nos meus cursos.

Desde a primeira aula, você pode enviar quantas perguntas quiser, relacionadas aos conteúdos do curso, e eu estarei lá para te apoiar, corrigir seus erros e esclarecer suas dúvidas.

Nada de estudar sozinho ou ficar travado sem saber o que fazer. Aqui o aprendizado é interativo e com acompanhamento.

Então, use e abuse da ferramenta de perguntas da Udemy! Ela é seu canal direto comigo — e eu adoro quando os alunos participam.

Abraço e nos vemos no curso!

Professor Marcos Pacheco
Mestre em Sistemas e Computação

Who this course is for:

  • Iniciantes em Programação: Se você é novo no mundo da programação e deseja construir uma base sólida de conhecimento, este curso é para você
  • Estudantes de Ciência da Computação, Sistemas de Informação, Engenharia da Computação, Engenharia de Software e afins: este curso pode ser uma excelente complementação ao seu currículo acadêmico. Ele oferece uma oportunidade prática de aplicar os conceitos teóricos aprendidos em sala de aula.
  • Profissionais em Transição de Carreira: Se você está considerando uma mudança de carreira para a área de tecnologia, este curso pode ser um primeiro passo importante
  • Entusiastas de Tecnologia: Se você é apaixonado por tecnologia e deseja aprender uma linguagem de programação poderosa e versátil, este curso oferece uma oportunidade emocionante para expandir seu conjunto de habilidades
  • Iniciantes totais em Programação e Informática
  • Programadores e programadoras experientes que buscam aprofundar seus conhecimentos em conceitos e detalhes raramente abordados em cursos de programação