E do Java Progressivo?
Que tal aprender mais uma linguagem?
Conheça o curso C Progressivo, que aos mesmos moldes do Java Progressivo, é uma apostila online, completa e totalmente gratuita ao seu dispor.
Acesse: http://www.cprogressivo.net/
C é importante? Para que serve a linguagem C?
No Brasil, provavelmente é a mais utilizada, sendo seu mercado de trabalho reconhecidamente como o mais aquecido e com mais oportunidades de emprego.
Porém, o Java 'chegou agora'. Mas, no geral, a linguagem mais usada é, sem dúvidas, a linguagem C.
Ela é a base de praticamente quase todas as outras.
Uma diferença da linguagem C para as demais é a sua eficiência e seu poder.
Não é à toa que o Kernel dos sistemas operacionais (o 'talo', o principal de um sistema) é feito quase que totalmente em C, bem como as aplicações que mais precisam de velocidade e eficiência.
O programador C tem total controle de sua máquina, trabalhando bem próximo do hardware e tendo total responsabilidade até pelos endereços de memória.
É reconhecidamente uma linguagem difícil, pois diferente do Java por exemplo, ela possui poucos recursos prontos, as coisas não vem prontinhas e bonitas para usar.
Mas é o fato dela ser 'crua' que a deixa tão eficiente e poderosa. Mais rápido que o C, só mesmo Assembly.
Aprender C é aprender como funciona um software e como ele trabalha com seu computador.
Mesmo que pretenda ser um programador para Web, saber a linguagem C vai fazer uma enorme diferença no seu potencial, raciocínio e criatividade como programador.
Veja o sumário atual do site C Progressivo, que assim como Java Progressivo, está em pleno processo de expansão e desenvolvimento.
Para os iniciantes que querem começar a programar em C, a ordem sugerida do curso é essa:
Básico
1.1 Código comentado do nosso primeiro programa em C
02. A função printf() e os caracteres especiais
02. A função printf() e os caracteres especiais
03. Como comentar seus códigos em C - Comentários e Delimitadores
04. Números inteiros - o tipo int
4.1 Modificadores do tipo inteiro (int) - short, long, signed e unsigned
05. Números decimais (ou reais) em C - os tipos float e double
06. Escrevendo em C - o tipo char
07. Recebendo números do usuário - A função scanf
08. Recebendo letras do usuário - As funções scanf, getchar, fgetc e getc
09. Buffer: o que é, como limpar e as funções fflush e __fpurge
10. Operações matemáticas - Soma, subtração, multiplicação, divisão e módulo (ou resto da divisão) e precedência dos operadores
11. Os atalhos dos símbolos matemáticos: +=, -= , *=, /= e %=
12. Sistema Binário e Valores lógicos 'true' ou 'false'
13. Operadores Lógicos E (&&), OU (||) e de Negação (!)
Exercícios: Questões sobre os conhecimentos básicos da linguagem C
04. Números inteiros - o tipo int
4.1 Modificadores do tipo inteiro (int) - short, long, signed e unsigned
05. Números decimais (ou reais) em C - os tipos float e double
06. Escrevendo em C - o tipo char
07. Recebendo números do usuário - A função scanf
08. Recebendo letras do usuário - As funções scanf, getchar, fgetc e getc
09. Buffer: o que é, como limpar e as funções fflush e __fpurge
10. Operações matemáticas - Soma, subtração, multiplicação, divisão e módulo (ou resto da divisão) e precedência dos operadores
11. Os atalhos dos símbolos matemáticos: +=, -= , *=, /= e %=
12. Sistema Binário e Valores lógicos 'true' ou 'false'
13. Operadores Lógicos E (&&), OU (||) e de Negação (!)
Exercícios: Questões sobre os conhecimentos básicos da linguagem C
Teste Condicional e Controle de Fluxo
00. O teste condicional IF ELSE
1.1 Questões sobre IF ELSE
1.1 Soluções das questões sobre IF ELSE
1.2 Programa em C: mostra as raízes de uma equação do 2o grau
1.3 Programa em C: diz se você passou, reprovou ou ficou de recuperação
02. Operadores de Incremento (++), Decremento (--) - Diferença entre a=b++ e a=++b
03. O laço WHILE: o que é, para que serve e como usar
3.1 Questões sobre o laço WHILE
3.2 Soluções das questões sobre o laço WHILE
04. O laço FOR: o que é, para que serve e como usar o FOR - Cast
4.1 Questões sobre o laço FOR
4.2 Soluções das questões sobre o laço FOR
05. Os comandos CONTINUE e BREAK em C: pausando e alterando o fluxo de laços
06. O teste condicional SWITCH: o que é, para que serve e como usar o switch
1.1 Questões sobre IF ELSE
1.1 Soluções das questões sobre IF ELSE
1.2 Programa em C: mostra as raízes de uma equação do 2o grau
1.3 Programa em C: diz se você passou, reprovou ou ficou de recuperação
02. Operadores de Incremento (++), Decremento (--) - Diferença entre a=b++ e a=++b
03. O laço WHILE: o que é, para que serve e como usar
3.1 Questões sobre o laço WHILE
3.2 Soluções das questões sobre o laço WHILE
04. O laço FOR: o que é, para que serve e como usar o FOR - Cast
4.1 Questões sobre o laço FOR
4.2 Soluções das questões sobre o laço FOR
05. Os comandos CONTINUE e BREAK em C: pausando e alterando o fluxo de laços
06. O teste condicional SWITCH: o que é, para que serve e como usar o switch
Funções em C
00. O que são funções, para que servem e como usá-las
0.1 Programa em C: Criando um chat com menu através de funções
Estrutura de dados I: Vetores/Arrays
00. O que são vetores, como declarar e quando usar
01. Inicializando vetores - Vetores de caracteres e Lixo
02. Não use números, use constantes: const e #define
03. Matrizes em C: Vetores multidimensionais (Vetor de vetores)
04. Como passar vetores e Matrizes para funções
05. Passagem por Referência - Como copiar Vetores e Matrizes
06. Exercícios sobre Vetores e Matrizes
Jogo: Como fazer o Jogo da Velha
Código comentado sobre como criar o Jogo da Velha em C
01. Inicializando vetores - Vetores de caracteres e Lixo
02. Não use números, use constantes: const e #define
03. Matrizes em C: Vetores multidimensionais (Vetor de vetores)
04. Como passar vetores e Matrizes para funções
05. Passagem por Referência - Como copiar Vetores e Matrizes
06. Exercícios sobre Vetores e Matrizes
Jogo: Como fazer o Jogo da Velha
Código comentado sobre como criar o Jogo da Velha em C
Ponteiros (apontadores)
00. Introdução ao uso dos ponteiros: Endereços de memória
01. A função sizeof() e os blocos vizinhos de memória
02. Como declarar, inicializar e usar ponteiros - A constante NULL
03. Variáveis apontadas - A Passagem por Referência
04. Operações matemáticas com Ponteiros
Exercícios com gabarito: Questões sobre Ponteiros da apostila da UFMG
01. A função sizeof() e os blocos vizinhos de memória
02. Como declarar, inicializar e usar ponteiros - A constante NULL
03. Variáveis apontadas - A Passagem por Referência
04. Operações matemáticas com Ponteiros
Exercícios com gabarito: Questões sobre Ponteiros da apostila da UFMG
Strings e Caracteres - Escrevendo em C
00. Introdução ao uso das strings: O que são, como declarar, inicializar e o caractere \0
01. Lendo e Escrevendo Strings
02. Como criar uma biblioteca (ou header .h) em C
03. A biblioteca string.h e suas funções
3.1 Exercício: Implemente as funções da biblioteca string.h
04. Exercícios sobre Strings
01. Lendo e Escrevendo Strings
02. Como criar uma biblioteca (ou header .h) em C
03. A biblioteca string.h e suas funções
3.1 Exercício: Implemente as funções da biblioteca string.h
04. Exercícios sobre Strings
Estrutura de dados II: structs
00. Introdução as structs: O que são, para que servem e onde são usadas
01. Como declarar uma struct
02. Como acessar, ler e escrever em elementos de uma struct
03. typedef: Como criar seus próprios tipos
04. Como enviar structs para funções
05. Como passar uma struct para funções por referência - O operador ->
06. Exercícios sobre structs em C
01. Como declarar uma struct
02. Como acessar, ler e escrever em elementos de uma struct
03. typedef: Como criar seus próprios tipos
04. Como enviar structs para funções
05. Como passar uma struct para funções por referência - O operador ->
06. Exercícios sobre structs em C
5 comentários:
É verdade, já tive experiência com C e o JavaScript é até parecido. Na parte de ponteiros é possível entender melhor como as coisas funcionam. Eu iria retomar Java mas agora estou mudando e ideia, depois deste post :)
Qualquer que seja sua escolha, vai ser ótimo para nós.
Ter alguém com experiência em programação estudando pelo nosso material é ótimo...é quase impossível não ter erros ou deslizes, bom que você pode nos dizer as erratas e nos ajudar a montar um portal mais completo!
Ótimo! Parabéns pelo site. No momento estou estudando java aqui pois ja sei um pouco de C, porém vou pegar alguns conceitos de C aqui pois os seus exemplos são ótimos. Estou recomendando para amigos, obrigado!
Ué, eu clico em "Ler tutorial de Java" e eu vou pro tutorial de C! Por favor arrumem, eu to a 4 dias lendo esse tutorial e estou aprendendo muito, arrumem o link por favor! obr (:
Anônimo,
Na página inicial da apostila, aparecem vários artigos.
Existe somente um artigo que fala sobre a apostila C Progressivo, você deve estar clicando pra ler esse artigo, repetidas vezes.
Use o menu superior para ler os tutoriais sobre Java.
Clique em Índice, para ter acesso a todo o sumário da apostila.
Postar um comentário