Вы находитесь на странице: 1из 19

TIPOS DE DATOS

El primer objetivo de un programa informtico es el manejo de datos. Un dato es toda aquella informacin que se puede tratar en un programa informtico. En este artculo vamos a conocer los tipos de datos que podemos manejar programando en C. Existen unos datos de entrada y unos datos de salida. Los datos de entrada se manipulan en el programa produciendo unos datos de salida.

Un dato dentro de un programa se caracteriza por llevar asociado un identificador, un tipo y un valor. Identificador: Nombre para referenciar al dato dentro del programa Tipo: el tipo de un dato determina el rango de valores que puede tomar el dato y su ocupacin en memoria durante la ejecucin del programa Valor: Sera un elemento determinado dentro del rango de valores permitidos por el tipo de dato definido. Algunos ejemplos de datos son: la edad, el saldo de una cuenta bancaria, el nombre de una persona, la letra del piso de una direccin, etc. A continuacin vamos a describir los distintos tipos de datos que existen. TIPOS DE DATOS Hay dos clases de tipos de datos: tipos fundamentales y tipos derivados. nicamente vamos a ver los tipos de datos fundamentales. Tipo entero: representa nmeros enteros con o sin signo, que estarn compuestos por los dgitos del 0 al 9, pudiendo ser precedidos por los signos + o -. Algunos ejemplo de datos enteros son: 0, 23, -176, -1, etc. Para definir variables en C se antepone la palabra reservada del tipo al identificador de la variable. El tipo de datos entero se define en el lenguaje de programacin C por la palabra reservada int. Para definir un tipo de dato en C se escribe lo siguiente: int nombre_variable = valor;

No es necesario que la variable tenga un valor predeterminado. Se puede definir sin asignarle ningn valor. Si tenemos varios datos que son del mismo tipo, se pueden definir todas en la misma lnea de cdigo escribiendo un nico int, separando el nombre de las variables por ,. Una vez que se haya acabado de definir variables, se cierra la lnea de cdigo con ;, Por ejemplo: int edad = 24; int edad; int edad, num, contador; Tipo real: Se emplean para representar nmeros reales (con decimales). Para definir datos reales se antepone la palabra reservada float al identificador de la variable. float identificador = valor; Por ejemplo: float numero1, numero2; float numero3 = 123.43; float numero3; Tipo carcter: Este tipo de datos se emplea para representar un carcter perteneciente a un determinado cdigo utilizado por el ordenador (normalmente el cdigo ASCII). Para representar este tipo de dato se antepone la palabra reservada char al identificador de la variable. Char identificador = valor; Una constante tipo char se representa como un solo carcter encerrado entre comillas simples. Por ejemplo: char letra, letra2; char letra=a; Tipo cadena de caracteres: una cadena de caracteres es un nmero de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservadachar al identificador de la variable, y despus entre corchetes la longitud mxima de cadena. Char identificador [cantidad] = mensaje; Por ejemplo: char cadena [20]; char cadena [20] = Hola mundo; char cadena[ ] = HOLA; En la siguiente tabla se hace un resumen de los distintos tipos de datos:

Tipo de dato Entero Real Carcter Cadena de carcter

Palabra reservada Ejemplo Int Int numero=0; Float Char Char Float numero=12.2; Char letra = a; Char palabra[10] = HOLA;

Lectura y Escritura de Datos Para poder leer y escribir datos en el lenguaje de programacin C existen una serie de funciones agrupadas en un conjunto de libreras de cdigo objeto, que constituyen la llamada biblioteca estndar del lenguaje. En el caso concreto de las funciones de entrada y salida (lectura y escritura), su archivo de cabecera es stdio.h. Existen varias funciones que realizan la entrada y salida de datos en el lenguaje de programacin C, pero nos vamos a centrar solamente en dos de ellas: printf() y scanf(). Funcion printf() La funcin printf() sirve para escribir datos en la pantalla con un formato determinado. El prototipo de esta funcin es la siguiente: int printf(const char *formato, arg1, arg2, , argn) donde: formato: hace referencia a una cadena de caracteres que contiene informacin sobre el formato de salida. Arg1, arg2, , argn: argumentos que representan los datos de salida La cadena de control puede constar de hasta tres tipos de informacin: -texto: que ser mostrado por pantalla tal cual este escrito -Secuencias de escape: secuencias reservadas propias del lenguaje. Van precedidas por '\' y las ms importantes son '\n' que introduce un salto de lnea, y '\t' que introduce un tabulador. -Especificadores de formato: son ciertos caracteres precedidos del carcter tanto por ciento '%'. A continuacin se muestra una tabla con estos especificadores de formato dependiendo del tipo de dato a los que representan:

