Constantes, Variáveis e Tipos de Dados.

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.

Constantes

Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa.

É possível definir uma constante através de duas formas:

  • Utilizando o pré-processamento #define com a seguinte sintaxe:

    #define identificador valor

  • Com a palavra-chave const:

    const tipo variável = valor;


Variáveis

Variável é a representação simbólica dos elementos de certo conjunto. Cada variável corresponde a uma posição de memória, cujo conteúdo pode se alterado ao longo do tempo durante a execução de um programa. Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante.

Partindo de uma analogia, uma variável pode ser considerada como uma caixa, onde o tipo de dado que pode ser armazenado na variável é o tamanho da caixa, mesmo princípio acontece em programação, uma variável que irá receber um valor lógico tem um tamanho em bytes (1 byte) inferior a uma variável que irá receber um valor Real (4 ou 8 bytes).

Uma variável é composta por três partes:

  • Nome: é o rótulo da caixa; como ela irá ser identificada.
  • Valor: o que está armazenado dentro da caixa.
  • Tipo: são as dimensões da caixa, em computação se refere a quantidade de bits disponíveis para armazenamento.

Nome das Variáveis

Para atribuir o nome para uma variável, algumas regras devem ser obedecidas:

  • O nome de uma variável pode ter um ou mais caracteres
  • O primeiro caractere do nome deverá obrigatoriamente ser uma letra ou sublinhado
  • Não poderão ser utilizados outros caracteres diferentes de letras, números ou sublinhado
  • Não poderão ser utilizadas como nome da variável, palavras reservadas da linguagem, a tabela abaixo apresenta a lista de palavras reservadas no C:

    auto double int struct
    break else long  switch
    case enum register typedef
    char extern return union
    const float short unsigned
    continue for signed void
    default goto sizeof volatile
    do  if  static  while

Tipos de Variáveis

As variáveis e as constantes precisam ter seu tipo especificado para armazenar e recuperar os valores, para isso os seguintes tipos são disponíveis em C:

  • char: uma variável que armazena um único caractere (1 byte de 8 bits). Existem modificadores que alteram o formato do char:
    Palavra chave Tipo Tamanho em bytes Formato de E/S Intervalo
    char Caracter 1 %c \(-128\) e \(127\)
    signed char Caractere com sinal 1 %c \(-128\) e \(127\)
    unsigned char Caractere sem sinal 1 %c \(0\) e \(255\)
  • int: um número inteiro armazenado com 16 bits. O tipo int abrange número entre \(-32768\) e \(32767\). Os modificadores que alteram o formato do int:
    Palavra chave Tipo Tamanho em bytes Formato de E/S Intervalo
    int Inteiro 2 %d \(-32768\) e \(32767\)
    signed int Inteiro com sinal 2 %d \(-32768\) e \(32767\)
    unsigned int Inteiro sem sinal 2 %u \(0\) e \(65.535\)
    short int Inteiro curto 2 %hi \(-32768\) e \(32767\)
    signed short int Inteiro curto com sinal 2 %hi \(-32768\) e \(32767\)
    unsigned short int Inteiro curto sem sinal 2 %hu \(0\) e \(65.535\)
    long int Inteiro long 4 %li \(-2.147.483.648\) a \(2.147.483.647\)
    signed long int Inteiro longo com sinal 4 %li \(-2.147.483.648\) a \(2.147.483.647\)
    unsigned long int Inteiro longo sem sinal 4 %lu \(0\) a \(4.294.967.295\)
    long long int Inteiro longo longo 8 %lld \(−9.223.372.036.854.775.807\) a \(9.223.372.036.854.775.807\)
    signed long long int Inteiro longo longo com sinal 8 %lld \(−9.223.372.036.854.775.807\) a \(9.223.372.036.854.775.807\)
    unsigned long long int Inteiro longo longo sem sinal 8 %llu \(0\) a \(18.446.744.073.709.551.615\)
  • float: Número em ponto flutuante de precisão simples (aproximadamente 7 dígitos significativos) os valores vão de \(\pm 3.4 × 10^{-38} \) até \(\pm 3.4 × 10^{38} \)
    Palavra chave Tipo Tamanho em bytes Formato de E/S Intervalo
    float Ponto flutuante com precisão simples 4 %f
    %e ou %E

    \(\pm 3.4 × 10^{-38} \) até \(\pm 3.4 × 10^{38} \)
  • double: Número em ponto flutuante (números reais) de precisão dupla (aproximadamente 14 dígitos significativos) os valores vão de \(\pm 1.7 × 10^{-308} \) até \(\pm 1.7 × 10^{308}\) Os modificadores que alteram o formato do double:
    Palavra chave Tipo Tamanho em bytes Formato de E/S Intervalo
    double Ponto flutuante com precisão dupla 8 %g
    %e ou %E

    \(\pm 1.7 × 10^{-308} \) até \(\pm 1.7 × 10^{308}\)
    long double Ponto flutuante com precisão dupla longo 16 %LG
    %e ou %E

    \(\pm 3.4 × 10^{-4932} \) até \(\pm 3.4 × 10^{4932} \)

Atividades

  • 1. Dados os valores abaixo, preencha os tipos das variáveis faltante com o tipo mais adequado e faça a inserção do coringa corresponde no printf: