sábado, 25 de junho de 2016

05 - Falando sobre a variável 'int' em C !

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. Este é um tipo comum, e provavelmente o mais usado.



Como declarar variáveis inteiras na linguagem C


Variáveis são os nomes que vamos dar a determinado bloco de memória. Sempre que você quiser usar um dado (um número, um caractere, um texto etc) na linguagem C, você precisará declarar uma variável.

Ao fazer isso, você estará selecionando um espaço na memória (lembre-se que o C é uma linguagem poderosíssima e age no hardware de sua máquina). Por exemplo, suponha que você queira armazenar sua pontuação em um jogo que você desenvolveu em C. Se esse valor for inteiro, você precisará declarar uma variável (poderia usar o nome 'pontos', por exemplo), e o C irá alocar um espaço de 2 ou 4 bytes de memória. Aquele  espaço em memória serve somente para sua variável, é o endereço dela.

Para declarar uma variável inteira fazemos:

int nome_de_sua_variavel;

Ao fazer isso, estamos reservando um espaço em memória para guardar um número. Em vez de lidarmos com o número da posição da memória, vamos usar seu nome, que é nome_de_sua_variavel;

Vale realçar que os tipos (no caso, usamos o tipo int), são sempre em letras minúsculas e vêm antes do nome da variável.


Como imprimir um número inteiro na tela, usando a linguagem C

Vamos mostrar agora como imprimir o valor de uma variável na função printf.
Dentro do printf, entre as aspas duplas, os números são representados por: %d, e após o fechamento das aspas, colocamos uma vírgula e o real valor da variável que é representada por %d.

Por exemplo, vamos supor que você queira fazer um programa que imprima na tela: "Eu tenho 20 anos", mas sem digitar o 20.
Ele ficaria assim:

#include <stdio.h>

int main()
{
    printf("Tenho %d cachorros", 5);
}


Podemos colocar vários números inteiros representados por %d dentro das aspas, e seus valores serão os que vem após a vírgula, na mesma ordem.
Por exemplo, um programa em C que imprima "Eu tenho 3 cachorros, 4 gatos e 10 aves":


#include <stdio.h>

int main()
{
    printf("Eu tenho %d cachorros, %d gatos e %d aves", 3, 4, 10);
}


Agora que já sabemos declarar um número e imprimir ele na tela, vamos fazer os dois.
Vamos criar uma variável inteira chamada 'programador' e imprimir seu valor no printf:

#include <stdio.h>

int main()
{
    int cprogressivo;
    printf("O valor da variavel 'programador' eh %d", programador);
}



Aqui notamos duas coisas interessantes:
1. Digitamos 'programador' dentro do escopo da função printf, e o que aconteceu? Apareceu o nome 'programador', e não o valor dessa variável inteira. Como dissemos, para aparecer o valor dentro de um printf, usamos o %d.

2. Apareceu um número totalmente aleatório e louco (conhecido como lixo, em C), não foi? Por quê?

Ao declarar a variável 'programador', nós reservamos um espaço em memória. Dentro da printf nós imprimos o seu conteúdo, e naquela posição da memória de seu computador havia aquele número lá armazenado (não me pergunte o porquê, mas saiba que pro computador é tudo número: textos, imagens, som etc).
No meu printf apareceu o número 2456789215, e na sua máquina? Para lidarmos com isso, vamos seguir um pouco mais.

Como inicializar variáveis inteiras na linguagem C


Não nos serve para nada aqueles números aleatórios que você imprimiu com o último código.
Variáveis só servem se pudermos controlar seu valor, e para isso temos que inicializá-las, ou seja,  colocar um valor dentro dessa variável.
 Para isso, usamos o símbolo de igualdade '='.

A inicialização pode ocorrer de duas formas:
1. Junto com a declaração da variável

int idade = 18;

2. Depois da declaração, em qualquer lugar do programa (após a variável ter sido declarada)
int idade;
...
idade = 18;

Por exemplo, um programa que mostre na tela qual a sua idade:

#include <stdio.h>

int main()
{
    int idade = 18;
    printf("Eu tenho %d anos", idade);
}


Note que você pode alterar o valor da variável 'idade', e esse valor sempre será impresso no printf. Qual a idade que você colocou?

