:.Operadores en C.:

Existen diferentes tipos de Operadores en el Lenguaje C, Aritméticos, Monarios, Relacionales y Lógicos, de Asignación, Operador Condicional -también conocido como Ternario-. Exploraremos un poco de ellos antes de Continuar.

Al igual que como los solemos llamar en Matemáticas a lo largo de nuestra educación formal, los datos sobre los que actúan los operadores, se llaman “operandos”; dependiendo del operador, se requieren más o menos operandos; también es importante mencionar que casi todos los operadores pueden manejar como operandos a ‘expresiones’ y no solamente datos concretos.

Operadores Aritméticos:

+ ——> Suma
– ——> Resta
* ——> Multiplicación
/ ——> División
% ——> Módulo -“resto de división entera”-

La mayoría, son familiares, funcionan igual que en papel, 5 + 5 dará como resultado 10, 5 -3 dará como resultado 2. Para muchos, hará falta, ta vez, que exita un operador para la potenciación (5^2 “Cinco al cuadrado”), pero se provee una libería estándar donde se encuentra una función para ello -o la podemos programar nosotros-.

¿Cuáles son las Condiciones para Usarlos? Las lógicas, que como su nombre lo dice, sean usados con operandos que representen valores numéricos, variables del tipo int, float, double, char -sí, char, veremos eso luego-. Que el operador módulo y el operador división, se usen con un primero opreando entero y un segundo operando NO nulo -diferente de 0-.

Código de Ejemplo:

01 Aritm

Click en la Imagen para Ampliar

Nos entrega esto:

02 ConsolaArit

Click en la Imagen para Ampliar

Ahora con Flotantes y con Caracteres ^^:

03 Aritm2

Click en la Imagen para Ampliar

04 Aritm2

Click en la Imagen para Ampliar

El Sonido que se escucha es porque, si revisan el artículo anterior, el 7 en ASCII provoca una “alerta”, también aparece el 13, pueden consultarlo o buscar en Google.

Como se puede apreciar, los operadores funcionan bastante bien, operar caracteres es muy curioso, a veces es necesario, aunque en depende de cómo abordemos uno u otro problema.

Operadores Monarios:

Se denominan así porque afectan a un solo operando (mono = uno). Podemos encontrar el operador monario “-” (menos) que es diferente a la resta, ya que no efectúa una operación de sustracción sino que únicamente cambia el signo del operando (como al multiplicar por -1). También existe la operación sizeof(tipo), que nos devuelve el tamaño de un tipo de variable, no lo veremos ahorita, será para cuando lleguemos a “apuntadores”, en un tema más adelante, la tabla de valores de la entrada Tipos de Datos contiene lo que nos podría entregar sizeof(tipo).

Además de ellos, tenemos otros dos, incremento y decremento que pueden ser “pre” y “post”.

-Variable —->Cambia de signo
Variable++ —->Incrementa en 1 la variable ‘después’ de que se llega a ella en el código
++Variable —->Incrementa en 1 la variable ‘antes’ de que se llega a ella en el código
Variable– —->Decrementa en 1 la variable ‘después’ de que se llega a ella en el código
–Variable —->Decrementa en 1 la variable ‘antes’ de que se llega a ella en el código

Esto se aprecia mejor en el ejemplo:

05 Monarios

Click en la Imagen para Ampliar

Y nos entrega algo así:

05 ConsolaMon

Click en la Imagen para Ampliar

Ahí se entiende perfectamente cómo operan los monarios, que el pre y post incremento, de verdad, actúan de manera diferente y cómo; la variable sobre la que se aplican incremento o decremento, cambia su valor, mientras que el operador “-” únicamente nos muestra el signo diferente, sin alterar nada.

Operadores de Asignación:

Su nombre es bastante explícito, le asignan un valor a una variable. La sintaxis tes:
identificador = expresión;
identificador += expresión; //Equivale a expresión1 = expresión 1 + expresión2
identificador -=expresión; //Equivale a expresión1 = expresión 1 – expresión2
identificador *=expresión; //Equivale a expresión1 = expresión 1 * expresión2
identificador /=expresión; //Equivale a expresión1 = expresión 1 / expresión2

