Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Tipos de Datos en Lenguaje C

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

CAPITULO 2.

- TIPOS DE DATOS
Se los puede representar por medio de:
1) CONSTANTES:
Son datos preseleccionados, en el cual sus valores no se alteran durante su ejecución,
son ventajosos pues, en una nueva compilación de datos si modificamos su valor en un
solo lugar se actualizará en donde esté la constante, no se necesita definir el tipo de dato
ya que ésta se puede identificar por su aspecto y el nombre de la constante definirá su
valor.
2) VARIABLES:
Es una posición de memoria con nombre, donde se guarda su valor, puede ser
modificado mientras el programa se está ejecutando. En lenguaje C, en la compilación
del programa a las variables se les asigna un espacio de memoria de acuerdo a su tipo,
por ello, se debe declarar las variables antes de usarlas.
Tipos de Datos
Puede definir un conjunto de valores que puede tener una variable anexo a operaciones
que se pueden realizar en ella. Los más comunes son los números enteros, reales y
caracteres.
Los tipos de datos se encuentran en todos los lenguajes de alto nivel; en lenguaje C no
se hace comprobaciones de errores en la ejecución del programa, por lo cual el
programador debe realizarlas, existen cinco tipos de datos básicos en lenguaje C:
-char Carácter
-int Entero
-float Punto flotante
-double Punto flotante de doble precisión
-void Sin valor
Dependiendo de la forma de almacenamiento en la memoria del computador, los tipos
“caracter” y “entero” se representan por tipos “enteros”, los “punto flotante” estan
representados en el mismo tipo.
MODIFICADORES: Los tipos de datos básicos tienen distintos modificadores para rango
y signo, excepto los tipo void.
- signed aplicado al tipo base int y char
- unsigned aplicado al tipo base int y char
- long aplicado al tipo base int y double
- short aplicado al tipo base int
Tipo char
Sus valores son definidos por un conjunto de caracteres, en general por el código ASCII,
que es utilizado por el computador para identificar cada carácter.
Tipo int
Almacena números enteros directamente y en su representación binaria
correspondiente.
En lenguaje C contiene varios tipos de enteros, entre ellos están:
a) Enteros con signo. Son los tipos de datos: int, signed int, short int, signed
short int, long int, y signed long int. Solo permite números enteros positivos,
negativos o cero.
El tipo int indica el tamaño de palabra estándar, en este caso en que la palabra de
memoria es de 16 bits (depende del compilador y entorno), el rango de valores está
desde -32768 a 32767, en su representación binaria utiliza el bit más representativo para
señalar el signo del número, el mayor entero con signo almacenado en una palabra será:
2n-1 – 1
Donde: - n, número de bits de la palabra de memoria.
-n-1, por el signo.
- -1, por el cero.
b) Enteros sin signo. Son los tipos de datos: unsigned int, unsigned short int, y
unsigned long int, pueden ser solo positivos o cero.
El mayor entero sin signo es mayor que el mayor entero con signo, debido a que el bit
de los enteros con signo se usa para la magnitud de los enteros sin signo, por eso si la
palabra de memoria es de 16 bits, en un tipo unsigned int, su rango será de 0 a 65535.
Se usa el tipo int para: asegurar que el valor de una variable nunca sea negativo, tener
mayor rango de números positivos, acceder direcciones de memoria y para usar
variables de este tipo como contadores.
Tipo float
Sirve cuando se necesitan números de mayor rango a los enteros, incluyendo fracciones,
y para mayor precisión cuando se tienen cálculos matemáticos; los números en punto
flotante son representados en notación científica.
Para almacenar un numero de este tipo se lo divide en:
- Parte fraccionaria o mantisa (precisión del numero)
- Parte del exponente (tamaño del número)
El tipo float depende de la implementación del lenguaje C y de la arquitectura del CPU,
por ejemplo, si se utiliza 32 bits para almacenar un numero de este tipo, 1 bit será para
el signo del número, 8 bits para el exponente con el signo, y 23 bits para la fracción,
dando una precisión de 6 cifras decimales y un rango de ±(1.8e-38 a 3.4e+38).
Tipo double
Utiliza el doble número de bits que el tipo float, si se utiliza 64 bits, se incrementara los
bits de la parte fraccionaria a 11 y la parte exponencial a 52 bits, para reducir los errores
de redondeo y aumentar el rango de los números, permitiendo una precisión de 15 cifras
decimales y un rango de ±(2.2e-308 a 1.8e+308)
Tipo void
Indica la no existencia de un tipo en una variable o declaración, y se utiliza para declarar
una función que no devuelve valor alguno, estableciendo que la función no tiene
parámetros o creo punteros genéricos.
A continuación, se muestra todas las combinaciones de los tipos de datos que se ajustan
al estándar ANSI, para el lenguaje C en el sistema operativo Windows de 32 bits