Em breve vamos estudar em detalhes as operações matemáticas na Linguagem C, mas por hora vamos mostrar como é possível usar alguns cálculos com e nas variáveis inteiras, dentro ou não do printf.
Leia o seguinte programa e tente entender cada trecho do seguinte código, que está comentado.
Ele mostra que é possível declarar variáveis inteiras em várias partes do código, que podemos fazer operações matemáticas com as variáveis, dentre outras coisas.


#include <stdio.h>

int main()
{
    int soma = 5+5;
    printf("A soma de: 5 + 5 = %d \n", soma);

    int numero_1 = 2;
    int numero_2 = 3;

    soma = numero_1 + numero_2; //Podemos fazer o valor de uma variável mudar no decorrer
                               //de um programa
    printf("A soma de: %d + %d = %d \n", numero_1, numero_2, soma);

    /*Ao invés de criar uma variável para armazenar um resultado de operação matemática,
    podemos colocar direto esses cálculos dentro do printf */
    printf("%d - %d = %d\n", soma, numero_1, (soma-numero_1));
}

Hora de praticar!

 Abra seu IDE  e comece a praticar! 

04 - Como comentar seus códigos em C !

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



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.


Comentando códigos em C - Usando //


Sempre que quiser comentar alguma linha de seu código C, inicie a linha com duas barras: //

Não importa o que você escreva depois dessas duas linhas, elas não serão vistas.
Ela é bastante usada antes de algum trecho de código C, explicando o que as próximas linhas fazem no programa, evitando assim que quem esteja lendo tenha que quebrar a cabeça para adivinhar o que o programador tentou fazer.

Veja o código exemplo com o clássico "Hello World.":

#include <stdio.h>

int main()
{
    //O seguinte trecho mostra uma mensagem na tela
    //Essas linhas comentadas não irão aparecer na tela
    printf("Hello World.\n");
}




Note que as linhas que começam com // foram totalmente ignoradas.
Você pode colocar uma ou milhão de linhas: na hora de compilar e linkar, o compilador C irá excluir todas as linhas começadas em //
Logo, os comentários servem apenas para a leitura humana, não afetando em absolutamente nada o desempenho de seu aplicativo C.

Como usar os delimitadores /* */ em linguagem de programação C

Imagine agora que você precisa fazer um comentário de mais de 20 linhas.

Isso é bem comum entre estudantes que estão resolvendo alguma questão e colam o enunciado e idéia da solução no corpo do código.

E aí, vai escrever 20 vezes as duas barras // ?
Claro que não, use os delimitadores '/*' e '*/'.

Tudo o que você quer ver comentando coloca entre /* e */, e tudo que será dentro será ignorado.
A diferença desses delimitadores para as duas barras //, é que as barras ignoram o que tem naquela linha, já os delimitadores /**/ ignoram TUDO que estejam entre eles, seja uma letra, linha ou milhões de linhas.

Veja um exemplo que possui dezenas de linhas entre os delimitadores /**/, mas ao compilarmos e executarmos esse código em C, somente o printf é que faz realmente algo:

Veja o código exemplo:

#include <stdio.h>

int main()
{
    /*O seguinte trecho mostra uma mensagem na tela
    Essas linhas comentadas não irão aparecer na tela
    Note que a quantidade de linhas não importa, desde
    sejam colocadas esses caracteres tanto no inicio,
    quanto no final do que será escrito em comentario*/
    printf("Hello World.\n");
}


Pratique também!


Não adianta apenas ler! Pratique, escreva os códigos, brinque, descubra as possibilidades
Mãos a obra =]


quinta-feira, 23 de junho de 2016

03 - Função printf() e alguns caracteres especiais

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 algumas 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á.

Caracteres Especiais

Você viu que para exibirmos uma mensagem, basta escrever o texto entre aspas duplas "".

Porém, como vamos ver nesse tutorial de C, não bastante somente escrever as coisas entre aspas duplas, e que tudo vai sair exatamente como você planejou.
Teste, por exemplo, exibir uma mensagem com os seguintes caractere: " ou \


O código ficaria assim:
#include <stdio.h>
 