Otro ejemplo con el funcionamiento:

06 Asigna

Click en la Imagen para Ampliar

07 Asigna

Click en la Imagen para Ampliar

Es un ejemplo un poco malo, pero espero que se aprecie cómo funciona. El código se hizo largo aunque las operaciones son sencillas…. ¿no sería genial que existiera algo para evitar que todo esé código repetitivo no se escribiera tantas veces? Pues …. SÍ la hay, y pronto llegaremos a ello.

Operadores Relacionales y Lógicos:

Existen 4 operadores relacionales -en Lenguaje C- y son :
< —–>Menor qué
<= —–>Menor o igual qué
> —–>Mayor qué
>= —–>Mayor o igual qué
Y relacionados con ellos, íntimamente, se encuetran 2 “operadores de igualdad”
== —–>Igual a (no confundirse con el de asignación, este compara valores, no los asigna)
!= —–>Diferente a (tampoco hace ninguna asignación, compara si los valores son diferentes)
Y para culminar, se encuentran los “operadores lógicos”, que se ocupan del “álgebra booleana”, o álgebra de Bool, que se puede buscar en google, son:
&& —–> El “y” lógico
|| —–>El “o” lógico

En el lenguaje C, a diferencia de otros, como Java, no posee como tal un tipo “booleano”, o sea un “True”-Cierto- o “False” -Falso-, sin embargo, al hacer este tipo de operaciones, nos devuelve, en lugar de True, un 1 si la comparación o la operación booleana da como resultado un positivo, y 0 si da un negativo. Como es costumbre, un diagrama de flujo vale más que mil palabras, pero como no me gusta mucho hacerlos, dejo un código que ejempifica esto, que ahorita tal vez no sea importante, pero después, cuando lleguemos a ciclos, por ejemplo, es pan de cada día:

08 Relacionales

Click en la Imagen para Ampliar

Nos entrega:

09 ConsolaRelacion

Click en la Imagen para Ampliar

Como se puede ver, C puede ser muy poderoso en manos adecuadas, yo no lo conozco profundamente, pero con lo poco que sé, he visto que tiene un potencial muy bueno, a pesar de que sea ‘viejo’ y no sea ‘orientado a objetos’ como su suscesor C++ o Java. En fin, pasemos al último operador:

Operador Condicional (Ternario):

Este tipo de operador tiene muchas aplicaciones, puede usarse para hacer asignaciones ‘bajo una condición’ -de ahí su nombre- o incluso lanzar una llamada a una función u otra, todo depende cómo lo querramos usar, yo trataré de poner ejemplos donde se use. Su sintaxis es la siguiente:
(condición Lógica)?Cierto:Falso;

Así de simple es. Dentro de paréntesis hacemos una evaluación, de ser cierta vamos a la primer parte del “elemento:elemento2”, de ser falsa, a la segunda. En este momento, lo usaré para una asignación, aunque puede usarse para otros fines.

10 OperadorTernario

Click en la Imagen para Ampliar

Nos entrega:

11 ConsolaTernario

Click en la Imagen para Ampliar

Trato de hacer esto lo más “práctico posible”, yo mismo no sé todo lo que se puede hacer, me auxilio de internet y de un par de libros para hacer estos post, un par de los programas los tomo del libro, o tomo los ejemplos que dan y los transformo en código, otros, los hago yo ‘de la nada’ para tratar de ejemplificar, como el Ternario, lo mejor posible lo que quiero decir. Sugerencias bienvenidas, críticas constructivas también, sinceramente no es bonito que lleguen y te digan “¡no sabes nada!” cuando lo que tratas de hacer es ayudar o dar a conocer un poco de lo que tienes sin pretender poseer todo el conocimiento. Llevo un par de horas haciendo esto, espero que sea del agrado de alguien y me merezca al menos un “enhorabuena” en los comentarios. Saludos

Anuncios

~ por wkats en diciembre 15, 2011.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: