Como hemos visto (y como era de esperar), el símbolo de la suma es "+", y podemos imaginar cual será el símbolo de la resta... pero alguna de las operaciones matemáticas habituales tiene símbolos menos intuitivos. Veamos cuales son los más importantes:
Operador |
Operación |
+ |
Suma |
- |
Resta, negación |
* |
Multiplicación |
/ |
División |
% |
Resto de la división (“módulo”) |
Un fuente de ejemplo podría ser:
/* Ejemplo en C: operaciones aritméticas - ej010601.c */
#include
int main()
{
printf("11 más 2 es %d. ", 11+2);
printf("11 menos 2 es %d. ", 11-2);
printf("11 por 2 es %d. ", 11*2);
printf("11 entre 2 es %d. ", 11/2);
printf("El resto de dividir 11 entre 2 es %d. ", 11%2);
return 0;
}
Que tendría como resultado
11 más 2 es 13. 11 menos 2 es 9. 11 por 2 es 22. 11 entre 2 es 5. El resto de dividir 11 entre 2 es 1.
Ejercicio propuesto 1.6.1.1: Crea un programa que calcule el producto de los números 12 y 13.
Ejercicio propuesto 1.6.1.2: Un programa que calcule la diferencia (resta) entre 12345 y 998.
Ejercicio propuesto 1.6.1.3: Un programa que calcule y muestre el resultado de dividir 3765 entre 18 y el resto de esa división.
Sencillo:
Por ejemplo, este fuente:
/* Prioridad de operadores - ej010602.c */
#include
int main()
{
printf("2+3*4=%d. ", 2+3*4);
printf("(2+3)*4=%d. ", (2+3)*4);
printf("2+3+4*5=%d. ", 2+3+4*5);
printf("2+(3+4)*5=%d. ", 2+(3+4)*5);
return 0;
}
mostraría en pantalla:
11 más 2 es 13. 11 menos 2 es 9. 11 por 2 es 22. 11 entre 2 es 5. El resto de dividir 11 entre 2 es 1.
Ejercicio propuesto 1.6.2.1: Calcula a mano y después comprueba con un programa en C el resultado de -2 + 3 * 5
Ejercicio propuesto 1.6.2.2: Calcula a mano y después comprueba con un programa en C el resultado de (20+5) % 6
Ejercicio propuesto 1.6.2.3: Calcula a mano y después comprueba con un programa en C el resultado de 15 + -5*6 / 10
Ejercicio propuesto 1.6.2.4: Calcula a mano y después comprueba con un programa en C el resultado de 2 + 10 / 5 * 2 - 7 % 1
El espacio del que disponemos para almacenar los números es limitado. Si el resultado de una operación es un número "demasiado grande", obtendremos un resultado erróneo. Por eso en los primeros ejemplos usaremos números pequeños. Más adelante veremos a qué se debe realmente este problema y cómo evitarlo. Este programa anticipa ya ese problema:
/* Ejemplo de desbordamiento - ej010603.c */
#include
int main()
{
printf("1000000*1000000=%d. ", 1000000*1000000);
return 0;
}
Su resultado podría ser (quizá no exactamente igual en todos los compiladores y sistemas operativos, como veremos) algo como:
1000000*1000000=-727379968.
Ejercicio propuesto 1.6.3.1: Crea un programa que muestre el resultado de multiplicar 20000 por 20000 y luego el de 200000 por 200000.