:.Tipos de Datos en C.:

En el lenguaje C bajo el estándar ANSI –o ANSI C-, se trabajan con varios tipos de datos, que podemos usar en nuestras ‘variables’ durante el desarrollo de un programa. Tocaré los más usuales y ejemplificaré los mismos.

Bueno, primero que nada, hablemos de palabras reservadas, que, como dije en una entrara introductoria, son aquellas que “se reonocen” dentro del lenguaje y tienen una función determinada, por lo que NO podemos usarlas para nombrar nuestras variables. Aquí una lista:

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

Esas palabras se usan dentro de C para acciones particulares, por lo que debemos evitar nombrar nuestras variables o nuestras funciones así, pues nos tiraría errores -y sí pasa, seguido-, así que solo para tener en cuenta,algunas las usaré, otras no, aunque se pueden investigar.

Ahora, empecemos con los tipos de datos, que como se verá, vienen dentro de las palabras reservadas, tenemos:

Clic en la imagen para Ampliar

Click en la Imagen para Ampliar

En la tabla se aprecian cuáles son los tipos de variables, su “ancho en bits” -o sea, cuánto ocupan en memoria y, por lo tanto, cuánta información pueden almacenar-, la “E” significa exponen´cial, si vemos al float, nos dice que abarca un rango de 3.4E^38 es el equivalente a: 340000000000000000000000000000000000000, 34 con 37 ceros detrás, ese es el número máximo que puede almacenarse en él, si se pasa de ese número, pasan cosas desagradables, bien se mete con otro espacio en ram o de plano el programa truena, solamente para tenerse en cuenta.

Signed significa “con signo”, o sea, positivo y negativo. Por eso char va de -127 a 127 y unsigned char var de 0 a 256, se ven ‘acumuladas’ todas sus posibilidades a partir de 0 hasta su tope; Long significa “largo”, se nota que un int y short int son de menor capacidad que un long int. La tabla se queda para quien desee hacer pruebas :).

Ahora sí, empecemos con un par de programas simples, comenzamos aprendiendo a declarar variables, la sitaxis es la siguiente:
tipo nombreVariable;
primero se coloca de qué tipo va a ser, luego su nombre o identificador, como le quieran decir y termanamos con un “;” como cualquier línea de código. A veces es conveniente declarar varias variables en una sola línea, y si son del mismo tipo se hace poniendo comas entre ellas, así:
tipo nombreVariable1,nombreVariable2,nombreVariableN;

Existen ‘reglas’ para la declaración, los identificadores o nombres de las variables deben empezar, ya sea con un caracter o un guión bajo, pueden llevar mayúscuas y minúsuclas, pero no “-” guiones medios o espacios en blanco para un solo nombre. Ejemplos de identificadores válidos:

x, y12, suma_1, _temperatura, nombres, area, proc_imp, TABLA

Ejemplos de identificadores NO válidos:

4num —–>Inválido porque comienza con un número
“x” ——>Inválido porque lleva caracteres ilegales (“)
orden-no —–>Inválido porque lleva caracteres ilegales (“)
identificador error —–>Inválido porque lleva caracteres ilegales (espacio en blanco)

Lo usual es que los identificadores sean explícitos en su contenido, por comodidar en la lectura del código, se cuentan con 31 caracteres para el nombre.

Comencemos tecleando este código para probar lo anterior:

02 Datos

Click en la Imagen para Ampliar

Nos entrega:

04 Consola

Click en la Imagen para Ampliar

El código está lleno de comentarios que no afectan al programa, se pueden omitir y no pasa nada, funciona igual, ahora, como se puede ver, hay varias formas de trabajar, pueden declarar que van a usar una variable de un tipo y darle de una vez un valor, o esperar hasta que se ocupe y entonces ya inicializarla, es algo muy importante, que se verá a su tiempo. Quiero hablar, antes, de lo que hice con el print format.

Como su nombre lo dice, imprime Formatos, si se dan cuenta, pongo texto y en algunos lados pongo %Algo, ese “Algo” se conoce como descriptor de campo, acompañado con el “%” me dice que ahí quiero que se ponga una variable, para imprimir variables, debemos saber de qué tipo son y entonces, ponerlas en nuestro “formato” de impresión. Una vez que colocas %Algo, el compilador busca “después de la coma” qué variable va acomodada en ese lugar. Para imprimir correctamente, les dejo una muestra:

%d ——>Enteros Con Signo
%i ——>Enteros Con signo
%u ——>Enteros Sin signo (Unsigned int)
%f ——>Punto -o coma, como lo leas mejor- Flotante Decimal
%e ——>Notación científica usando ‘e’ como caracter (Ejemplo: 3.1e3 = 3.1*10^3 = 3100)
%E ——>Notación científica usando ‘E’ como caracter
%g ——>Punto Flotante Decimal usando %e o %f, el que sea más corto
%G ——>Punto Flotante Decimal usando %E o %f, el que sea más corto
%x ——>Hexadecimal en minúsculas -no hace conversiones, un ejemplo más tarde-
%X ——>Hexadecimal en mayúsculas -no hace conversiones, un ejemplo más tarde-
%o ——>Entero Sin Signo en octal (unsigned int in octal)

Además de eso, el “Formato” de printf puede incluír las siguientes cosas:
\a ——>Sonido de alerta——->Valor en ASCII 007
\b ——>Retroceso ——->Valor en ASCII 008
\t ——>Tabulador Horizontal—>Valor en ASCII 009 //Tremendamente útil
\v ——>Tabulador Vertical—–>Valor en ASCII 010
\n ——>Nueva Línea———–>Valor en ASCII 011
\f ——>Avance de Página——>Valor en ASCII 012
\r ——>Retorno de carro——->Valor en ASCII 013
\” ——>Comillas (“)————>Valor en ASCII 034 //No “interfieren” con las comillas que usas para marcar el formato
\’ ——>Comilla Simple(‘)——->Valor en ASCII 049 //ídem
\? ——>Interrogación(?)——->Valor en ASCII 063 //Tampoco interfiere con el formato
\\ ——>Barra Inclinada(\)——>Valor en ASCII 092 //ídem
——>Nulo——————>Valor en ASCII 000 //ídem

Así podemos dar a nuestro “formato” un toque más sofisticado; un programa de prueba:

03 Datos

Click en la Imagen para Ampliar

Nos entrega:

05 Consola

Click en la Imagen para Ampliar

En una sola línea pusimos todas las variables, ocupando comas para separar las variables de acuerdo a su orden de aparición “en el formato”, como las quiero en el orden: x,y,w,c,f, así las coloco. Si cambio la x por la y, primero se imprimiría el valor de y “con %d”, y luego el valor de x “con %i”. ¿Qué pasa si quieres imprimir un char y le pones el campo de un int? Sería bueno probar. Esto de hacer “en una línea” que aparezcan en la pantalla varias cosas con un “enter” entre sí, es muy útil para cuando hacemos menús, nos ahorramos escribir mucho código para mostrar las diferentes opciones, por ejemplo.

Esto es todo de momento, pronto podré algunas más cosillas que se me haya olvidado, pero creo que si las entradas son muy largas, no las va a querer leer nadie.

Yo no soy un gran programador, no es típicamente mi área aunque sí necesito manejarme lo mejor posible en ella, algunas cosas que aquí expongo claro que pueden estar mal, trato de hacer lo mejor posible. Saludos

Anuncios

~ por wkats en diciembre 15, 2011.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: