Curso Online de C Progressivo
C é, sem dúvidas, uma das linguagens mais importantes e mais usadas no mundo, há décadas. Sistemas operacionais, jogos de alto rendiment...
Continue lendoAutor(a): Projeto Progressivo
Carga horária: 66 horas
Por: R$ 49,90
(Pagamento único)
Mais de 50 alunos matriculados no curso.
Avaliação dos alunos: 1 no total
- Victor Hugo Martins Paes Oliveira
- Aqui você não precisa esperar o prazo de compensação do pagamento para começar a aprender. Inicie agora mesmo e pague depois.
- O curso é todo feito pela Internet. Assim você pode acessar de qualquer lugar, 24 horas por dia, 7 dias por semana.
- Se não gostar do curso você tem 7 dias para solicitar (através da pagina de contato) o cancelamento ou a devolução do valor investido.*
- Adquira certificado ou apostila impressos e receba em casa. Os certificados são impressos em papel de gramatura diferente e com marca d'água.**
** Material opcional, vendido separadamente.
Modelo de certificados (imagem ilustrativa):
-
Curso C
Progressivo
COMPLETO
www.cprogressivo.net -
Sumário
Para os iniciantes ou que querem aprender bem mesmo, que siga os seguintes tutoriais na ordem que é colocada.
Para ler um tutorial avulso, a gente assume que você tenha lido ou tenha os conhecimentos de todos os artigos anteriores. Estude no seu próprio tempo, sem pressa, com calma, leia e releia quantas vezes forem necessárias.Bons estudos!
** Como ser o melhor programador C
Tutorial de Conceitos Básicos da Linguagem C
O necessário para programar em C - Instalação do Code::Blocks
Criando e compilando seu primeiro programa na Linguagem C Código comentado do nosso primeiro programa em C
A função printf() e os caracteres especiais
Como comentar seus códigos em C - Comentários e Delimitadores
Números inteiros - o tipo int
Modificadores do tipo inteiro (int) - short, long, signed e unsigned
Números decimais (ou reais) em C - os tipos float e double
Escrevendo em C - o tipo char
Recebendo números do usuário - A função scanf
Recebendo letras do usuário - As funções scanf, getchar, fgetc e getc
Buffer: o que é, como limpar e as funções fflush e fpurge
Operações matemáticas - Soma, subtração, multiplicação, divisão e módulo (ou resto da divisão) e precedência dos operadores
Os atalhos dos símbolos matemáticos: +=, -= , *=, /= e %= -
Sistema Binário e Valores lógicos 'true' ou 'false'
Operadores Lógicos E (&&), OU (||) e de Negação (!)
Exercícios: Questões sobre os conhecimentos básicos da linguagem CTeste Condicional e Controle de Fluxo
O teste condicional IF ELSE
Fazendo testes e comparações - operador de igualdade (==), maior (>), menor (=), menor igual (<=), de diferença (!=) e de módulo, ou resto da divisão (%)
Questões sobre IF ELSE
Operadores de Incremento (++), Decremento (--) - Diferença entre a=b++ e a=++b
O laço WHILE: o que é, para que serve e como usar
Questões sobre o laço WHILE
Soluções das questões sobre o laço WHILE
6. O laço FOR: o que é, para que serve e como usar o FOR - Cast
Questões sobre o laço FOR
Soluções das questões sobre o laço FOR
Os comandos CONTINUE e BREAK em C: pausando e alterando o fluxo de laços
O teste condicional SWITCH: o que é, para que serve e como usar o switch
O laço DO WHILE: o que é, para que serve e como usar o do while
Programa em C: Criando uma calculadora usando DO WHILE e SWITCH
Exercícios envolvendo testes e laços
Solução dos exercícios sobre testes e laços -
Funções em C
1. O que são funções, para que servem e como usá-las
Programa em C: Criando um chat com menu através de funções
Argumentos e Parâmetros de funções - Funções aninhadas
O comando return : devolvendo informações para quem invocou as funções
Variáveis locais - Protótipo de uma função
Gerando números aleatórios em C: rand, srand e seed
Jogo em C: Adivinhe o número que o computador sorteou através das dicas!
Funções recursivas: pra aprender recursividade, tem que saber recursividade
Exercícios sobre funções
Exercícios resolvidos sobre funçõesEstrutura de dados I: Vetores/Arrays
O que são vetores, como declarar e quando usar
Inicializando vetores - Vetores de caracteres e Lixo
Não use números, use constantes: const e #define
Matrizes em C: Vetores multidimensionais (Vetor de vetores)
Como passar vetores e Matrizes para funções
Passagem por Referência - Como copiar Vetores e Matrizes
Exercícios sobre Vetores e Matrizes
Jogo: Como fazer o Jogo da Velha -
Ponteiros (apontadores)
Introdução ao uso dos ponteiros: Endereços de memória
A função sizeof() e os blocos vizinhos de memória
Como declarar, inicializar e usar ponteiros - A constante NULL
Variáveis apontadas - A Passagem por Referência
Operações matemáticas com PonteirosStrings e Caracteres - Escrevendo em C
Introdução ao uso das strings: O que são, como declarar, inicializar e o caractere 0
Lendo e Escrevendo Strings
Como criar uma biblioteca (ou header .h) em C
A biblioteca string.h e suas funções
4.1 Exercício: Implemente as funções da biblioteca string.h
5. Exercícios sobre StringsEstrutura de dados II: structs
Introdução as structs: O que são, para que servem e onde são usadas
Como declarar uma struct
Como acessar, ler e escrever em elementos de uma struct
typedef: Como criar seus próprios tipos
Como enviar structs para funções
Como passar uma struct para funções por referência - O operador ->
6.1 Exercícios sobre structs em C -
Alocação Dinâmica de Memória
Introdução: o que é alocar memória dinamicamente e para quê isso serve
A função malloc(): como alocar memória em C
A função free(): Como liberar memória em C e evitar vazamento (Memory Leak)
A função realloc(): Realocando memória e a função calloc()Estrutura de dados III: Estruturas Dinâmicas
Estrutura dinâmica de dados em C: O que são Listas, Filas, Pilhas e Árvores
Listas (List): O que é e como funciona
Inserindo nós no início e final da lista
Retirando nós do início e final da lista
Implementação completa de uma lista - Inserindo e retirando de qualquer local
Pilhas em C - Como Programar
Filas em C - Como ProgramarArquivos (FILES) em C
Introdução: o que são, como funciona e para que servem os arquivos (files)
Abrindo arquivos (fopen), modos de abertura (read r, write r, append a) e fechamento (EOF, fclose e fcloseall)
Escrevendo em arquivos: As funções fputc, fprintf e fputs
Como ler arquivos em C: As funções fgetc, fscanf e fgets -
Como ser o melhor programador C Possível
A partir do próximo tutorial, você vai mergulhar profundamento no apaixonante mundo da programação. É sem volta, mesmo que use profissionalmente ou não. Na pior das hipóteses, vai apenas te deixar mais inteligente, com melhor criatividade e raciocínio mais rápido.
Como estudar programação
Infelizmente, não é só ler ou ver um vídeo, como muitos assuntos por aí. Programação faz parte da Computação, que faz parte da Matemática. Ou seja, programar é um exercício de lógica puro.Mas não se assuste, sei que programação tem aquela áurea de ‘ohh, nossa que fodástico, só gênio pra fazer isso’,
mas isso é totalmente falso, é possível qualquer pessoa aprender TRANQUILAMENTE, a programar.Mas vou ser honesto com você: precisa de muito esforço, muita dedicação, e ser uma pessoa insistente.
Dá vontade de desistir, eu mesmo já larguei por diversas semanas, várias vezes, em vários assuntos e várias linguagens.Leia nossa apostila, pesquise por tutoriais, veja vídeo-aulas...não entende? Estude de novo, leia de novo, pense de novo...as vezes, nem assim vai. Depois você volta no tópico, é assim mesmo, devagar, sem pressa.
É de extrema importância você escrever o código e ver ele rodar na sua frente, diante de seus olhos. Quer apenas ou apenas ver vídeo-aulas? Vai perder seu tempo. Não existe absolutamente nenhum programador que só leu ou assistiu aulas.
Você só aprende, única e exclusivamente, se você digitar os códigos, entender eles. O código tem que rodar na sua cabeça antes, fazer sentido para você, só então depois que você vai começar a digitar e ver ele funcionando.
-
E mesmo assim, vai errar MUITO, mas MUUUUUUU.UUUUITO MESMO.
Eu errei. Você vai errar, todo mundo erra muito.
A gente fica louco, caçando os erros, quebrando a cabeça, pesquisando e chorando em posição fetal por causa dos erros. E as vezes é porque esquecemos um ponto-e-vírgula, apenas.Outra coisa extremamente comum que vai acontecer com você: escrever códigos longos, confusos e cheio de ‘remendos’. É assim mesmo que funciona. Aí você vai ver o código aqui da apostila, está feito em 20 linhas o que você fez em 200 linhas.
PARABÉNS pelas 200 linhas! É com essa força de vontade e perseverança que você vai se tornar um programador EXCELENTE. Da próxima vez que for refazer esse código de 200 linhas, já vai facilmente fazer em 150...depois 100...e logo logo tá fazendo um código melhor que a gente.
É ASSIM MESMO QUE FUNCIONA, ok ?
Não desanime, vai ser complicado mesmo. -
O que estudar ?
Essa é outra dúvida que me assombrava...Java, C, C++, Python, Redes, Sistemas Operacionais, Administração de Redes, Banco de dados...ahhh, eu ficava louco e queria aprender tudo, e acabava aprendendo nada direito.Pessoal, é sem pressa. NUNCA ESTUDE COM PRESSA.
A resposta sobre por onde começar é: essa apostila. Ela já assume que você é totalmente leigo de tudo, só sabe ligar o computador, abrir essa apostila e pronto. Ensinamos até onde você vai clicar e digitar, para começar a programar.Mas esse é só o início da jornada, ok?
Você deve estudar outras linguagens, outros paradigmas.Por exemplo, com Python, você tem uma linguagem de script, pra escrever pouco e fazer muita coisa simples, é ótimo pra otimizar suas tarefas no trabalho e até suas coisas pessoais.
Hoje o mundo gira em torno dos apps. Com Java, você vai ser apto a criar aplicativos Android e softwares que rodam
em várias plataformas (Windows, Linux).C e C++ são usados para criar programas extremamente eficientes, rápidos e confiáveis, você tem um poder absurdo sobre a máquina, e muita responsabilidade em mãos.
Com o trio HTML (não é linguagem de programação) + JavaScript + PHP você simplesmente pode quebrar a internet. A grande rede é montada em cima dessas linguagens, e sabendo elas, você cria qualquer sistema web.
Quer realmente entender o que é um bit? O que é 0 e 1? Controlar cada byte de informação da sua máquina, mover eles quase que manualmente de um registro pra outro da sua CPU? Estude Assembly.
E por ai vai, pessoal. Cada linguagem e tecnologia nova que você aprender, você fica mais inteligente, mais criativo e com uma linha de raciocínio beeem melhor, se tornando um programador cada vez mais completo. Não se limite.
-
Qual a melhor linguagem de programação?
“Ah, com Java eu crio apps pro Android facilmente”
Então Java é melhor? Cria então um sistema operacional em Java...totalmente inviável, Java é um pouco mais
‘pesado’.“Ah, Linux foi feito em C e Windows foi feito em C++, logo são as melhores linguagens.” Ok bonitão, então vai lá e tenta criar um aplicativo pra Android com essas linguagens, vai demorar 10 anos pra fazer o que o Java faria em 1 mês.
“Por isso prefiro Python, super leve, escreve poucas linhas e é extremamente versátil”. É fácil fazer muita coisa em Python, né? Então faz um ‘hello, world’...mas na tela da BIOS, ou seja, naquela telinha preta que aparece quando você inicia seu computador. Ali só vai com C ou Assembly.
“Então, obviamente Assembly é a mais foda de todas, pois é possível fazer tudo com ela”. Sim, teoricamente é possível fazer tudo com ela, então tenta criar uma rede social com ela. Mas vai precisar contratar mil programadores pra terminar dentro de uma década.
Porém, com PHP e Banco de Dados, por exemplo, numa tarde você pode criar uma baita rede social e deixar ela bem interessante usando bastante JavaScript.
O que quero dizer com isso?
Que não existe melhor linguagem de programação. Existem linguagens mais adequadas para cada tipo de problema. Repita as duas frases anteriores. Se possível, imprima e cole na parede atrás do seu computador.Pessoal, isso inclusive é muito perguntado em entrevistas de emprego. Se vier com esse papinho de “Java é a melhor”, “Python rules”, “PHP é a mais usada”, provavelmente não vão te contratar.
A coisa mais normal do mundo é uma empresa mudar de seus sistemas de linguagens e de tecnologias. É aí que
entramos no próximo tópico -
A coisa mais importante para se aprender é
...aprender.A melhor característica de um programador é saber aprender. Aprenda a aprender.
Não importa seu nível, quantas lingaugens saiba, quantos anos de experiência tem...você sempre vai precisar fazer uma pesquisa no Google para relembrar algum detalhe.Essa característica, no programador, de saber buscar informações e aprender rápido, é sem dúvidas a mais importante.
Você precisa ser flexível, estar preparado para estudar outra linguagem, usar outra tecnologia...não se limite, não seja fanático por linguagem, tecnologia ou sistema, seja aberto para as novidades.
Continue sempre pesquisando, seja curioso, teste as coisas, duvide dos códigos, tente fazer melhor, pense numa solução melhor enquanto estiver tomando banho ou antes de dormir.
Pagamento único
Cursos Relacionados
Encontre-nos no Facebook
Capítulos
- - Conceitos Básicos de C
- O que precisa baixar e instalar
- Como criar e compilar seu primeiro programa
- Como escrever mensagens na tela com a função prinft
- Como comentar códigos
- Variáveis (int, float, double e char)
- Como receber dados do usuário
- Buffer
- Operações matemáticas
- Precedência de operadores
- Operadores lógicos
- - Testes condicionais
- Fazendo comparações em C
- IF
- ELSE
- IF e ELSE
- SWITCH
- - Laços e Loopings
- Laço WHILE
- Laço FOR
- Comandos CONTINUE e BREAK
- Laço DO WHILE
- - Funções
- O que são e para que servem funções
- Como declarar uma função
- Como usar e invocar uma função
- Argumentos
- Parâmetros
- Comando return
- Variáveis locais
- Função recursiva
- - Vetores (arrays)
- Vetores: o que são, para que servem
- Como declarar e inicializar
- Constantes com const e #define
- Matrizes: Vetor de vetores
- Matrizes e funções
- Passagem por referência
- - Ponteiros
- O que são e para que servem os ponteiros
- Endereços de memória
- Como declarar, inicializar e usar ponteiros
- Constante NULL
- Função sizeof()
- Operações matemáticas com ponteiros
- - Strings e Caracteres
- O que são strings
- Como declarar, inicializar e usar strings
- Caractere delimitador \0
- Lendo e escrevendo strings
- Como criar uma biblioteca
- Funções da biblioteca string.h
- - Structs
- O que são, para que servem e como usar
- Como declarar uma struct
- Como acessar, ler e escrever elementos de uma struct
- typedef
- Structs e funções
- Enviando structs como referência
- Operador ->
- - Alocação dinâmica de memória
- O que é alocar dinamicamente e por que fazer ?
- Função malloc()
- Função free()
- Função calloc()
- Função realloc()
- - Estruturas dinâmicas de dados
- O que são, quais existem e para que serve cada uma
- Listas (inserindo e retirando nós - implementação completa)
- Pilhas
- Filas
- - Arquivos
- Por que usar arquivos?
- Abrindo arquivos
- Modos de abertura e fechamento
- Escrevendo em arquivos
- Funções fputc, fprintf e fputs
- Como ler arquivos
- Funções fgetc, fscanf e fgets
- - Tutoriais, Programas e Jogos
- Criando um menu de opções
- Gerando números aleatórios em C
- Como criar uma calculadora em C
- Achar raízes de equação do segundo grau
- Jogo do adivinhe o número
- Jogo da Velha
- Batalha Nav