CONSTANTES
En lenguaje C son valores fijos sin alteración alguna por el programa, son de cualquier
tipo de datos básicos y su representación depende de su tipo.
-Constantes Carácter (constante chart)
Representa un único carácter correspondiente al código ASCII, y que va encerrada entre
apostrofes: ʹaʹ y ʹ*ʹ.
Si un carácter no se puede introducir desde un teclado, se lo puede introducir de dos
formas:
1.- Secuencias de escape. Son caracteres especiales predefinidos, usan ( \ ) y luego su
código, en lugar de sus equivalentes ASCII, a continuación, se muestran estos
caracteres:

Entonces, podemos observar que los seis primeros caracteres son de control, los tres
siguientes permiten utilizar los caracteres de comillas, apostrofe y barra invertida; el
carácter nulo corresponde al número ASCII 0, que también es representado por ʹ\0 ʹ.
Todos ellos deben encerrarse entre apostrofes.
2.-Número de código ASCII. Indica el carácter correspondiente, y para ello dicho
número de escribirse en octal o en hexadecimal, luego de una barra invertida y encerrado
entre apostrofes para que sea reconocido como un solo carácter, por ejemplo: ʹ\07ʹ y
ʹ\0x20ʹ.

-Constantes Enteras
Especifican números enteros sin fracción, por ejemplo: 10, 50 y 100. Pueden ser:
 Octal Comienza por ʹ0ʹ (cero). Ejemplo: 020 (16 en decimal).
 Hexadecimal Comienza por el carácter 0x. Ejemplo: 0x20 (32 en decimal).
Mediante un sufijo se puede especificar el tipo de una constante entera como se muestra
a continuación:

Ejemplo:
CONSTANTE TIPO DE DATO
35000U unsigned int (2bytes)
35000L long int (4bytes)
-Constantes de Punto Flotante
Necesita el punto decimal seguido de los números de la parte fraccionaria, se puede usar
notación científica. Ejemplo: -11.14, 1.56e-6. Mediante un sufijo se especifica el tipo de
constante de punto flotante, como se muestra a continuación:

Ejemplo:
CONSTANTE TIPO DE DATO
-234F float
1001.2L long doble
NOTA: Por defecto, el compilador de lenguaje C escoge el tipo de dato compatible más
pequeño que pueda albergar a una constante numérica entera. Ejemplo: 40000
corresponde al tipo unsigned y 100000 al tipo long, pero hay una excepción en la
constante en “punto flotante”, que se asume de tipo double.
Un valor numérico dentro del rango del tipo carácter no puede ser almacenado como
chart, porque se mezclan los tipos.
-Constantes Cadena
Es una secuencia de caracteres encerrada entre comillas (“ ”), aunque el lenguaje C no
tiene formalmente un tipo de dato cadena. Ejemplo: “Esta es una cadena”.
IDENTIFICADORES
Son los nombres usados para referenciar las constantes simbólicas, variables,
funciones, etiquetas y otros objetos definidos por el usuario, pero deben ser diferentes
de una palabra clave del lenguaje C y no deben tener el mismo nombre de alguna
función ya escrita o que el lenguaje C la tenga en su biblioteca.
Su longitud depende del compilador del lenguaje C, en el sistema operativo Windows
puede variar entre 1 y 32 caracteres. Si el identificador se encuentra envuelto en el
proceso de enlazado, los seis primeros caracteres son significativos.
El primer carácter debe ser una letra del alfabeto inglés o el carácter de subrayado, los
siguientes caracteres pueden ser letra números o símbolos de subrayado. Ejemplo:
cont, num_total y curso1.
Los caracteres que pasan el límite de caracteres significativos reconocibles por el
compilador, serán ignorados.
En lenguaje C, las letras minúsculas y mayúsculas se tratan como diferentes. Ejemplo:
MANUAL y manual son identificadores distintos.
-Declaración de Variables
Todas las variables en el lenguaje C deben ser declaradas para usarlas, las variables
de un mismo tipo pueden declaran en una sola sentencia o en varias para poner
comentarios, la forma general de la “Sentencia de declaración” es:
tipo lista_variables;
donde: - tipo, debe ser un tipo de dato valido de lenguaje C con cualquier modificador.
- lista_variables, consiste en uno o más nombres de identificadores separados
por comas.
- Punto y coma (;), la sentencia de declaración finaliza siempre con un punto y coma.
Ejemplo:
int perno, tuerca;
unsigned int alumnos, jugadores;
chart oro, plomo, plata;
float blanco, rojo;
Existen tres sitios donde se pueden declarar variables:
a) Variables Locales
Son las variables que se declaran dentro de un “bloque de código”, generalmente
funciones. Pueden ser referenciadas solo por sentencias dentro de un bloque en el que
han sido declaradas. Las variables locales no son conocidas fuera de su propio bloque
de código.
Se acostumbra a declarar las variables al principio de una función, para saber que
variables se usan en la función, pero también, se pueden declarar variables en cualquier
bloque de código.
Las ventajas de declarar en un solo bloque es que se dispondrá de la memoria necesaria
solo cuando se necesite la variable y ayuda a prevenir efectos secundarios no deseados.
b) Parámetros Formales
Cuando la función usa argumentos, deben declararse las variables que aceptarán los
valores de estos argumentos; estos son los parámetros formales de la función, se
declaran con el nombre de la función entre paréntesis.
c) Variables Globales
Se crean al declararlas en cualquier parte fuera de una función, lo mejor es declararlas
al principio del programa, y se las conocen a lo largo del programa, se usan en cualquier
parte del mismo, mantiene su porción de memoria en toda la ejecución del programa
almacenándose en la memoria de datos.
Cuando una función tiene declarada una variable local del mismo nombre de una global,
la función solo reconoce a la variable local. Son útiles cuando usan los mismos datos en
varias funciones del programa, pero hace que la función sea menos general.
- Variables Cadenas De Caracteres
Es una serie de uno o más caracteres entre comillas, en lenguaje C no existe un tipo
especial de variables cadenas. Ejemplo:
ʹʹEs una cadenaʹʹ
Las comillas rectas no forman parte de la cadena, solo la delimita.
Una cadena en lenguaje C se almacena como un arreglo de tipo char. Ejemplo:

