Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?
Mostrando postagens com marcador Básico. Mostrar todas as postagens
Mostrando postagens com marcador Básico. Mostrar todas as postagens

Como programar o Jogo da Velha em C

Jogo da Velha em CAgora que já ensinamos os conceitos básicos da linguagem C, os testes condicionais e loopings, Funções e Vetores (matrizes), vamos colocar em prática nossos conhecimentos para criar algo interessante:
O Famoso Jogo da Velha

Nesse tutorial vamos ensinar as regras como se jogar em nosso aplicativo, bem como a lógica do jogo.
É importante você tentar fazer o seu, pois só assim você irá aprender.

Não tenha medo, a primeira vez que tentamos, o código fica gigantesco e confuso.
Mas o começo é assim mesmo.

No próximo artigo, vamos comentar cada parte do código aqui mostrado, ensinando passo-a-passo como se cria o jogo.

Atalhos com símbolos matemáticos em C: += , -=, *=, /= e %=

Essa é uma das lições mais simples e rápida, tanto dessa seção sobre conhecimentos básicos da linguagem de programação C, como do curso C Progressivo inteiro.

Vamos aprender atalhos, maneiras mais rápidas e eficientes de escrever as operações matemáticas em C que você aprendeu no artigo passado de nossa apostila online de C.

Um dos artifícios mais usados pelos programadores C, que parece um pouco estranho na primeira vez que vemos, são umas abreviações usadas para descrever as operações matemáticas envolvendo uma mesma variável.

Vamos ver, em detalhes, cada uma dessas abreviações.

Vetores multidimensionais (Matrizes) em C: vetor de vetores

Agora que a apostila C Progressivo mostrou como declarar,inicializar e usar vetores de vários tipos de variáveis, vamos ensinar a usar os vetores para armazenar outros vetores.

Isso mesmo, vetor com vetores dentro. No mundo real, são conhecidos por tabelas.

Jogo em C: Adivinhe o número que o computador sorteou

Ok, se chegou até aqui, parabéns novamente, pois estudou bastante coisa!

Que tal agora fazer um jogo em C usando todos os conhecimentos que adquiriu até agora, em nossa apostila online de C?

Embora seja um game simples, você ver que a sensação de criar o próprio game com suas mãos, linha-a-linha irá lhe propiciar uma sensação única.

O curso online e gratuito de C, C Progressivo garante que este será o melhor game que você já jogou!

Exercícios envolvendo testes e laços em C

Parabéns! Se chegou até aqui, é porque estudou bastante e persistiu em nossa apostila de C!
Esses passos iniciais em programação C são, sem dúvidas, os mais difíceis, e todos já tiveram problemas e dificuldades, inclusive todos nós da equipe do curso C Progressivo.

Antes de estudar funções, porém, você precisa fazer um treino especial, com mais uma leva de questões.

Operadores de Incremento (++) e Decremento (--) - Diferença entre a=b++ e a=++b

Antes de iniciarmos nossos estudos sobre os laços, o curso C Progressivo irá apresentar algumas ferramentas que serão úteis e bastante utilizadas.

São operadores matemáticos que facilitarão nossas vidas de programador C, e que iremos usar diversas vezes em nossa apostila online.


Clique aqui e saiba como obter seu certificado de programação C! Entre já no Mercado de Trabalho!

Modificadores do tipo inteiro - short, long, signed e unsigned

Trabalhar com a linguagem  de programação C é gratificante devido ao poder e liberdade que você tem, já que podemos atuar no 'talo' do sistema, inclusive selecionando espaços de memória.

Porém, isso tem um custo: estudo e cuidados adicionais, em relação a grande maioria das outras linguagens de programação.

Por exemplo, o tamanho que um variável do tipo inteira (int) pode ocupar em diferentes computadores e sistemas. Falaremos mais detalhes sobre essas variações neste artigo de nossa apostila de C.

Exercícios básicos sobre a linguagem C

As seguintes questões foram extraídas do material '300 ideias para Programar', de Virgílio Vasconcelos Vilela 10 questões pra você resolver, sobre saída.

Para que você aprenda bem a linguagem C e seja um programador profissional, é de suma importância que tente fazer todos os exercícios de nossa apostila de C;

Operadores Lógicos E (&&), OU (||) e de Negação (!)

Vimos no artigo passado de nossa apostila de C, uma explicação sobre valores lógicos true ou false em computação.

Vamos agora entrar mais em detalhes e ver como é possível representar informações apenas com true ou false, 1 ou 0.
E bem como o artigo passado, usaremos apenas idéias e conceitos, nada de código por hora.

Sistema binário e Valores lógicos true ou false

