Valores y tipos

El ordenador manipula instrucciones y datos.

Un dato es un elemento de información que puede tomar un valor entre varios posibles. Si tiene siempre un valor fijo e inamovible es una constante.

Se dice tipo abstracto de datos -TAD-a los valores que pueden tomar los datos de ese tipo, como a las operaciones que se pueden realizar con ellos. Es como una clase

. Todo dato ha de pertenecer a una clase o tipo abstracto de datos.

En C+- hay cuatro tipos de datos predefinidos: int, float, char y bool.

Valores numéricos enteros.

en notación BNF:

Valor_entero ::=[+¦-] Secuencia_dígitos

Secuencia_dígitos ::=Dígito{Dígito}

Dígito::= 0¦1¦2¦3¦4¦5¦6¦7¦8¦9

Valores numéricos reales.

Valor_real ::= Valor_entero.[Secuencia_dígitos][Escala]

Escala ::= E Valor_entero

Ejemplos: 2341.2347 ; -231.12E+15 ; 231.5E-65 ; 3.98

Caracteres.

Son caracteres de texto, que pueden utilizarse en cualquier teclado, implesora, pantalla, etc.

El valor del carácter se escribe poniéndolo entre apóstrofes ('). Ejemplos: 'a', 'A', '6', '0', '+', '/', '{',''', ' '.

No es lo mismo un valor entero 9 que un carácter '9';

Pero los caracteres, internamente, se representan como enteros de hasta 32 bits, por eso se pueden convertir en enteros y viceversa, mediante casting implícito o explícito. Por ello, si se convierten en enteros, pueden operar como tales; int('A')=65. char(65) ='A'.

Hay caracteres Ascii (7 bits) hasta Unicode (32 bits).

También hay secuencias de escape:

\b Retorno byte

\f Nueva página

\n Nueva línea

\r Retorno de carro

\t Tabulación horizontal

\v Tabulación vertical

La librería ctype incluye muchas funciones relacionadas con los caracteres. Cadenas de caracteres.

Cuando los caracteres o char no se usan solos, sino formando cadenas o String se usan en secuencias incluidas en "secuencia", entre comillas dobles. Si una cadena utiliza comillas dobles en su interior, se utilizará \" : "¿Es verdad?, \"Si\" o \"No\""

No es lo mismo "v" que 'v';

Comentarios

Entradas populares de este blog

Notación BNF

Introducción: modelos abstractos de cómputo.

Subprogramas (métodos en Java)