Ver Mensaje Individual
  #12 (permalink)  
Antiguo 22/02/2014, 13:32
CrazypiXel
 
Fecha de Ingreso: julio-2013
Ubicación: España
Mensajes: 51
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Ejercicio usar constante para dar nombre a un valor

Cita:
Iniciado por vangodp Ver Mensaje
En la funcion printf(), cuando vayas imprimir:
int usar %d para entero con signo
float usar %f para real con signo
char usar %c para carácter
char [n] usar %s para cadena de caracteres

Función scanf() cuando vayas recibir por teclado:
int usar %d para recibir entero con signo
float usar %f para recibir real con signo
char usar %c para recibir carácter solo ejemplo: 'a'
char [n] usar %s para recibir cadena de caracteres entre comillas doble ejemplo "cadena de caracteres"


%d = decimal
%i = entero
%f = flotante (con coma)
%c = char(una sola letra entre comillas simples 'L')
%s = string (cadena de caracteres entre comillas dobles "Letra")

%2.2f eso de 2.2 es la precisión que quieres mostrar (cantidad de números antes y después de la coma)

Ejemplo:
Código C:
Ver original
  1. #include <stdio.h>
  2. #define salto printf("\n\n");
  3.  
  4. int main () {
  5.     float f = 22.00;
  6.    
  7.     printf ( " %2.1f ", f ); /*muestra 2 numeros antes del punto y 1 despues*/
  8.     salto /*salta 2 lineas*/
  9.    
  10.     printf ( " %2.2f ", f ); /*muestra 2 numeros antes del punto y 2 despues*/
  11.     salto
  12.    
  13.     printf ( " %2.10f ", f ); /*muestra 2 numeros antes del punto y 10 despues*/
  14.     salto
  15.     printf ( " %2.100f ",
  16.              f ); /*muestra 2 numeros antes del punto y 100 despues XD Eso me suena a bug pero enfin, funciona XD*/
  17.    
  18.     getchar();       
  19.     return 0;
  20. }

Que un numero no se muestre no quiere decir que no este en la memoria.
Deben saber el tamaño de numero que alberga su compilador.
Eso hay formas de averiguar.
Aqui te dice mas o menos cuantos numeros pueden guardar en cada tipo de variable y cuanto ocupa en memoria dicha variable.
http://blog.espol.edu.ec/programando...el-lenguaje-c/
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #define salto printf("\n\n");
  5.  
  6. int main () {
  7.     int tam = 0;
  8.  
  9.     /*tamaño de un entero*/
  10.     tam = sizeof(int);
  11.     printf ( "Entero ocupa: %d bytes",tam);
  12.     salto
  13.    
  14.     /*char*/    
  15.     tam = sizeof(char);
  16.     printf ( "Char ocupa: %d bytes",tam);    
  17.     salto
  18.    
  19.     /*float*/
  20.     tam = sizeof(float);
  21.     printf ( "float ocupa: %d bytes",tam);
  22.     salto
  23.    
  24.     /*double*/
  25.     tam = sizeof(double);
  26.     printf ( "Double ocupa: %d bytes",tam);
  27.     salto
  28.    
  29.     getchar();       
  30.     return 0;
  31. }

El programa de arriba mira el tamaño que ocupa una variable en la memoria.
Puede cambiar de un ordenador a otro, de un ide a otro, si el ordenador es 32/64bits puede variar

Saber cuanto ocupa una var puede darte mas control sobre cuanta memoria vas a gastar.
Otra cosa...
Si vas almasenar un dato como lo es edad, puedes usar unsigned short int edad, por que nadie tiene mas de 100 años ni tampoco tiene edad negativa y eso ocupa la mitad de un int
podéis comprobar igual que hice arriba con un:
tam = sizeof(unsigned short int);
printf ( "U_SHORT_INT ocupa: %d bytes",tam);
Muchas gracias por el resumen sobre los tipos y saber el tamaño para ajustarse a cual usar en un print o un scanf ,m el ultimo programa lo tengo hecho como ejemplos para ver cuantos puede albergar mi ordenadoe.
Pero de mi duda el tio en el ejemplo se colo no? en el printf debia ir %f ya que al impuesto tener decimales podria haber dado un numero real no? y puso int pq sabia q el resultado era entero? Si no no entiendo el uso de %i en el ejemplo del libro
P.D ve los tipoc que hay voy viendo como debo usarlor segun tamaño numero real caracter , cadena de caracteres etc... unicamente me lio un poco con el short y long que no se si pertenecen a int o son un tipo por si mismos o si se indica long int... en fin ya me iran saliendo ejercicios q tenga q usarlos imagino y espero :D