Nessa simples aula de nosso curso C Progressivo, vamos falar sobre o sistema de numeração binária e dos valores lógicos, ou booleanos, true ou false.

Este é um artigo muito importante de nossa apostila de C, pois o sistema binário é de suma importância no ramo da programação.

Operações matemáticas em C - Soma, subtração, multiplicação, divisão e módulo (ou resto da divisão) e precedência dos operadores

Operações matemáticas básicas. Fácil não?
Por exemplo, quanto é: 1 + 1 x 2 ?

Pode ser 3: 1 + (1x2) = 1 + 2 = 3
Ou pode ser 4: (1+1)x2 = 2x2= 4

Então, qual a resposta certa? Obviamente é só uma.
Para o computador, um cálculo não pode resultar em dois valores.

A resposta correta é sempre 3. Isso tem a ver com operações matemáticas e precedência em C.

Buffer: o que é, como limpar e as funções fflush e __fpurge

No artigo passado foi pedido o seguinte programa:
Fazer um programa em C que peça dois caracteres ao usuário e os exiba.

Porém, há um problema ao se fazer isso, que e o que vai ser explicado nesse artigo de nossa apostila de C.

Recebendo letras do usuário - As funções scanf, getchar, fgetc e getc

No artigo passado de nosso curso de C, aprendemos como usar a função scanf para receber dados do usuário, e com isso fazer programas bem mais dinâmicos.

Porém, lá tratamos só de números (tanto inteiros, como decimais). Mas, muitas vezes, nós precisamos digitar textos em programas.
Por isso vamos aprender como receber letras do usuário.

Vamos explicar o que são e como funcionam as funções scanf, getchar e fflush.

A função scanf - recebendo números do usuário

Até o momento, os artigos de nosso curso C Progressivo tem mostrado diversos programas, porém todos estáticos, sem controle e sem interação.
O programa simplesmente roda e mostra coisas na tela.

Porém, na vida real não é assim. Praticamente todos possuem algum tipo de interação com o usuário: recebem dados, cliques, arrastamos e soltamos etc.

Nessa lição iremos aprender a usar a função scanf e obter dados do usuário.
Vamos começar a 'conversar' com o computador.

O tipo char - escrevendo na linguagem C

Agora que você já sabe como lidar com inteiros e decimais na linguagem C, está na hora de estudarmos como escrever caracteres.

Curso C Progressivo com certificado
Obter certificado do curso C Progressivo

Como declarar o tipo char em C

Para armazenar caracteres vamos usar um tipo especial de dados, o char (de character - caractere, em inglês).

O tipo char serve para armazenar UM, e somente UM, caractere.
Para declarar, usamos a seguinte sintaxe;
char nomeDaVariavel;

Ao fazermos isso, estamos alocando 1 byte de memória para guardar nosso caractere.
Se você quiser armazenar mais caracteres, temos que usar as Strings, que são um conjunto de caracteres, usados para escrever textos maiores.

Nós estudaremos as Strings mais à frente, em nossa apostila de C.


Como inicializar variáveis char em C

Para guardar uma letra no seu char, temos que fazer uma operação especial: sempre colocar o caractere entre aspas simples.

Por exemplo, para guardar a letra C, escrevemos:

char letra = 'C';

A sintaxe linguagem de programação é case sensitive, ou seja, minúsculo é diferente de maiúsculo.
Por exemplo:

char letraMinuscula = 'c';
char letraMaiuscula = 'C';

Esses dois caracteres, embora representem a mesma letra, são totalmente diferentes, pois uma é maiúscula e a outra é minúscula.


Como imprimir caracteres e textos na tela

Vamos agora aprender como mostrar na tela letras e caracteres, através da função printf.

Assim como usamos %d para mostrar inteiros, %f para float e double, vamos usar um símbolo especial para caracteres: %c

Por exemplo, um programa que exiba o texto "C Progressivo" na tela tem o seguinte código:

#include <stdio.h>

int main()
{
    char letra0='C', letra1=' ', letra2='P', letra3='r', letra4='o', letra5='g',
    letra6='r', letra7='e', letra8='s', letra9='i', letra10='v',letra11='o', letra12='\n';
    printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c",letra0,letra1,letra2,letra3,letra4,
    letra5,letra6,letra7,letra8,letra8,letra9,letra10,letra11,letra12);
}


Note 3 coisas interessante que mostramos:
1 - letra1=' '
Sim, espaço também é caractere!

2 - Repetimos letra8 duas vezes no printf, por quê?
Ora, a letra 's' se repete duas vezes na frase: "C Progressivo".
Em vez de gastar memória à toa para representar o mesmo caractere, o certo é repetir duas vezes o char.

3 - letra12='\n'
Sim, a quebra de linha, ou ENTER, é um caractere também!

Notou também a trabalheira e o tanto de código, apenas pra escrever isso? Inviável!
Em breve, em nosso curso C Progressivo, iremos aprender sobre strings, ou vetores de caracteres, que é uma maneira bem mais simples de se escrever e manipular textos em C.



A tabela ASCII em C

Digite e rode o seguinte programa em C:

#include <stdio.h>

int main()
{
    char ascii = 67;
    printf("%c%",ascii);
}

Estranho o resultado, não? Inicializamos um caractere sem aspas simples e digitamos dois números?
Se notar bem, não inicializamos o char com um caractere, pois não usamos aspas simples, iniciamos como se char fosse um inteiro.
Por que isso?

Ver char como inteiros não seria errado.
O que acontece é que cada caractere em programação recebe um número, como se fosse uma identificação.
A letra 'C' por exemplo, tem o número 67 como sua identificação.

Ou seja, para o computador:
char ascii = 67;
ou char ascii = 0x43;
ou char ascii = 'C';

É a mesma coisa. No primeiro caso, representamos o caractere como um número decimal.
No segundo, o caractere é representado pro um número no formato hexadecimal.
Altere o número para outro e veja os resultados.
Você verá que cada caractere, incluindo o ENTER, TAB ou aviso sonoro é identificado com um número.

A tabela ASCII nada mais é que uma lista completa dos números que identificam os caracteres, veja só:


Podemos fazer o contrário também. Dentro do printc colocar os %c, e números após a vírgula.
Por exemplo, a letra 'o' pode ser representada pelo número 111 e a letra 'i' pode ser representada po 105.

Então podemos escrever 'oi' da seguinte maneira:

#include <stdio.h>

int main()
{
    printf("%c%c ",111,105);
}


Sim: 111,105 quer dizer 'oi'. Legal, não?
Agora você já pode escrever cartas e códigos secreto, e só quem sabe a poderosa linguagem C que pode ler.

Por exemplo, descubra o que está dito no programa abaixo:

#include <stdio.h>

int main()
{
    printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
           80,97,114,97,98,101,110,115,44,32,118,111,99,101,32,100,101,115,99,111,98,114,105,117,32,111,32,115,101,103,114,101,100,111);

}


Exercício:
Escreva seu nome usando apenas a função printf, %c e números. Use a tabela ASCII.

Os tipos float e double - números decimais (ou reais) em C

No artigo passado de nosso curso de C, estudamos sobre o tipo inteiro (int), como declarar, imprimir e inicializar tal tipo de dado.

Agora faremos o mesmo, mas para os números decimais, também conhecidos como números reais, que são os tipos float e double.

O tipo de dado inteiro (int) na Linguagem C

Vamos estudar agora um dos tópicos mais básicos, bastante usado e importante na linguagem de programação C: os tipos de dados.

Para começar, vamos iniciar falando sobre os números inteiros em C, um tipo de dado muito importante, que usaremos durante toda nossa apostila de C.



Como comentar seus códigos em C - Comentários e Delimitadores

Aprenda a comentar e usar delimitadores em seus códigos de programação C.A medida que seus códigos na linguagem C forem aumentando, eles ficarão incrivelmente difíceis de serem entendidos por outra pessoa.

Sim, futuramente seu código será lido/alterado por outra pessoa, provavelmente você.
Para facilitar esse processo, você pode fazer 'comentários' em seus programas de C, explicando o que cada trecho de código faz.

Além de serem importantes, são considerados uma boa prática de programação. Então, se você quer ser um bom programador C, deixe seus códigos comentados e bem explicados.




A função printf() e alguns caracteres especiais

Você aprendeu no artigo passado como criar seu primeiro programa na fantástica linguagem de programação C: um aplicativo que exibia uma mensagem na tela.

Pra isso, você usou a função printf. Porém, essa função é cheia de recursos, e vamos ensinar mais alguns agora.
Vamos mostrar uma porção de códigos, mas não vamos mostrar o resultado. Para você aprender a programar nunca fique copiando e colando, vá lá e digite os códigos.

Só assim você aprenderá.

Baixe nossa Apostila de C

Código comentado do nosso primeiro programa em C

No artigo passado nós criamos e compilamos nosso primeiro programa em C de nosso curso de programação. Porém, não explicamos exatamente o que aconteceu. Simplesmente mostramos o que escrever e o que fazer.

Em nosso curso você verá sempre, sempre, as coisas bem explicadas. Esse é o diferencial do curso online C progressivo.
Veja agora os comentários, linha por linha, do código C.

Leia esse conteúdo offline: Baixe a Apostila C Progressivo