• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • Conoce los Días Naranjas de PcComponentes: descuentos de hasta un 40% en tecnología. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

[Introducción al lenguaje de programación C] Jugando con las variables (Capítulo IV)

Neur0na2

Timing Attack!
Registrado
13 Feb 2016
Mensajes
115
Puntos
0
En el capítulo anterior estuvimos dimos un vistazo rápido a las variables. Vimos los tipos int, float y char*, así que hoy veremos algún tipo más en los ejemplos y veremos algunas de las posibilidades que nos permiten las variables.

Recordad lo que dije al final del anterior capítulo, es importante utilizar la variable adecuada según el rango disponible para ahorrar memoria y que nuestro programa esté lo más optimizado posible. Os vuelvo a poner la tabla para que os hagáis una idea.

Spoiler

Supongamos que tenemos el siguiente código:

Código:
#include <stdio.h>

int main(int argc, char *argv[])
{
    unsigned int ladrillos = 69;
    unsigned int botesPintura = 15;
    
    printf("Tenemos %d ladrillos actualmente\n", ladrillos);
    printf("Tenemos %d botes de pintura actualmente\n", botesPintura);
    
    ladrillos = 59;
    botesPintura = 9;
    
    printf("Ahora tenemos %d ladrillos\n", ladrillos);
    printf("Ahora tenemos %d botes de pintura\n", botesPintura);
    
    ladrillos = ladrillos - 4;
    botesPintura = botesPintura - 7;
    
    printf("Quedan %d ladrillos\n", ladrillos);
    printf("Quedan %d botes de pintura\n", botesPintura);
    
    getch();
    return 0;
}

Ahora vayamos por partes:

Código:
unsigned int ladrillos = 69;
unsigned int botesPintura = 15;

Esta vez creamos una variable de tipo entero sin signo unsigned int por lo que no se le pueden asignar valores negativos, llamada ladrillos y le asignamos el valor 69. Lo mismo ocurre abajo, pero la llamamos botesPintura y le asignamos el valor de 15.

Código:
printf("Ahora tenemos %d ladrillos\n", ladrillos);
printf("Ahora tenemos %d botes de pintura\n", botesPintura);

Esto ya lo hemos visto en capítulos anteriores. Mostramos en pantalla el valor asignado de ambas variables.

Código:
ladrillos = 59;
botesPintura = 9;

Modificamos el valor asignado de ambas variables.

Código:
printf("Ahora tenemos %d ladrillos\n", ladrillos);
printf("Ahora tenemos %d botes de pintura\n", botesPintura);

Y los volvemos a mostrar en pantalla.

Código:
ladrillos = ladrillos - 4;
botesPintura = botesPintura - 7;

Esto sí es nuevo. Ahora le asignamos a la variable ladrillos el valor de ladrillos que es 59 y le restamos 4 unidades. A la variable botesPintura le asignamos el valor que posee y le restamos 7 unidades.

Código:
printf("Quedan %d ladrillos\n", ladrillos);
printf("Quedan %d botes de pintura\n", botesPintura);

Y mostramos en pantalla el valor restante de ambas variables.

Es muy sencillo, pero poco a poco vamos viendo todas las posibilidades que nos brinda C. También podemos sumar, restar, multiplicar y dividir las variables que creemos en uno de los argumentos de printf. Veamos como hacerlo:

Supongamos que ahora tenemos:

Código:
#include <stdio.h>

int main(int argc, char *argv[])
{
    int numero = -1;
    unsigned numero2 = 5;
    int numero3 = -9;
    
    printf("El valor de numero ahora es: %d\n", numero + 3 / 1);
    printf("El valor de numero2 ahora es: %d\n", numero2 * 3);
    printf("El valor de numero3 ahora es: %d\n", numero3 + numero2);
    
    getch();
    return 0;
}

Código:
int numero = -1;
unsigned numero2 = 5;
int numero3 = -9;

Declaramos una serie de variables y les asignamos un valor.

Código:
printf("El valor de numero ahora es: %d\n", numero + 3 / 1);

Mostramos en pantalla el valor de numero y le sumamos 3 y después lo dividimos por 1. Sí, en C la el operador de dividir se escribe con una /.

Código:
printf("El valor de numero2 ahora es: %d\n", numero2 * 3);

Mostramos en pantalla el valor de numero2 y lo multiplicamos por 3. Efectivamente, en C el operador de multiplicar se escribe con un *.

Código:
printf("El valor de numero3 ahora es: %d\n", numero3 + numero2);

Y por último, mostramos en pantalla el valor de numero3 y le sumamos el valor de numero2.

Evidentemente podemos complicar los algoritmos matemáticos tanto en las variables como en los argumentos de printf. Volvamos a ver otro ejemplo:

Código:
#include <stdio.h>

int main(int argc, char *argv[])
{
    double a = -2;
    double b = -5;
    double c = 12;
    
    a = a * (5+3-1);
    b = b + a + (7 * 8) / 2;
    
    printf("El valor de a es: %lf\n", a);
    printf("El valor de b es: %lf\n", b);
    printf("El valor de c ahora es: %lf\n", c + (9 * 9) - (3 * 3));
    
    getch();
    return 0;
}

De nuevo por partes:

Código:
double a = -2;
double b = -5;
double c = 12;

Creamos unas variables esta vez de tipo double, que como vimos en la tabla ocupa en memoria 64 bits y tiene una precisión de 15 dígitos por los 32 bits que ocupa el tipo float y sus 7 dígitos de precisión. Evidentemente para este caso podía usar un tipo float perfectamente, pero es para que vayáis viendo más tipos de dato en los ejemplos.

Código:
a = a * (5+3-1);

Asignamos el valor de la variable a, a su valor multiplicado por la suma del paréntesis.

Código:
b = b + a + (7 * 8) / 2;

Ahora asignamos el valor de la variable b a su valor, sumado a la variable a, sumado a la multiplicación del paréntesis y a la división.

Código:
printf("El valor de a es: %lf\n", a);
printf("El valor de b es: %lf\n", b);

Y ahora mostramos los valores por pantalla. Fijaos que al ser tipos double la letra a escribir después del símbolo % es lf.

Código:
printf("El valor de c ahora es: %lf\n", c + (9 * 9) - (3 * 3));

Por último hacemos la operación matemática desde uno de los argumentos de printf. Sumamos a la variable c el resultado de la multiplicación del paréntesis y lo restamos por la multiplicación del segundo paréntesis.

Podéis hacer vosotros mismos ejercicios. Por ejemplo dado la nota de cinco exámenes calcular la media. Una vez visto esto solo hay que darle un poco al coco para sacarlo.

En el siguiente capítulo veremos como escanear datos introducidos con el teclado.

Espero que os haya gustado :eek:k:

Capítulo anterior
Capítulo siguiente
 
Última edición:
Arriba