A base das linguagens de programação é a linguagem C pela sua eficiência
e seu poder. O kernel dos sistemas
operacionais (o esqueleto principal que
sustenta) é feito quase todo em C bem como as aplicações que dependem ser mais
eficientes. Além do controle sobre a máquina, trabalhar próximo ao hardware e
pelos endereços de memória torna C um desafio e tanto. Aprender C é aprender
como funciona um software e como ele trabalha com seu computador. Esse site já
virou post aqui no blog e quero novamente mostrar o trabalho que o autor teve
de montar um curso em C gratuito. Recomendo e ressalto a autoria do site
http://www.cprogressivo.net.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
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 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
6.1 Programa em
C: Diz quantos dias cada mês possui
07. O laço DO WHILE: o que é, para que serve e como usar o do while
7.1 Programa em C: Criando uma calculadora usando DO WHILE e SWITCH
08. Exercícios envolvendo testes e laços
8.1 Solução dos exercícios sobre testes e laços
07. O laço DO WHILE: o que é, para que serve e como usar o do while
7.1 Programa em C: Criando uma calculadora usando DO WHILE e SWITCH
08. Exercícios envolvendo testes e laços
8.1 Solução dos exercícios sobre testes e laços
Funções em C
0.1 Programa em
C: Criando um chat com menu através de funções
04. Gerando números aleatórios em C: rand, srand e seed
4.1 Jogo em C: Adivinhe o número que o computador sorteou através das dicas!
4.1 Jogo em C: Adivinhe o número que o computador sorteou através das dicas!
Exercícios com gabarito: Questões sobre funções da apostila da UFMG
Estrutura de dados I: Vetores/Arrays
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
Alocação Dinâmica de Memória
Jogos em C
Batalha Naval: código completo e comentado do Jogo Batalha Naval em C
Código do Jogo da Velha
Código comentado sobre como criar o Jogo da Velha em C
Código do Jogo da Velha
Código comentado sobre como criar o Jogo da Velha em C