Enviar um café pro programador

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

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.

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.