minerva ufrj

Tipos de Dados, Constantes e Variáveis

Barra Horizontal Azul

Copyright ©1997 - Adriano Joaquim de Oliveira Cruz
  1. Introdução
  2. Tipos de Dados
  3. Constantes
  4. Variáveis
  5. Exercícios

Barra Horizontal Azul

Introdução

Variáveis e constantes são os elementos básicos que um programa manipula. 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 ele utilizará e as vezes um valor inicial. Tipos podem ser por exemplo: inteiros, reais, caracteres, etc. As expressões combinam variáveis e constantes para calcular novos valores.

Barra Horizontal Azul

Tipos de Dados

Tipos Básicos:

Os dados podem assumir cinco tipos básicos em C que são:


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.

Tabela: Todos os Tipos de dados definidos pelo Padrão ANSI C, seus tamanhos em bytes e suas faixa de valores.
Tipo Tamanho em Bytes Faixa Mínima
char 1 -127 a 127
unsigned char 1 0 a 255
signed char 1 -127 a 127
int 4 -2.147.483.648 a 2.147.483.647
unsigned int 4 0 a 4.294.967.295
signed int 4 -2.147.483.648 a 2.147.483.647
short int 2 -32.768 a 32.767
unsigned short int 2 0 a 65.535
signed short int 2 -32.768 a 32.767
long int 4 -2.147.483.648 a 2.147.483.647
signed long int 4 -2.147.483.648 a 2.147.483.647
unsigned long int 4 0 a 4.294.967.295
float 4 Seis digitos de precisão
double 8 Dez digitos de precisão
long double 10 Dez digitos de precisão

Para verificar como esses modificadores alteram os tamanhos em bytes dos tipos básicos, execute o exemplo c2tipos.c.

Barra Horizontal Azul

Constantes

Constantes são usadas em expressões para representar vários tipos de valores. Em \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 númérico. Constantes válidas são, por exemplo:

Alguns exemplos de erros na escrita de constantes inteiras são:

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:


Constantes Octais

São constantes 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 o seu valor na base 10.

Base 8 Base 10
025 21
077 63
011 9
0175 125

Constantes Hexadecimais

São constantes 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 o seu valor na base 10.:

Base 16 Base 10
0xF 15
0X25 37
0XAB 171
0xBEEF 48879

Constantes em Ponto Flutuante

São também conhecidos como constantes reais. Cada constante de ponto flutuante é considerada ser do tipo double. Uma constante em ponto flutuante é normalmente representada com ponto decimal, precedidas ou não de um sinal, podendo ser seguidas 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.


Constantes Caracteres

Uma constante caractere é um único caractere escrito entre ', 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 um até três dígitos octais. Exemplos de constantes do tipo caractere são:

'a' caractere a
'A' caractere A
'\0141' Constante octal correspondente ao caractere 'a'
'\n' Nova linha, posiciona o cursor no ínicio da nova linha.
'\r' Carriage return, posiciona o cursor no ínicio da linha atual.

Certos caracteres que não são visíveis podem ser representados anteponde-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:

'\t' Tabulação horizontal, Move o cursor para a próxima parada de tabulação.
'\r' Carriage return, posiciona o cursor no ínicio da linha atual.
'\a' Alerta, faz soar a campainha do sistema.
'\0' Null, caractere que em C termina um conjunto de caracteres.

Constantes Cadeias de Caracteres

Em alguns casos, vamos usar a palavra cadeia para significar cadeia de caracteres (string em inglês). Uma constante do tipo cadeia de caracteres é uma sequência de qualquer número de caracteres entre ", como no exemplo abaixo.

    "alo mundo!!!"

A linguagem C insere automaticamente ao final de uma cadeia de caracteres um caractere null ('\0'). Os caracteres \ e " têm 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.

Barra Horizontal Azul

Variáveis

Nomes das Variáveis

Existem algumas regras básicas que regulam a o batismo de variáveis. Estas regras básicas são:

É boa política escolher nomes que significam 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:

int funcao()
{
    int i, j;
    float raio;
    char c;

    i = 0;
    j = 10;

    raio = 2.54;

    c = 'd';

    ...

}
   
   int i=0, j=10;
   float raio=2.54;
   char c='d';

Barra Horizontal Azul

Exercícios

  1. Indique os nomes de váriaveis que são válidos. Justifique os nomes inválidos.
    1. tempo
    2. nota_final
    3. us$
    4. char
    5. 2dias
    6. teste 1
    7. raio.do.circulo
  2. Indique quais dos números abaixo são constantes inteiras (longas ou não) válidas. Justifique suas respostas.
    1. 100
    2. 2 345 123
    3. 3.0
    4. -35
    5. - 234
    6. 0L
    7. 2l
  3. Qual o valor na base 10 das constantes abaixo:
    1. 025
    2. 0123
    3. 0xD
    4. 0x1D

Barra Horizontal Azul

Retorna ao índice Índice

Data da última atualização: 30/01/97

Valid HTML 4.0!