Tipo de dato Int Float Char Char [n] Ejemplos:

Especificadores de Comentario formato %d Entero con signo %f %c %s Real con signo carcter Cadena de caracteres

printf(\n Valores: %d, %f, entero, real); Salida por pantalla: (Retorno de carro)Valores: 2, 2.3 printf(%s\t%d\n%f, concepto, num, coste); Salida por pantalla: Cremallera 1234 12.345 Funcin scanf() La funcin scanf() se pude considerar de alguna manera como la inversa de la funcin printf(), pues sirve para introducir datos desde el teclado con un formato determinado. El prototipo de esta funcin es el siguiente: int scanf(const char *formato, arg1, arg2, , argn); donde: formato: hace referencia a una cadena de caracteres (cadena de control) que contiene informacin sobre el formato de los datos que se van a introducir mediante el teclado. arg1, arg2, , argn: son los argumentos que representan los datos de entrada. La cadena de control puede constar de:

Especificadores de formato, que son ciertos caracteres precedido por el carcter tanto por ciento '%'. Caracteres de espacio Otros caracteres no espacios, para entradas con formato

A continuacin se muestra una tabla con estos especificadores de formato dependiendo del tipo de dato a los que representan:

Tipo de dato Int Float Char Char [n]

Especificadores de Comentario formato %d Entero con signo %f %c %s Real con signo carcter Cadena de caracteres

Ejemplos: scanf(%d, numero); scanf(%d %s %f, numero, &cadena, &real);

MS INFORMACION.

2-tiposdatoslenguajec.pdf

IDENTIFICADORES, CONSTANTES Y VARIABLES


Identificadores Los identificadores son los nombres dados a los programas, constantes, variables y otras entidades de un programa.

Los identificadores deben empezar con una letra, seguida por cualquier nmero de letras o dgitos. Las palabras reservadas como VAR, BEGIN, END no pueden usarse como identificadores. Pascal estndar no hace distincin entre maysculas y minsculas (excepto en las constantes de tipo carcter o cadena). Pueden actuar como identificadores un: vector, objeto, identificador o una funcin. Los identificadores simplemente hay que aadirlos en el contexto oportuno sin duplicarlos. Cuando se trata de un vector hay que comprobar que est previamente definido, y sea del tipo vector. Una llamada a funcin puede actuar como identificador puesto que devuelve un valor. En este caso hay que comprobar que este definida y que el nmero de argumentos se correcto. En el caso del objeto distinguimos dos casos. Que se use this. En este caso se estn definiendo los atributos de una funcin. Hay que insertarlos en la tabla de smbolos y marcarlos como componentes. Que no se est usando this. En ese caso hay que comprobar que haya sido declarado previamente el objeto y que exista el componente. VARIABLES VARIABLE: Magnitud que puede tomar diferentes valores y se representa con una letra o letras. La variable real es el conjunto de los nmeros reales, y se puede representar por cualquier letra o conjunto de letras y nos sirve para poder utilizar dicha letra para clculos o para obtener resultados. Ejemplo: A=2 y B=5.5 y se desea calcular C, la cual se calcula C=2A+B^2 Por tanto C= 2(2)+(5.5^2)=34.25

Clasificacin de variables: Variables reales, todos los nmeros Variables enteras, nmeros enteros Variable natural, enteros positivos Variable primos, nmeros divisibles entre 1 y s mismo Variable alfanumrica, utiliza texto Cuando el conjunto de los nmeros es arbitrario la variable se llama variable

independiente o simplemente variable. Cuando los valores del conjunto dependen, mediante una cierta correspondencia, de los valores de otro conjunto, se llama variable dependiente o funcin. Dentro Entera de los programas se a manejan: 32767 Long Single, Double, bytes

corta: Integer, 32768 Entera larga: Decimal sencilla: Decimal doble: Alfanumrica: String, 0 a

65535