El carácter nulo ʹ\0ʹ indica el final de la cadena, la cadena es nula si el primer caracter
es ʹ\0ʹ.
La declaración de un arreglo de caracteres es:
char nombre[35];
donde: -[], identifican la variable nombre como un arreglo.
- 35, indica el número de elementos máximos del arreglo.
- char, indica el tipo de dato de cada elemento.
Observaciones: la cadena ʹʹxʹʹ no es igual que el carácter ʹxʹ, porque ʹxʹ es de tipo char,
y ʹʹxʹʹ es de tipo arreglo de char; ʹxʹ contiene solo un byte, y ʹʹxʹʹ contiene 2 bytes.
- Inicialización de Variables
Consiste en otorgar un valor a dicha variable, en el momento que se compila el
programa. Se inicializa la variable a la vez que se la declara.
La forma general de inicialización es:
tipo nombre_variable=constante;
Ejemplo:
char ch = ʹaʹ ;
int perros, caballos=32;
float vacas=34, cabras =14;
- Constantes simbólicas
Para que el programa sea más legible, se usa el preprocesador #define al principio del
programa, para definir las constantes simbólicas.
El preprocesador revisa el programa antes de compilarlo, para cambiar abreviaturas
simbólicas por sus respectivas directivas, buscar los archivos necesarios y cambiar la
condición de compilación.
Para indicar una sentencia de preprocesador se hace de la siguiente manera:
#define PI 3.1416
Al compilar el programa el valor de 3.1416 lo sustituirá en los lugares que aparezca el
identificador PI, este proceso se llama “sustitución en tiempo de compilación”.
Se acostumbra a escribir las constantes en letras mayúsculas para diferenciarlas de las
variables escritas en minúsculas.
Las ventajas de usar constantes simbólicas son que su identificador da más
información que un número, y se puede modificar fácilmente su valor.
Ejemplo:
#define PITA ʹ\007ʹ
#define OPCION ʹSʹ
MODIFICADORES DE ACCESO
- El modificador const
Ayuda a identificar las variables que nunca cambian de valor.

Se define una constante declarando la palabra const antes de las palabras clave: int,
float, double, etc. Ejemplo:

const int MAXIMO=100, INTERVALO=20;

const float PI=3.1416

Los valores asignados a las constantes no pueden cambiarse, a diferencia de las


variables.

Se las puede definir por la palabra clave const y mediante la directiva de compilación
#define.

- El modificador volatile

Ayuda a identificar a las variables que pueden cambiar inesperadamente por causas
ajenas al control programa, aunque podrían cambiarse por hardware.

Ejemplo: Declarar la variable reloj para que cambie su valor sin que el programa tenga
constancias: el programa que contiene la variable reloj puede ser interrumpido por el
reloj del sistema y a la vez la variable reloj cambiada. La declaración de la variable
reloj sería:

volatile int reloj;

Se debe declarar un dato volatile si fuera un registro de dispositivo direccionado sobre


memoria o un dato compartido por procesos separados, como es el caso de un entorno
operativo multitarea.

También podría gustarte