2.3) Constantes:
     

        El lenguaje C tiene 4 tipos básicos de constantes:
     

     
    Constantes enteras.
    Constantes de coma flotante.
    Constantes de carácter.
    Constantes de cadena de caracteres.
       


 
     Antes de entrar en detalle en cada una de ellas diremos que las constantes enteras y de coma flotante son llamadas, constantes de tipo numérico. Digamos ahora unas reglas que se pueden aplicar a todas estas constantes de tipo numérico.
     
    • No se pueden incluir ni comas ni espacios en blanco en las constantes.
    • Si lo deseamos, la constante puede ir precedida de un signo (-).
    • El valor de la constante no puede exceder de un límite máximo y un mínimo especificados. Para cada tipo de constante, estos límites varian de un compilador a otro.
       
       
       
     1) Constantes enteras:
     

     Consiste en una secuencia de dígitos, estas constantes se pueden escribir en decimal (base 10), octal (base 8) y hexadecimal (base 16).
     Una constante decimal es cualquier combinación de números tomados del 0 al 9. Si la constante tiene 2 o más dígitos, el primero ha de ser distinto de 0.
     
     

    Ejemplos.
     
     

     NOTA: De las constantes enteras largas diremos que se especifican poniendo una L (mayúscula o minúscula) al final. Ejemplo: 477898856L   (decimal larga).

     
      De las constantes enteras sin signo diremos que se representan añadiendo una U (mayúscula o minúscula) al final de la constante. Ejemplo: 40001U   (decimal sin signo).
     

        Por último tenemos las constantes enteras largas y sin signo, se añade una UL al final de la constante (en mayúscula o minúscula) en ese orden. Ejemplo: 0xfffffUL  (hexadecimal larga sin signo).
     
     
     
     

     2) Constantes de coma flotante:
     

     Es un número en base 10 que contiene un punto decimal (.) o un exponente (o ambos).
     

     Si existe un exponente, su efecto es de desplazar la posición del punto decimal a la derecha si el exponente es positivo, o a la izquierda si es negativo. Si no se incluye punto decimal en el número, se supone que se encuenttra a la derecha del último dígito.
     

        La interpretación de una constante de coma flotante con exponente es la misma que en notación científica, excepto que sustituimos la base 10 por la letra E (o e).
     
     

    Ejemplos.
     
     

     Como nos podíamos imaginar la magnitud de una constante en coma flotante se encuentra dentro de un rango mucho mayor que el de las constantes enteras, este suele andar entre un mínimo de 3.4E-38 hasta un máximo de 3.4E+38 (aunque esto suele variar según versiones).
     

     NOTA: Tener en cuenta que las costantes enteras son exactas, sin embargo las de coma flotante son aproximaciones, y puede darse el caso de que la computadora nos presente por pantalla el resultado 0.5 y su representación en la memoria sea la de 0.499999999.
     
     
     
     

     3) Constantes de carácter:
     

     Es un solo carácter, encerrado entre comillas simples.
     
     

    Ejemplos.
     
     

     El carácter puede ser cualquier representación ASCII o una secuencia especial con la barra invertida ( \ ). Las constantes de caracteres se toman como un valor entero.
     

            Varias constantes de carácter con su valor:
     

     
    'C'
    67
    "z"
    Las comillas (") son un carácter ilegal.
    'x'
    120
    '&'
    38
         
      NOTA: si queréis ver la tabla de caracteres ASCII, se encuentra disponible en el apéndice.
       
     Estos valores serán los mismos para todas las computadoras que utilicen el conjunto de caracteres ASCII (que son la gran mayoría).
     
     

     Secuencias de escape: Ciertos carácteres no imprimibles, como las comillas dobles ("), el apóstrofo o comilla simple ('), etc...; se pueden expresar en términos de secuencia de escape.
     
     
     

       
      CÓDIGO
      SIGNIFICADO
      \b
      retroceso (backspace)
      \f
      avance de página
      \n
      nueva línea
      \r
      retorno de carro
      \t
      tabulador horizontal
      \"
      comilla doble
      \'
      comilla simple
      \0
      nulo
      \\
      barra invertida
      \v
      tabulador vertical
      \a
      alarma
      \ddd
      constante octal
      \xddd
      constante hexadecimal

       
     Por tanto, algunas de estas constantes de carácter, expresadas como secuencias de escape, se escribirían:
     
     
       
      '\n' '\f'
      '\"' (comilla doble)
      '\\' (barra invertida)
      '\'' (comilla simple)
     
     

     4) Constantes de cadena de carácteres:
     

     Es una secuencia de caracteres encerrada entre comillas dobles. A las cadenas de caracteres el compilador les añade un carácter nulo '\0' al final, y las almacena como una matriz de caracteres.
     
     

    Ejemplos.
     
     

     NOTA: Como hemos dicho anteriormente el compilador inserta automáticamente un carácter nulo  \0  al final de toda constante de cadena de caracteres, como el último carácter de ésta. Este carácter no aparece cuando se visualiza la cadena.
     

     Diferenciar:
     
     

       
      'D'
      "D"

     

        La primera es una constante de carácter con su valor entero correspondiente.
     

        La segunda, en cambio, es una constante de cadena de un solo carácter, sin valor entero equivalente, constando de dos caracteres: el carácter especificado, seguido del carácter nulo \0.
     
     



     
     
    Ejemplos de constantes enteras:
     
     
     
      Ejemplo 1:
       
       
         
        1912
        3 8
        6578
        0

       
        Una constante entera octal está formada por cualquier combinación de dígitos tomados del 0 al 7. El primer dígito obligatoriamente tiene que ser 0 (esto es para distinguir la constante como un número octal).
     
     
     
     
      Ejemplo 2:
       
       
         
        0
        03 0654
        032

       

      Ejemplos incorrectos:
       
       

         
        654
        No comienza por 0.
        278
        Dígito ilegal (8).
        45.6
        Carácter ilegal (.)).
               
     Una constante entera hexadecimal debe comenzar por 0x o 0X, a continuación puede aparecer cualquier combinación del 0 al 9 o de la a a la f (tanto mayúsculas como minúsculas).
     
     
     
     
      Ejemplo 3:
       
       
         
        0x
        0x3
        0x7f
        0xacd

         
         
    Ejemplos de constantes de coma flotante:
     
     
       
      2.4 por 10 elevado a -3 
      es equivalente a
      2.4E-3 ó 2.4e-3

       
       
      8 por 10 elevado a +3
      es equivalente a
      8000
       
      8 por 10 elevado a +3
      es equivalente a
      8E+3 

       
       
      8 por 10 elevado a +3
      es equivalente a
       8E3 

       
       
      8 por 10 elevado a +3
      es equivalente a
       8.0e3 

       
       
           
    Ejemplos de constantes de carácter:
       
       
       
      '4'
      'E'
      'h'
       ' ' (espacio en blanco)

       
       
       
    Ejemplos de constantes de cadena de caracteres:
     
     
      Ejemplo 1: "El resultado es correcto"
       
       
       

      Ejemplo 2: "234234-23"
       
       
       

      Ejemplo 3: ""  (representa la cadena vacía).
       
       
       

      Ejemplo 4: "Línea 1\nLínea 2\nLínea 3"
       

      (ocupa 3 líneas a consecuencia de los caracteres de nueva   línea que se incluyen en ella).
       

      Se mostraría así:
       

        Línea 1
        Línea 2
        Línea 3
       
       

      Ejemplo 5: "\tSi quieres seguir, presiona \"RETURN\"\n"
       

      Se mostraría:
       

        Si quieres seguir, presiona "RETURN" (Colocándose el cursor en la siguiente línea).