int main(void)
{
    printf("Aspas duplas "\n");
    printf("Barra: \");
    return 0;
}
Como explicamos antes, o que aparece no console (telinha preta) é o que está entre aspas: " isso aqui aparece".
Se você colocar aspas duplas você terá aspas duplas, o C vai interpretar que é pra ser exibido o que estiver entre a primeira e a segunda aspas, que nosso caso é o texto "Aspas duplas :". E a terceira aspas?
A terceira não era pra estar lá, o \n é um erro, por isso gera um erro na hora de compilar.

Por que o C não exibe esses caracteres? 

Porque o nosso conceito de caracteres é diferente do conceito que os computadores tem.
Para nós, o caractere " é aspas duplas. Para o C, é um caractere que delimita o que vai aparecer no console.

Ou seja, pro C, esses caracteres não fazem parte do alfabeto, não estão lá por motivos de leitura para humanos, são símbolos que representam outras coisas.

Então, como exibir esses caracteres especiais na forma de texto?
Usando o caractere de \
Quando queremos que o caractere de aspas duplas apareça no console, colocamos o \ antes: \"
O C vai interpretar que, com esse símbolo \ antes, o caractere " deve ser exibido na tela.

Como exibir o caractere \ 

Coloque uma barra antes dele também.
Sim, vai ficar: \\
Quando o C encontra essas duas barras, ele entende que deve se exibir o caractere \

Nosso programa fica assim:
#include <stdio.h>
 
int main(void)
{
    printf("Aspas duplas \" \n");
    printf("Barra: \\");
    return 0;
}
Em suma, o que esse caractere faz é 'avisar' ao C que o próximo caractere, que vem logo após o \ terá um significado diferente.
Note que já usamos isso antes, para imprimir uma quebra de linha: \n
Você sabe que ao escrever \n o C não irá imprimir a barra nem o n, ele vai imprimir uma quebra de linha, ou um 'Enter'.

Sinais sonoros e outros caracteres especiais

Carriage return: \r

Esse caractere especial faz com que o cursor se mova para o início da linha:
#include <stdio.h>
 
int main(void)
{
    printf("Carriage return: \r");
    getchar();
    return 0;
}
O comando getchar() faz com que o programa espere que o usuário digite alguma tecla.
Assim o programa só termina se você digitar algo. Usamos isso para motrar que o carriage return faz com o cursor vá para o início da linha.

Tabulação horizontal (TAB): \t

#include <stdio.h>
 
int main(void)
{
    printf("Antes do \\t \t Depois do \\t");
    return 0;
}

Sons: \7 e \a

Os leitores mais antigos, que jogaram video-games como o NES ou Atari certamente vão se lembrar desse aviso sonoro, que também era utilizado em sistemas operacionais antigos e jogos de computador feitos no terminal:
#include <stdio.h>
 
int main(void)
{
    printf("\7 \a");
    return 0;
}

domingo, 19 de junho de 2016

02 - Aprenda a compilar e executar seu primeiro programa na Linguagem C

 Criando e compilando seu primeiro programa na Linguagem C



No artigo passado você baixou e instalou um ambiente de desenvolvimento integrado (IDE) para programar na linguagem C.

Ao final desse artigo, você irá criar seu primeiro programa na linguagem C.

Importante ressaltar  que neste artigo, teremos como base o Dev-C++.


Como criar e compilar um programa em linguagem C

Passo 1: Inicie um novo arquivo

-Utilizando Dev-C++ como base:
Siga:  File -> New -> Project...
Independente da linguagem (no meu caso o Inglês) escolhida, este caminho será sempre igual.

-Note que apareceu uma janela chamada "New Project"
 Selecione:  Console Aplication
 Marque: C Project e Make default language
-Feito isso, nomeie seu programa e Clique em: "Ok

Atenção para esta parte, pois é muito importante!

-Agora salve o diretório de seu programa, de preferência crie uma nova pasta e salve-o ali.

É importante que se crie uma nova pasta para o projeto, para que se possa salvar o "main.c" junto posteriormente.

Passo 2: Programando

Agora é hora de programar! Ou seja, escrever um código.
Escreva EXATAMENTE isso e atente-se para os "tabs" dado, para que fique com a mesma estrutura:
 #include <stdio.h>

int main()
{
    printf("Meu primeiro programa em C!");
    return 0;
}




Passo 4: Compilando e Rodando

Note no canto superior esquerdo, os seguintes botões:

O primeiro é o 'Compile', o segundo é o 'Run' e o terceiro faz os dois 'Compile and Run'.
Clique no terceiro, que ele irá construir (compilar) e executar seu programa, ou aperte F11.
 Após compilar, irá pedir novamente para salvar, lembre-se de salvar na pasta que criada anteriormente, é essencial que o arquivo "main.c" fique junto com o arquivo projeto criado logo no inicio do artigo! 
Você obterá a seguinte tela:




E eis o seu programa na Linguagem C.
No próximo artigo explicarei, detalhadamente, o que significa cada parte do código que você escreveu e executou.


sábado, 18 de junho de 2016

01 - Introduzindo a Linguagem de Programação C.



C é a linguagem de programação mais usada no mundo, devido ao seu poder e a liberdade, quase sem limites, que o programador C tem com sua máquina.
Isso, porém, tem um custo. Será necessário uma dedicação e estudo maior, principalmente se comparado com outras linguagens de programação. Mas vale a pena, sabendo C, você aprenderá as outras com uma incrível facilidade.

O necessário para programar em C

- Como começar a programar em C ?
- O que preciso baixar para programar em C ?
- Onde vou compilar e rodar meus programas em C ?

Ferramentas Necessárias para programar em C

- Compilador
- Debugger
- Editor de texto
Você vai escrever seus códigos de programação C em qualquer editor de texto e vai usar o compilador. O compilador converte seu código para código de máquina (um código que só a máquina entende, para rodar no seu computador - o famoso binário) e o debugger faz o debugging, ou seja, checa se há erros no seu código. Porém, fazer isso tudo manualmente dá muito trabalho. Existe um tipo de programa que faz isso tudo sozinho. É a IDE, Integrated Development Enviroment, ou seja, o ambiente de desenvolvimento integrado. A título de informação, vamos apresentar três IDE's, o Dev-C++, Visual Studio e o Code::Blocks.


Que programa escolher para programar em C

  • Dev-C++

Este é o mais usado e indicado nas faculdades e na Internet,  e particularmente o que eu uso.
Download do Dev-C++

Screenshots do  Dev-C++:
Note que o Dev-C++ possui diversas maneiras de personalizar tanto sua fonte, cores das letras e o fundo. Eu particulamente o uso para ter um fundo preto, o que proporciona um maior conforto aos olhos por um periodo prolongado de tempo.





    •  Microsoft Visual Studio: bom, poderoso e pago

    O Visual Studio é tão poderoso que os desenvolvedores da Microsoft fazem o próprio Windows e seus programas/sistemas são feitos usando o Visual Studio. Porém, é da Microsoft. Ou seja, pra usar tudo que a ferramenta tem a oferecer, você tem que pagar - e muito.
    A Microsoft, como forma de marketing, porém, lançou uma versão gratuita do Visual Studio, o Visual Studio Express.

    • Code::Blocks: gratuito, leve, open source e cross plataform

    Veja as razões do Code::Blocks ser uma boa escolha:
    - gratuito
    - leve
    - open source (é possível ver seu código-fonte, como foi feito)
    - cross plataform (funciona em várias plataformas, como Windows e Linux)
    - está atualizado
    - está em desenvolvimento
    - é possível expandir suas funcionalidades através dos plugins
    - é leve, principalmente se comparado com o Microsoft Visual Studio
    Screenshots do Code::Blocks:
    C Progressivo - Como começar a programar em C, instalar o Code Blocks

    C Progressivo - Como começar a programar em C, instalar o Code Blocks


    Como começar a programar em C: 

    Instalando o Code::Blocks, você já tem o debugger, compilador e editor de texto.
    Isso mesmo. Não precisa baixar mais nada, somente a IDE.
    Ao escrevermos o código, o Code Blocks já organiza automaticamente nosso código e quando colocarmos o programa para rodar, ele nos mostrará onde os erros estão.
    Caso exista erros, o programa rodará diretamente do Code::Blocks.
    Então sem perda de tempo, baixe o programa.
    O site do programa é: http://www.codeblocks.org/
    Navegue até a seção de download e escolha sua plataforma, Windows, Linux ou Mac OS X, bem como sua versão (Windows 7 ou XP, por exemplo):

    Como há várias opções, sugerimos que baixe a maior (que tem mais megabytes), pois certamente trará mais recursos e evitará problemas.
    Não há segredos na instalação.
    Seja bem vindo à linguagem de Programação C, uma das linguagens de programação mais usada do mundo.