You are on page 1of 5

Programa de Tecnologa en Cmputo

Curso C Bsico

Tipos de dato
Objetivos printf, scanf, especificadores de formato y secuencias de escape Rangos de los tipos de dato sizeof Cdigo necesario: limites.c Desarrollo: 1.- En un nuevo archivo de texto escribe el esqueleto de un nuevo programa.
#include <stdio.h> void main() { }

2.- Dentro de la funcin main declaremos tres valores usando tres notaciones diferentes: decimal, hexadecimal y octal.
int a = -567; int b = 0xFFE9; int c = 0243;

3.- Mostremos estos valores en pantalla usando la funcin printf


printf("a: %d b: %d c: %d", a,b,c);

4.- Compila y ejecuta este programa, obtendrs la siguiente salida.


a: -567 b: 65513 c: 163

El especificador de formato %d imprime la representacin decimal de un int, tambin


sirve para lo mismo %i Escribe cdigo para investigar para qu sirven los formatos siguientes y llena la tabla Formato %x %X %o %u Funcin
Imprime el nmero en hexadecimal Imprime el nmero en hexadecimal, las letras en maysculas Imprime el nmero en octal Imprime el nmero, interpretado como nmero sin signo

Prctica Tipos de dato Elabor: Julin Solrzano

Programa de Tecnologa en Cmputo

Curso C Bsico

5.- Declaremos ahora nmeros de punto flotante. Despus de las variables anteriores y antes del printf, aade estas lneas.
float d = 35.37; float e = 14.2957674;

6.- Aade al final esta lnea para imprimir estos nmeros. La secuencia de escape \n nos permite dar un salto de lnea.
printf("\n d: %f, e: %e", d, e);

Cul es la salida? d:

35.369999

e: 1.429577e+001

El especificador de formato %f imprime un float o double como un decimal con


punto. El especificador %e lo imprime con un solo nmero antes del punto decimal y con un exponente correspondiente. 7.- Escribe cdigo para investigar los siguientes modificadores y llena la tabla. Formato %G %g %E Funcin
Formato exponencial si es un nmero muy grande o muy pequeo, formato normal en otro caso Lo mismo que G pero la e aparece en minscula Formato exponencial, pero la E aparece en mayscula

8.- Vamos a imprimir estos nmeros en forma de tabla. Borra los dos printf y reemplzalos con las siguientes lneas.
printf("a: printf("b: printf("c: printf("d: printf("e: %10d\n", a); %10d\n", b); %10d\n", c); %10.2f\n", d); %10.2f\n", e);

Complalo y ejectalo, debers obtener una salida como la siguiente:


a: b: c: d: e: -567 65513 163 35.37 14.30

Prctica Tipos de dato Elabor: Julin Solrzano

Programa de Tecnologa en Cmputo

Curso C Bsico

9.- Qu puedes concluir sobre la estructura de los especificadores de formato?

% 10 .2 f
Tamao del campo presicin formato

11.- Declaremos un char. Notar que es vlido declarar caracteres directamente usando comillas simples. Aadir esta declaracin y este printf.
char c = 'a'; printf("Caracter: %c\nCodigo ASCII: %d", c,c);

Lo anterior ilustra el hecho de que char es, a final de cuentas, un nmero. Por lo tanto la siguiente declaracin tambin es vlida
char c = 97;

12. La funcin scanf es una de las formas en que podemos obtener una entrada desde el teclado. Funciona similarmente a printf en cuanto a los modificadores de formato. No olvides el ampersand (&) antes del nombre de la variable donde quieres guardar la entrada. Escribe las siguientes lneas:
int numero; printf("Escribe un numero y presiona enter: "); scanf("%d", &numero); printf("Escribiste: %d", numero);

13. scanf al igual que printf puede recibir mltiples argumentos, uno por cada especificador de formato. Prueba lo siguiente:
int numero, numero2, numero3; printf("Escribe tres numeros separados por coma: "); scanf("%d,%d,%d", &numero, &numero2, &numero3); printf("Escribiste: %d, %d y %d", numero, numero2, numero3);

Prctica Tipos de dato Elabor: Julin Solrzano

Programa de Tecnologa en Cmputo

Curso C Bsico

14.- Compila y ejecuta el cdigo limites.c. Este programa muestra los rangos de los diferentes tipos de dato. Tras analizar la informacin que aparece responde

Cuntos bits mide un char? _____________________________________________ Cul es el rango de un char con signo? ____________________________________ Cul es el rango de un int con signo? _____________________________________ Cul es el rango de un int sin signo? _____________________________________
15.- Agrega esta declaracin de una variable char y compila
char c = 300;

(300 es un nmero que se sale del rango de char)

Qu advertencia arroja el compilador?


implcita de la constante

desbordamiento en conversin

Qu pasa si imprimes esta variable?

Se imprime una coma

16.- El operador sizeof nos permite saber cunto mide un tipo de dato (no su rango, como en el ejemplo anterior, sino el espacio que ocupa en la memoria). Escribe los siguientes printf.
printf("char: %d byte\n", sizeof(char)); printf("int: %d bytes", sizeof(int));

Prctica Tipos de dato Elabor: Julin Solrzano

Programa de Tecnologa en Cmputo Ejercicios 1.- Investiga la funcin de las siguientes secuencias de escape y llena la tabla

Curso C Bsico

Secuencia de escape \t \r \b \ \ \\

Funcin

2.- Haz una tabla parecida a la de limites.c que indique el tamao de todos los tipos de dato (char, short, int, long, float, double).

Prctica Tipos de dato Elabor: Julin Solrzano

You might also like