Ley 909 de 2004
Contenido
* Operador de asignación
* Operadores aritméticos
* Operadores relacionales
* Actividad 1
* Operadores lógicos
* Actividad 2
* Operadores a nivel de bits
* Operadores unitarios (incremento y decremento)
* Abreviados
* Potenciación
* Precedencia y asociatividad
* Actividades de refuerzo
* Referencias
C hace uso deoperadores para llevar a cabo operaciones aritméticas y lógicas. A continuación veremos con más detalle cada uno de estos:
Operador de asignación (=)
Este operador es usado para llevar un valor a una variable. Algunos ejemplos son:
gallinas = 5;
puercos = puercos + 1;
vacas = 5*puercos;
animales = gallinas + vacas + puercos;
a = (b + c)*(c/(1 +f)) ;
b++;
A continuación se muestraun ejemplo, tomado del libro C primer Plus:
La salida del ejemplo anterior se muestra a continuación, el hecho más importante aquí es el uso del operador de asignación (ver la parte del código encerrada en el cuadrito), gracias al cual a las variables, jane, tarzan y cheeta se les pudo llevar el valor de 68 en este caso.
Operadores aritméticos
La siguiente tabla resume los operadoresaritméticos empleados en C.
Operador | Operación |
+ | Suma |
- | Resta |
* | Multiplicación |
/ | División |
% | Modulo |
Para aclarar un poco la forma como se usan estos operadores veamos el siguiente ejemplo:
#include <stdio.h>
int main(void)
{
/* Declaracion de variables */
int a, b;
double ad, bd;
char ac, bc;
int c; // Variable entera en la cual sevan a almacenar el resultado de operar
// a con b
double cd; // Variable en la que se almacenaran el resultado de las variables
//ad y bd
char cc; // Variable en la cual se almacenaran el resultado de operar las
//variables ac y bd
// Inicializacion de las variables
a = -5, b = 9;
ad = 4.5, bd = 3.5;
ac = 'a', bc = 'c';
//Operaciones sobre variables enteras
printf("a + b = %d + %d = %d\n",a,b,a + b);
c = a - b;
printf("a - b = %d - %d = %d\n",a,b,c);
printf("a * b = %d * %d = %d\n",a,b,a*b);
c = a/b;
printf("a / b = %d / %d = %d\n\n",a,b,c);
printf("ad + bd = %lf + %lf = %.2lf\n",ad,bd,ad + bd);
printf("ad - bd = %lf - %lf = %.2lf\n",ad,bd,ad - bd);
printf("ad * bd = %lf * %lf =%.2lf\n",ad,bd,ad*bd);
cd = ad/bd;
printf("ad / bd = %lf / %lf = %.2lf\n\n",ad,bd,cd);
cc = ac + bc;
printf("ac + bc = %c + %c = %d + %d = %d\n",ac,bc,ac,bc,cc);
cc = ac - bc;
printf("ac - bc = %c - %c = %d - %d = %d\n",ac,bc,ac,bc,cc);
cc = ac * bc;
printf("ac * bc = %c * %c = %d * %d = %d\n",ac,bc,ac,bc,cc);
cc = ac / bc;
printf("ac / bc = %c / %c = %d / %d =%d\n\n",ac,bc,ac,bc,cc);
system("PAUSE");
return 0;
}
La salida del programa anterior en pantalla es la siguiente:
Hay que observar dos cosas de esta salida, por un lado cuando la división se hace entre variables enteras, la parte decimal se pierde, solo se toma la parte entera. Por otro lado las variables tipo carácter son variables tipo entero, y pese a que con estas se puedenoperar como en las operaciones enteras, al estas asociadas a datos alfanuméricos operaciones como la división y la multiplicación pierden sentido.
A continuación se muestra otra porción de código en la cual se hace un uso más elaborado de los operadores antes descritos.
/* operadores.c -- Muestra el uso de algunos operadores en C*/
#include <stdio.h>
/* Declaracion de variables */// Recordar que estas variables son globales pues estan declaradas fuera del
// main
int a, b, c = 3, d, e = 4, f, g; // Variables enteras
double ad, bd = 3.5, cd = -5.6, dd = 0; // Variables reales
char ac = 'A', bc = '9', cc; // Variables caracter
int main(void) {
a = 7 + 9;
b = a*3 - 100;
c = c + 1;
d = c/2; // Ojo con el resultado
e = a + b + c + d + e;
f...
Regístrate para leer el documento completo.