When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

Udemy logo

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

Saber C é o ponto de partida para compreender a lógica da programação e avançar par programar em linguagens como Python

     
  • 4.5
  •  |
  • Reviews ( 173 )
₹519

This Course Includes

  • iconudemy
  • icon4.5 (173 reviews )
  • icon25h 11m
  • iconenglish
  • iconOnline - Self Paced
  • iconprofessional certificate
  • iconUdemy

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

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

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

What You Will 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 Show moreShow less.