quarta-feira, 2 de novembro de 2011

Tipos de dados, constantes e variáveis

Variáveis e constantes são os elementos básicos manipulados por um programa de computador. Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado. Variáveis devem receber nomes para poderem ser referenciadas e modificadas quando necessário. Muitas linguagens de programação exigem que os programas contenham declarações que especifiquem de que tipo são as variáveis que eles utilizarão e, às vezes, um valor inicial.

Tipos de dados podem ser por exemplo: inteiros, reais, caracteres, etc. As expressões combinam variáveis e constantes para calcular novos valores.

Tipos de dados

Tipos básicos

Em linguagem C, os dados podem assumir cinco tipos básicos, que são:
     - char (caractere): o valor armazenado é um caractere. Caracteres geralmente são armazenados em códigos (usualmente o código ASCII);
     - int (inteiro): é o tipo numérico padrão e o tamanho do conjunto que pode ser representado normalmente dependendo da máquina em que o programa está sendo executado;
     - float (flutuante): número em ponto flutuante de precisão simples. São conhecidos normalmente como números reais;
     - double (duplo): número em ponto flutuante de precisão dupla;
     - void (vazio): este tipo serve para indicar que um resultado não tem um tipo definido. Uma das aplicações deste tipo em C é criar um tipo vazio que pode posteriormente ser modificado para um dos tipos anteriores.

Modificadores dos tipos básicos

Modificadores podem ser aplicados a estes tipos. Estes modificadores são palavras que alteram o tamanho do conjunto de valores que o tipo pode representar. Por exemplo, um modificador permite que possam ser armazenados números inteiros maiores. Um outro modificador obriga que só números sem sinal possam ser armazenados pela variável. Deste modo não é necessário guardar o bit de sinal do número e somente números positivos são armazenados. O resultado prático é que o conjunto praticamente dobra de tamanho. A Tabela abaixo mostra todos os tipos básicos definidos no padrão ANSI.
Todos os tipos de dados definidos pelo padrão ANSI C, seus tamanhos em bytes e suas faixa de valores

Constantes

Constantes são usadas em expressões para representar vários tipos de valores. Em linguagem C existem regras rígidas para determinar como devem ser escritos estes valores. A seguir iremos mostrar as regras para escrever constantes.

Constantes inteiras

São valores numéricos sem ponto decimal, precedidos ou não por um sinal. Não é possível separar o sinal do valor numérico. Constantes válidas são, por exemplo:
     1997
     -3
     +5
     0
     -32000

Alguns exemplos de erro na escrita de constantes inteiras são:
     1.0 (Não é possível usar ponto decimal)
     - 345 (Não é possível colocar um espaço entre o sinal e o valor numérico)
     23 (Não é possível usar notação de expoentes)

Constantes inteiras longas

São constantes armazenadas em um número maior de bits. Para diferenciá-las de constantes inteiras comuns acrescenta-se um L ao final do número. Nos compiladores modernos o número de bytes usados para armazenar os valores inteiros é o mesmo tanto para tipos inteiros (int) quanto para tipos inteiros longos (long int), como está mostrado na tabela que mostra o número de bytes usados em cada tipo. Por esta razão esta diferença entre constantes inteiras perde a razão de ser. Alguns exemplos de constantes inteira longas são:
     234L
     320000L
     -120000L

Constantes octais

São constantes numéricas representadas na base 8. Normalmente são representadas sempre sem sinal e devem iniciar com um algarismo 0. Na tabela abaixo mostramos exemplos de constantes octais e seus valores na base 10.

Constantes hexadecimais

São constantes numéricas representadas na base 16. Normalmente são representadas com um 0x ou 0X antecedendo o número. Na tabela abaixo mostramos exemplos de constantes hexadecimais e seus valores na base 10:

Constantes em ponto flutuante

São também conhecidas como constantes reais. Cada constante de ponto flutuante é considerada como sendo do tipo double. Uma constante em ponto flutuante é normalmente representada com ponto decimal, precedida ou não de um sinal, podendo ser seguida por um expoente. Quando a constante é seguida por um expoente a notação é conhecida como "científica". São exemplos de constantes em ponto flutuante:
     +23.45e-10
     123.45
     123.45E+10
     123.45F

Constantes Caracteres

Uma constante caractere é um único caractere escrito entre aspas simples, como em 'a', podendo participar normalmente de expressões aritméticas. O valor que entra na expressão é o do código usado para representar o caractere. Em adição, uma constante de tamanho igual a um byte pode ser usada para definir um constante deste tipo, escrevendo, por exemplo, '\ddd', onde ddd é uma constante com até três dígitos octais.

Exemplos de constantes do tipo caractere são:

Certos caracteres que não são visíveis podem ser representados antepondo-se o caractere '\' (barra invertida), como no exemplo return da tabela acima. Este caractere é também conhecido como caractere de escape.

Outros exemplos são: 

Constantes cadeias de caracteres

Em alguns casos, vamos usar a palavra cadeia para significar cadeia de caracteres (string). Uma constante do tipo cadeia de caracteres é uma sequência de qualquer número de caracteres entre aspas duplas, como no exemplo abaixo:
     "Alô, mundo!"

A linguagem C insere automaticamente ao final de uma cadeia de caracteres um caractere null ('\0'). Os caracteres \ e " tem um significado especial em cadeias de caracteres e para serem representados precisam ser antecedidos pelo caractere escape. Portanto, \\ e \" devem ser usados dentro de cadeias de caracteres para representar \ e " respectivamente.

Por exemplo:
     "Estas são \" (aspas) dentro de cadeias."

As aspas no meio da cadeia não indicam o fim, já que elas estão precedidas do caractere de escape.

Variáveis

Nomes das variáveis

Existem algumas regras básicas que regulam o batismo de variáveis. Estas regras básicas são:
     - todo nome só pode conter letras e dígitos;
     - o caractere "_" é contado como uma letra;
     - todo primeiro caractere deve ser sempre uma letra;
     - letras maiúsculas e minúsculas são consideradas caracteres diferentes;
     - palavras reservadas não podem ser usadas como nome de variáveis.

É boa política escolher nomes que signifiquem alguma coisa e indiquem a função da variável. Por exemplo, valor, soma, total, nome, raio. 

Declaração de variáveis

Para serem usadas, as variáveis precisam ser declaradas de modo que o compilador possa reservar espaço na memória para o valor a ser armazenado.

A forma geral de uma declaração é:
     tipo lista_de_variaveis;

Exemplos:
     int i;
     unsigned int a, b, c;
     unsigned short int dia, mes, ano;
     double salario;

Atribuição de valores às variáveis

Após ser declarada, a variável pode receber valores. O operador de atribuição "=" indica que o valor à direita será atribuído à variável.

O valor inicial pode ser atribuído de duas formas:
     - Durante execução da função:
          int function(){
               int i, j;
               float raio;
               char c;
               i = 0;
               j = 10;
               raio = 2.54;
               c = 'd';
               }
     - Durante a declaração da variável:
          int i=0, j=10;
          float raio=2.54;
          char c='d';

0 comentários:

Postar um comentário