CONSTANTES CONSTANTE: Es el trmino que no contiene la o las variables. En la fsica pueden distinguirse 2 tipos de constante: las que dependen de ciertas condiciones determinadas, y las que expresan relaciones absolutamente generales e invariables y no estn sujetas a ninguna otra condicin, como la gravedad (9.8 M/S) o la constante universal de Newton 6.7x10^-11 Nm^2/kg^2. En la definicin de constantes se introducen identificadores que sirven como sinnimos de valores fijos. El identificador reservado Const debe encabezar la instruccin, seguido por una lista de asignaciones de constantes. Cada asignacin de constante debe consistir de un identificador seguido por un signo de igual y un valor constante, como se muestra a continuacin: Const valor mximo =255; precisin =0.0001; palabra_clave='Tutankamen'; encabezado =' NOMBRE DIRECCION TELEFONO '; Un valor constante puede consistir de un nmero (entero o real), o de una constante de caracteres. La constante de caracteres consiste de una secuencia de caracteres encerrada entre apstrofes ( ' ), y, en Turbo-Pascal, tambin puede formarse concatenndola con caracteres de control ( sin separadores ), por ejemplo : 'Teclee su opcin ==>'^G^G^G ;

Esta Teclee y a

constante

sirve su

para

desplegar opcin timbre

el

mensaje

continuacin

suena

el

tres

==> veces.

Las constantes de caracteres pueden estar formadas por un solo carcter de control, p.ej.: hoja nueva = ^L Existen dos notaciones para los caracteres de control en Turbo Pascal, a saber: El smbolo # seguido de un nmero entero entre 0 y 255 representa el carcter al que corresponde dicho valor decimal en el cdigo ASCII. El smbolo ^ seguido por una letra, representa el correspondiente carcter de control.

OPERACIONES ARITMTICAS
Operaciones aritmticas para poder realizar operaciones aritmticas necesitamos de operadores aritmticos. Estos operadores nos permitirn realizar operaciones aritmticas entre operan dos: nmero, constantes o variables. El resultado de

una operacin aritmtica ser un nmero. En la siguiente tabla, presento los operadores aritmticos, la operacin que puede realizar, un ejemplo de su uso y el resultado de dicho ejemplo. Operadores Aritmticos Operador Operacin ** * / + Mod div Potencia Multiplicacin Divisin Suma Resta Mdulo(residuo) Divisin entera

Ejemplo 4**3 8.25*7 15/4 125.78+62. 50 65.30-32.33 15 mod 2 17 div 35

Resultado 64 57.75 3.75 188.28 32.97 1 5

Al evaluar expresiones que contienen operadores aritmticos debemos respetar la jerarqua en el orden de aplicacin. Es decir, si tenemos en una expresin ms de un operador, debemos aplicar primero el operador de mayor jerarqua, resolver esa operacin, y as sucesivamente. Es importante sealar que el operador () es un operador asociativo que tiene la prioridad ms alta en cualquier lenguaje de programacin. En la siguiente tabla se presenta la jerarqua de los operadores. Jerarqua de los Operadores Aritmticos Operador Jerarqua ** *,/,mod,div (mayor)

Operacin Potencia Multiplicacin, divisin, mdulo, divisin entera

+,-

(menor)

Suma, resta

Las reglas para resolver una expresin aritmtica son las siguientes: 1.

Si una expresin contiene subexpresionesentre parntesis, stas se evalan primero; respetando claro est la jerarqua de los operadores aritmticos en esta subexpresin. Si las sobreexpresiones se encentran anidadas por parntesis, primero se evalan la subexpresin que se encuentra en el ltimo nivel de anidamiento. 2. Los operadores aritmticos se aplican teniendo en cuenta la jerarqua y de izquierda a derecha. Expresiones lgicas Las expresiones lgicas o booleanas, estn constituidas por nmeros, constantes o variables y operadores lgicos o relacionales. El valor que pueden tomar estas expresiones es el de Verdadero o falso. Operadores relacionales Los operadores relacionales son operadores que permiten comparar dos operando s. Los operan dos pueden ser nmeros, alfanumricos, constantes o variables. El resultado de una expresin con operadores relacionales es Verdadero o falso. A continuacin se presenta una tabla de los operadores relacionales, la operacin que pueden realizar, un ejemplo de su uso y el resultado de dicho ejemplo.

Operadores Relacionales Operador Operacin = Igual que <> Diferente a < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que

Ejemplo hola = ola a< > b 7 < 15 22 > 11 15 < = 22 35 > = 20

Resultado Falso Verdadero Verdadero Verdadero Verdadero Verdadero

MS INFORMACION. http://aurea.es/wp-content/uploads/2-tiposdatoslenguajec.pdf

EXPRESIONES LGICAS
El resultado de la evaluacin de la expresin es un valor lgico (cierto o falso). Se construye mediante

Operadores relacionales Operadores lgicos Operadores relacionales Operan sobre operandos (constantes, variables, expresiones) de diferentes tipos (numricos, caracteres) y dan como resultado un valor de tipo lgico (cierto o falso; 1 o 0). Operacin Igualdad Desigualdad Menor Menor Igual Mayor Mayor Igual Operador Alg. = < > Op. C == != < <= > >= Exp. C a==b a!=b a<b a<=b a>b a>=b

Recuerde que en lenguaje C es muy fcil confundir el operador de asignacin = (igual) con el de comparacin == (igual igual) Operadores Relacionales Ejemplos: a 2 a 44 b 3 d 44 a==b falso falso cierto a!=b cierto cierto falso a<b cierto cierto falso a<=b cierto cierto cierto a>b falso falso falso a>=b falso falso cierto

Precedencia de los Operadores Relacionales ( ) Subexpresiones encerradas entre parntesis se evalan primero (mayor nivel de precedencia).

<, <=, >, >= ==, != (menor nivel de precedencia) La evaluacin de los operadores con la misma prioridad se realiza de izquierda a derecha. Observacin A = B asigna el valor de la variable B a la variable A A == B compara el valor de la variable A con el valor de la variable B Una comparacin produce un resultado CIERTO/FALSO. En C++ el valor falso corresponde a 0 (cero). Las formas de representar el cero o la falsedad son: Como valor entero. int value = 0; Como carcter. char false_value = \0; Como palabra reservada. bool t = false; Expresiones Lgicas Ejemplos (a + b) < c votos > electores a != (x*x + b*x + c) (alto - bajo) == 2 (horas*3600) >= (minutos*60 + segundos) numero <= 2 Expresiones Lgicas: Ejemplo 1 Evaluar la siguiente expresin lgica: x >= (y+z) R1 = y + z R2 = x >= R1 Resultado Para los valores x = 3, y = 4, z = 1 se tiene R1 = 4 + 1 = 5 R2 = 3 >= 5 = falso Resultado Expresiones Lgicas: Ejemplo 2 Evaluar la siguiente expresin lgica: contador1 + 1 < contador2

R1 = contador1 + 1 R2 = R1 < contador2 Resultado Para los valores contador1 = 3, contador2 = 1 se tiene R1 = 3 + 1 = 4 R2 = 4 < 1 = falso Resultado Expresiones Lgicas: Ejemplo 3 Evaluar la siguiente expresin lgica: num % 4 == 0 R1 = num % 4 R2 = R1 == 0 Resultado Para el valor num = 7 se tiene R1 = 7 % 4 = 3 R2 = 3 == 0 = falso Resultado Expresiones Lgicas: Ejemplo 4 Evaluar la siguiente expresin lgica: (a + b - 1) < (x * y) R1 = a + b R2 = R1 - 1 R3 = x * y R4 = R2 < R3 Resultado Para los valores a = 31, b = -1, x = 3, y = 2 se tiene R1 = 31 + (-1) = 30 R2 = 30 - 1 = 29 R3 = 3 * 2 = 6 R4 = 29 < 6 = falso Resultado

Operadores lgicos Operan sobre operandos (constantes, variables, expresiones) de tipo lgico (cierto o falso) y evalan a un valor de tipo lgico (cierto o falso).

Operacin y lgico o lgico Negacin

Op. Algebraico

Op. C && || !

Exp. C a && b a || b !a

Operadores Lgicos Tabla de la verdad a cierto cierto falso falso b cierto falso cierto falso a && b cierto falso falso falso a || b cierto cierto cierto falso !a falso falso cierto cierto

Expresiones Lgicas Ejemplos ! (p && q) || s p && q && s (a || b) && (c || d) a > 5 && !(b < c) || 3 <= d (op < min) || (op > max) (edad >= 18) && (edad <= 60) ! encontrado

Precedencia de los Operadores Lgicos

( ) Sub-expresiones encerradas entre parntesis se evalan primero (mayor nivel de precedencia). ! && || (menor nivel de precedencia) Precedencia y Asociatividad de Operadores Operadores () ! ++ -- (unario) */% + - (binario) < <= > >= == != &&|| Asociatividad de izq. a der. de der. a izq.

de izq. a der. de izq. a der. de izq. a der. de izq. a der. de izq. a der de izq. a der.

.Expresiones Lgicas: Ejemplo 1 Evaluar la siguiente expresin lgica !(x < 5) && !(y >= 7) R1 = x < 5 R2 = y >= 7 R3 = !R2 R4 = !R1 R5 = R4 && R3 Resultado

Expresiones Lgicas: Ejemplo 1

Evaluar la siguiente expresin lgica para x = 3 y y=6 !(x < 5) && !(y >= 7) R1 = 3 < 5 cierto R2 = 6 >= 7 falso R3 = !falso cierto R4 = !cierto falso R5 = cierto && falso = falso

Expresiones Lgicas: Ejemplo 2 Evaluar la siguiente expresin lgica !((i > 4) || (j <= 6)) R1 = i > 4 R2 = j <= 6 R3 = R1 || R2 R4 = !R3 Resultado

Expresiones Lgicas: Ejemplo 2 Evaluar la siguiente expresin lgica para i = 22 y j = 3 !((i > 4) || (j <= 6)) R1 = 22 > 4 cierto R2 = 3 <= 6 cierto R3 = cierto || cierto cierto R4 = !cierto falso Expresiones Lgicas: Ejemplo 3 Evaluar la siguiente expresin lgica !(a + b == c) || (c != 0) && (b - c > = 19) R1 = a + b R7 = R3 && R5 R2 = R1 == c R8 = R6 || R7 Resultado R3 = !R2 R4 = c != 0 R5 = b - c R6 = R5 >= 19 Expresiones Lgicas: Ejemplo 3 Evaluar la siguiente expresin lgica para a = 34, b = 12y c=8 !(a + b == c) || (c != 0) && (b - c > = 19)

R1 = 34 + 12 = 46 R2 = 46 == 8 = falso R3 = !falso = cierto R4 = 8 != 0 = cierto R5 = 12 - 8 = 4 R6 = 4 >= 19 = falso

R7 = cierto && falso = falso R8 = cierto || falso = cierto

Resumen

Tipos de datos
Tipo Entero Real Caracter Notacin en C int - long long long char short unsigned float double long double char

Tipo Carcter Este tipo es capaz de almacenar un carcter del conjunto definido por el lenguaje. Casi universalmente un tipo char tiene 8 bits, y en consecuencia puede almacenar 256 tipos de caracteres diferentes. Tpicamente el conjunto de caracteres es una variante del conjunto ISO-646; por ejemplo el conjunto ASCII. A == 65, B == 66,, Z == 90, a == 97 Cuales caracteres estn entre [91, 96]? Tipos Numricos El tipo entero viene de tres maneras: int (plano), signed int (con signo) y unsigned int (sin signo). Y de tres tamaos: short int (corto), int (plano), long int (largo) y long long (ms largo) Literales: base decimal: 0 2 63 base octal: 00 02 077 base hexad.: 0x0 0x2 0x3f Adems se pueden aadir sufijos para escribir explcitamente literales sin signo: U largos: L. Ejemplo: 4u, 3L. Tipos Numricos Punto Flotante: Por omisin los puntos flotantes son del tipo double.

1.23 .23 0.23 1. 1.0 1.2e10 1.12e-15 (Note que no existen espacios dentro de cada nmero, por ejemplo, 1.12 e 15 no es vlido). Si se quiere escribir un punto flotante del tipo float: 3.14159265f 2.997925F Resumen Definicin y declaracin de constantes Notacin algortmica nombre: valor_constante PI: 3.14159 Notacin en C++ #define identificador valor #define PI 3.14159 const tipo_de_dato identificador = valor const float PI = 3.14159; Resumen Declaracin de variables Notacin Algortmica Notacin en C++

lista_de_variables: tipo_de_dato a, b, c : entero x: real x = 2.34

tipo_de_dato lista_de_variables; int a, b, c; float x = 2.34;

Resumen Hay distintas maneras de observar la salida de una variable de tipo entero:

Int i=425; printf(%d %o %x %X,i,i,i,i); salida: 425 651 1a9 1A9 Resumen Tipo Entero Modificadores d, i hh signed char h short l (ele) long ll (ele ele) long long unsigned long long Tipo Decimal Modificador a, A, e, E, f, F L long double

o, u, x, X unsigned char unsigned short unsigned long

Resumen Para el tipo decimal: eE: El argumento double es redondeado y convertido al formanto [-]d.ddde+-dd. fF: El argumento double es redondeado y convertido a la notacin decimal []ddd.ddd aA: El argumento double es covertido a la notacin hexadecimal: [-]0xh.hhhp[+-]d. Lap se usa para separar la mantiza delexponente. Resumen Tambien para observar un tipo decimal: float f=12.234; printf(%7.2f %7.2e\n,f,f); 12.23 1.223e+0.

Вам также может понравиться