SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Tutorial creado por Quasi / Javier Fernández Rivera
                                                          http://ircorion.net | javier@ircorion.net




                                                                                          Programación en C

                                             Operadores

Los operadores

Son los elementos o caracteres gráficos encargados de manipular los datos, que pueden ser dados por
números, caracteres, variables, constantes, matrices, etc.
Hay varias clases de operadores dependiendo de su función.



Tenemos el operador de asignación “=”

Con este operador asignamos datos a las variables.
Este operador lo hemos usado en varias ocasiones desde el comienzo del curso por tutoriales. En la
practica totalidad de los lenguajes de programación y entre ellos en C no debemos identificar el signo “=”
con una equivalencia o igualdad, que es lo que estábamos acostumbrados a asociar. Puesto que desde
pequeños nos lo enseñaron así. Debemos asociar este signo como una asignación de valores.

Por ejemplo:

numero = 45;     /*Esto asiganaria a la variable numero el dato numérico 45*/


También podemos asignar de una sola vez un dato en varios operandos con el mismo operador de
asignación

numero1 = numero2 = numero3 = 100;                      /*Esto metería en las variables
numero1,numero2,numero3 el valor 100*/


Podemos asignar el valor de una variable a otras 2, por ejemplo

C = 5;
A = B = C;                /*Las variables A y B tomaran el valor de la variable C y todas valdran 5*/



Operadores aritméticos

Son los operadores encargados de realizar las operaciones básicas de aritmética matemática. Estos son:
+, -, *, /, %.


                              SIMBOLO      DESCRIPCION               EJEMPLO
                                  +             suma                   a+b
                                  -             resta                  a- b
                                  *         multiplicación             a*b
                                      /        división                a/b
                                 %             modulo                 a%b
                                  -           negación                 -a
1.   El + sumara dos operandos.
    2.   El – restara dos operandos
    3.   El * multiplicara dos operandos.
    4.   El / dividira dos operandos.
    5.   El % tomara el resto en una división. Solo vale para enteros nunca en valores decimales.
    6.   Signo negativo.


Ejemplo:

#include <stdio.h>
main () {
 int resultado,numero1,numero2;
resultado=numero1=numero2=0;              /*asignamos a numero1, numero2 y resultado el valor 0.
inicializamos la variable a cero*/
numero1=2;                                /*le damos el valor 2 a numero1*/
numero2=3;                                /*con el operador de asignación de valor introducimos el
numero 3 en la variable numero2*/
resultado=numero1+numero2;                /*con el operador de sumar hacemos la suma, luego su valor
se lo asignamos a resultado*/
printf(“n[%d + %d] = %d”,numero1,numero2,resultado);       /*imprimimos la suma de los 2 números y su
resultado*/
resultado=numero1-numero2;                /*con el operador de restar hacemos la resta, luego su valor
se lo asignamos a resultado*/
printf(“n[%d - %d] = %d”,numero1,numero2,resultado);      /*imprimimos la resta de los 2 números y su
resultado*/
printf(“n[%d * %d] = %d”,numero1,numero2,numero1*numero2); /*otra forma de hacerlo prescindiendo
de la variable resultado*/
resultado=numero2/numero1;                /*con el operador de dividir hacemos la división, luego su
valor se lo asignamos a resultado*/
printf(“n[%d / %d] = %d”,numero2,numero1,resultado);     /*imprimimos la division de los 2 números y
su resultado*/
resultado=numero2%numero1;
printf(“n[%d % %d] = %d”,numero2,numero1,resultado);     /*imprimimos el modulo (resto) de los 2
números y su resultado*/
resultado=-numero2+numero1;               /*negativo de numero2 mas contenido de numero1, se lo
añadimos a resultado*/
printf(“n[-%d + %d] = %d”,numero2,numero1,resultado);    /*mostramos datos por pantalla*/
printf(“n”);                             /*linea en blanco*/
printf(“nFIN DEL PROGRAMA”);
printf(“n”);                             /*linea en blanco*/
}

Este programa usa variables de tipo entero por ello no nos mostrara decimales.



Operador de incremento y decremento

Existe un operador que incrementa el valor de una variable o dato y que por igual puede decrementarlo.

Este operador es representado como
    v Incremento: ++
    v Decremento: --

Numero = 2;     /*variable numero ahora vale 2*/
Numero++;      /*variable numero ha icrementado su valor en uno ahora vale 3*/

Este operados es lo mismo que si hiciéramos de forma mas lógica esta operación de asignación
Numero = 2;
Numero = Numero + 1;

Con esto obtendríamos el mismo resultado y es mas fácil ver su función lógica que en el anterior de los
casos. Pero en el caso anterior ahorraremos tiempo y escritura.
Operadores de comparación o relacionales

Son los operadores usados en las estructuras condicionales o de comparación de datos. Estos
operadores nos devolveran según el resultado un 0 si la condicion no se cumple o un 1 si se cumple, o lo
que es lo mismo, false y true, falso y verdadero.
Los operadores de comparación son:

                           SIMBOLO           DESCRIPCION               EJEMPLO
                               <               menor que                (a < b)
                               >               mayor que                (a >b)
                              <=            menor o igual que          (a < = b)
                               >=           mayor o igual que          ( a >= b )
                              ==                igual que              ( a = = b)
                               !=              distinto que            ( a != b)


If (A == B)   Si el operando A es equivalente o igual al operando B.
If (A != B)   Si el operando A es distinto al operando B.
If (A < B)             Si el operando A es menor al operando B.
If (A > B)             Si el operando A es mayor al operando B.
If (A <= B)   Si el operando A es menor o igual al operando B.
If (A >= B)   Si el operando A es mayor o igual al operando B.


Ejemplo:

#include <stdio.h>
main () {
 int resultado,numero1,numero2,numero3;
numero1=2;
numero2=3;
numero3=2;
if (numero1 < numero2) { printf(“n >> numero1 es menor que numero2 [ %d < %d]”,numero1,numero2); }
if (numero2 > numero3) { printf(“n >> numero2 es mayor que numero3 [ %d > %d]”,numero2,numero3); }
if (numero1 <= numero3) { printf(“n >> numero1 es menor o igual que numero3 [ %d <=
%d]”,numero1,numero3); }
if (numero2 >= numero3) { printf(“n >> numero2 es mayor o igual que numero3 [ %d >
%d]”,numero2,numero3); }
if (numero3 == numero1) { printf(“n >> numero3 es igual que numero1 [ %d == %d]”,numero3,numero1);
}
if (numero1 != numero2) { printf(“n >> numero1 es distinto que numero2 [ %d != %d]”,numero1,numero2);
}
printf(“n”);                               /*linea en blanco*/
printf(“nFIN DEL PROGRAMA”);
printf(“n”);                               /*linea en blanco*/
}

Uno de los errores mas comunes dentro de los operadores relacionales es confundir el “==” con el “=”.
Recordemos que en el primer caso “==” estamos haciendo una comparación mediante un operador
relacional y en el segundo caso “=” estamos dando un valor mediante un operador de asignación.



Operadores lógicos

Son los operadores que nos permiten unir varias condiciones.

Estamos hablando de operadores tales como:

                              SIMBOLO     DESCRIPCION           EJEMPLO
&&         Y (AND)        (a>b) && (c < d)
                                    ||         O (OR)          (a>b) || (c < d)
                                    !     NEGACION (NOT)           !(a>b)




Y (&&) Este operador une condiciones: a == b && b == c                                 /* si a es igual a b Y b
es igual a c */
O ( || ) Este operador es disyuntivo: a == b || b == c                      /* si a es igual a b O b es igual a
c */
No ( ! ) Este operador niega los operandos u operadores.

Además de estos operadores existen otros muchos pero ya son los menos usados o utilizados en casos
muy específicos. Los citados aquí son los mas usuales comunes y que es necesario saber para
programar adecuadamente en C.

Ejemplo:

#include <stdio.h>
main () {
 int a,b,c;
a=2;
b=3;
c=2;
if (a==c) && (b>a) { printf(“n>>>> a es igual que c b y b es mayor que a. [ (%d == %d) Y (%d > %d)
]”,a,c,b,a); }
if (a>c) || (b>a) { printf(“n>>>> a no es mayor que c, pero b si es mayor que a. [ (%d == %d) Y (%d > %d)
]”,a,c,b,a); }
printf(“n”);                                  /*linea en blanco*/
printf(“nFIN DEL PROGRAMA”);
printf(“n”);                                  /*linea en blanco*/
}

Fijaros que si usamos el operador && (y) para que la sentencia se cumpla se deben ser ciertas todas las
condiciones expuestas. En caso contrario si usamos el operador || (o), una puede ser cierta y la otra no y
en tal caso también se cumpliría la condición y se ejecutaría.


Operadores de manejo de bits

Estos operadores muestran una de las armas más potentes del lenguaje C , la de poder manipulear
INTERNAMENTE , es decir bit a bit , las variables .
Debemos anticipar que estos operadores sólo se aplican a variables del tipo char , short , int y long y NO
pueden ser usados con float ó double ,
Sabemos que las computadoras guardan los datos organizados en forma digital , en bytes , formado por
números binarios de 8 bits y como se vió anteriormente cuando se analizó el tamaño de las variables , un
char ocupará un byte de 8 bits , mientras que los short e int se forman con dos bytes ( 16 bits ) y los long
por cuatro bytes ( 32 bits ).
Para el manejo de dichos bits , contamos con los operadores descriptos en la tabla:


                           SIMBOLO            DESCRIPCION             EJEMPLO
                                &           Y ó AND (bit a bit)          a&b
                                |           O ú OR INCLUSIVA                a|b
                                ^          O ú OR EXCLUSIVA               a^b
                               <<        ROTACION A LA IZQUIER           a << b
                               >>        ROTACION A LA DERECHA           a >> b
                                ~         COMPLEMENTO A UNO                 ~a
Preferencia de análisis de los operadores

El compilador de C da una prioridad al análisis de ciertos operadores sobre otros que subordina. En
muchos casos esto nos lleva a cometer errores en nuestros códigos.

El orden de precedencia que da el lenguaje C es:

    1.   Paréntesis
    2.   Potencias
    3.   Productos y divisiones de izquierda a derecha
    4.   Sumas y restas
    5.   Concatenación (suma de caracteres “strings”)
    6.   Operadores relacionales
    7.   Negación
    8.   Conjunción (y).
    9.   Disyunción (o)

Pienso que no es necesario saber estas preferencia. Pero si es necesario obedecer y dar prioridad a
ciertos operadores sobre otros y esto lo podemos lograr estableciendo las operaciones entre paréntesis.
Agrupando los operandos con sus operadores en paréntesis nos ahorramos el trabajo de saber estas
prioridades de memoria y clarificamos mucho mas el código. O sea que ya sabes ante la duda, abre y
cierra paréntesis J. Es la mejor solución agrupar en llaves y poner cuantos paréntesis te parezca bueno.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Operadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigoOperadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigo
 
Unidad Iv Algoritmos
Unidad Iv AlgoritmosUnidad Iv Algoritmos
Unidad Iv Algoritmos
 
Unidad V Instrucciones De Decision
Unidad V  Instrucciones De DecisionUnidad V  Instrucciones De Decision
Unidad V Instrucciones De Decision
 
Tutorial descilab
Tutorial descilabTutorial descilab
Tutorial descilab
 
Utilidad de las funciones en c
Utilidad de las funciones en cUtilidad de las funciones en c
Utilidad de las funciones en c
 
Operadores
OperadoresOperadores
Operadores
 
Capitulo 2 tipos de datos en c
Capitulo 2 tipos de datos en cCapitulo 2 tipos de datos en c
Capitulo 2 tipos de datos en c
 
Elementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java AlumnoElementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java Alumno
 
Tema III Estructuras de control
Tema III Estructuras de controlTema III Estructuras de control
Tema III Estructuras de control
 
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuarioLenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Funcion printf
Funcion printfFuncion printf
Funcion printf
 
Elementos básicos del lenguaje java alumno
Elementos básicos del lenguaje java alumnoElementos básicos del lenguaje java alumno
Elementos básicos del lenguaje java alumno
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
Clase lenguaje c
Clase lenguaje c Clase lenguaje c
Clase lenguaje c
 
Computacion punteros
Computacion punterosComputacion punteros
Computacion punteros
 

Destacado

Operadores que se utiliza en programacion c
Operadores que se utiliza en programacion cOperadores que se utiliza en programacion c
Operadores que se utiliza en programacion cFranklin Anilema
 
Zonas de memoria, operadores y expresiones básicas
Zonas de memoria, operadores y expresiones básicasZonas de memoria, operadores y expresiones básicas
Zonas de memoria, operadores y expresiones básicasPaola Leal Ramirez
 
Areas de memoria PLCs Omron
Areas de memoria PLCs OmronAreas de memoria PLCs Omron
Areas de memoria PLCs OmronDavicho86
 
Variables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CVariables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CRonny Parra
 

Destacado (6)

Operadores que se utiliza en programacion c
Operadores que se utiliza en programacion cOperadores que se utiliza en programacion c
Operadores que se utiliza en programacion c
 
Operadores C SHARP
Operadores C SHARPOperadores C SHARP
Operadores C SHARP
 
Zonas de memoria, operadores y expresiones básicas
Zonas de memoria, operadores y expresiones básicasZonas de memoria, operadores y expresiones básicas
Zonas de memoria, operadores y expresiones básicas
 
Areas de memoria PLCs Omron
Areas de memoria PLCs OmronAreas de memoria PLCs Omron
Areas de memoria PLCs Omron
 
Tipos Datos y Operadores en Visual C# (C sharp)
Tipos Datos y Operadores en Visual C# (C sharp)Tipos Datos y Operadores en Visual C# (C sharp)
Tipos Datos y Operadores en Visual C# (C sharp)
 
Variables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CVariables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en C
 

Similar a Quasi - Lenguaje C Operadores

Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilabGabriel Romero
 
Elementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java AlumnoElementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java Alumnomtemarialuisa
 
Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++g_torrealba
 
Repaso del lenguaje
Repaso del lenguajeRepaso del lenguaje
Repaso del lenguajeg_torrealba
 
Unidad II Datos y Entidades Primitivas
Unidad II Datos y Entidades PrimitivasUnidad II Datos y Entidades Primitivas
Unidad II Datos y Entidades PrimitivasAverkleyCH
 
Ejercicios
EjerciciosEjercicios
EjerciciosTensor
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y ExpresionesYenny Salazar
 
3ra parte operaciones
 3ra parte operaciones 3ra parte operaciones
3ra parte operacionesyuli02
 
Lenguaje de programacion c++ basico 3ra parte operaciones
Lenguaje de programacion c++ basico 3ra parte operacionesLenguaje de programacion c++ basico 3ra parte operaciones
Lenguaje de programacion c++ basico 3ra parte operacionesDunkherz
 
TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++JazminIbarra1106
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicaschembe
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2camnav
 
Operaciones Basicas C++
Operaciones Basicas C++Operaciones Basicas C++
Operaciones Basicas C++yesid19
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Joaquin1418
 
Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2charnisch
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicaschembe
 
Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2David
 
Unidad2
Unidad2Unidad2
Unidad2JHONNY
 
Clase lenguaje c xxxxxx
Clase lenguaje c xxxxxxClase lenguaje c xxxxxx
Clase lenguaje c xxxxxxMar15marian
 

Similar a Quasi - Lenguaje C Operadores (20)

Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Operaciones y expresiones
Operaciones y expresionesOperaciones y expresiones
Operaciones y expresiones
 
Elementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java AlumnoElementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java Alumno
 
Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++
 
Repaso del lenguaje
Repaso del lenguajeRepaso del lenguaje
Repaso del lenguaje
 
Unidad II Datos y Entidades Primitivas
Unidad II Datos y Entidades PrimitivasUnidad II Datos y Entidades Primitivas
Unidad II Datos y Entidades Primitivas
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
 
3ra parte operaciones
 3ra parte operaciones 3ra parte operaciones
3ra parte operaciones
 
Lenguaje de programacion c++ basico 3ra parte operaciones
Lenguaje de programacion c++ basico 3ra parte operacionesLenguaje de programacion c++ basico 3ra parte operaciones
Lenguaje de programacion c++ basico 3ra parte operaciones
 
TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++TIPOS DE OPERADORES PARA C++
TIPOS DE OPERADORES PARA C++
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicas
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
 
Operaciones Basicas C++
Operaciones Basicas C++Operaciones Basicas C++
Operaciones Basicas C++
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
 
Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2
 
Operaciones Básicas
Operaciones BásicasOperaciones Básicas
Operaciones Básicas
 
Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2Lenguaje de programacion C++ 2
Lenguaje de programacion C++ 2
 
Unidad2
Unidad2Unidad2
Unidad2
 
Clase lenguaje c xxxxxx
Clase lenguaje c xxxxxxClase lenguaje c xxxxxx
Clase lenguaje c xxxxxx
 

Más de degarden

MICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBMICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBdegarden
 
ABC 2021 Guia del vino
ABC 2021 Guia del vinoABC 2021 Guia del vino
ABC 2021 Guia del vinodegarden
 
Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146degarden
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystemsdegarden
 
Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2degarden
 
Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2degarden
 
The 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The LocalThe 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The Localdegarden
 
Toshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard DriveToshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard Drivedegarden
 
Sper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRSper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRdegarden
 
Plarad Torque and tension systems
Plarad Torque and tension systemsPlarad Torque and tension systems
Plarad Torque and tension systemsdegarden
 
Plarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power PacksPlarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power Packsdegarden
 
Hands-Free Profile 1.7
Hands-Free Profile 1.7Hands-Free Profile 1.7
Hands-Free Profile 1.7degarden
 
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...degarden
 
Reverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices DocumentationReverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices Documentationdegarden
 
pWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting FrameworkpWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting Frameworkdegarden
 
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android degarden
 
Bose NC 700 - User manual English
Bose NC 700 - User manual EnglishBose NC 700 - User manual English
Bose NC 700 - User manual Englishdegarden
 
MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+degarden
 
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017degarden
 

Más de degarden (20)

MICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GBMICHELIN_-AGILIS-CrossClimate_GB
MICHELIN_-AGILIS-CrossClimate_GB
 
ABC 2021 Guia del vino
ABC 2021 Guia del vinoABC 2021 Guia del vino
ABC 2021 Guia del vino
 
Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146Audi-A3-Sportback-catalogo-es-1146
Audi-A3-Sportback-catalogo-es-1146
 
Why btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of FilesystemsWhy btrfs is the Bread and Butter of Filesystems
Why btrfs is the Bread and Butter of Filesystems
 
Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2Toshiba X300 salessheet english-web_r2
Toshiba X300 salessheet english-web_r2
 
Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2Toshiba N300 salessheet english-web_r2
Toshiba N300 salessheet english-web_r2
 
The 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The LocalThe 20 maps that will help you understand Spain - The Local
The 20 maps that will help you understand Spain - The Local
 
Toshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard DriveToshiba X300 Performance Internal Hard Drive
Toshiba X300 Performance Internal Hard Drive
 
Bronces
BroncesBronces
Bronces
 
Sper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IRSper Food Safety Thermometer with IR
Sper Food Safety Thermometer with IR
 
Plarad Torque and tension systems
Plarad Torque and tension systemsPlarad Torque and tension systems
Plarad Torque and tension systems
 
Plarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power PacksPlarad Hydraulikaggregate Hydraulic Power Packs
Plarad Hydraulikaggregate Hydraulic Power Packs
 
Hands-Free Profile 1.7
Hands-Free Profile 1.7Hands-Free Profile 1.7
Hands-Free Profile 1.7
 
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
Fingerprinting Bluetooth-Low-Energy Devices Based on the Generic Attribute Pr...
 
Reverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices DocumentationReverse Engineering BLE Devices Documentation
Reverse Engineering BLE Devices Documentation
 
pWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting FrameworkpWeb: A P2P Web Hosting Framework
pWeb: A P2P Web Hosting Framework
 
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android ¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
¿Qué esconde tu teléfono? Adquisición forense de dispositivos Android
 
Bose NC 700 - User manual English
Bose NC 700 - User manual EnglishBose NC 700 - User manual English
Bose NC 700 - User manual English
 
MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+MICHELIN CrossCLIMATE+
MICHELIN CrossCLIMATE+
 
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
Catálogo-Producto-Familia-A3-PI_MY17_Medidas-Semana-9_2017
 

Último

LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 

Último (20)

LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 

Quasi - Lenguaje C Operadores

  • 1. Tutorial creado por Quasi / Javier Fernández Rivera http://ircorion.net | javier@ircorion.net Programación en C Operadores Los operadores Son los elementos o caracteres gráficos encargados de manipular los datos, que pueden ser dados por números, caracteres, variables, constantes, matrices, etc. Hay varias clases de operadores dependiendo de su función. Tenemos el operador de asignación “=” Con este operador asignamos datos a las variables. Este operador lo hemos usado en varias ocasiones desde el comienzo del curso por tutoriales. En la practica totalidad de los lenguajes de programación y entre ellos en C no debemos identificar el signo “=” con una equivalencia o igualdad, que es lo que estábamos acostumbrados a asociar. Puesto que desde pequeños nos lo enseñaron así. Debemos asociar este signo como una asignación de valores. Por ejemplo: numero = 45; /*Esto asiganaria a la variable numero el dato numérico 45*/ También podemos asignar de una sola vez un dato en varios operandos con el mismo operador de asignación numero1 = numero2 = numero3 = 100; /*Esto metería en las variables numero1,numero2,numero3 el valor 100*/ Podemos asignar el valor de una variable a otras 2, por ejemplo C = 5; A = B = C; /*Las variables A y B tomaran el valor de la variable C y todas valdran 5*/ Operadores aritméticos Son los operadores encargados de realizar las operaciones básicas de aritmética matemática. Estos son: +, -, *, /, %. SIMBOLO DESCRIPCION EJEMPLO + suma a+b - resta a- b * multiplicación a*b / división a/b % modulo a%b - negación -a
  • 2. 1. El + sumara dos operandos. 2. El – restara dos operandos 3. El * multiplicara dos operandos. 4. El / dividira dos operandos. 5. El % tomara el resto en una división. Solo vale para enteros nunca en valores decimales. 6. Signo negativo. Ejemplo: #include <stdio.h> main () { int resultado,numero1,numero2; resultado=numero1=numero2=0; /*asignamos a numero1, numero2 y resultado el valor 0. inicializamos la variable a cero*/ numero1=2; /*le damos el valor 2 a numero1*/ numero2=3; /*con el operador de asignación de valor introducimos el numero 3 en la variable numero2*/ resultado=numero1+numero2; /*con el operador de sumar hacemos la suma, luego su valor se lo asignamos a resultado*/ printf(“n[%d + %d] = %d”,numero1,numero2,resultado); /*imprimimos la suma de los 2 números y su resultado*/ resultado=numero1-numero2; /*con el operador de restar hacemos la resta, luego su valor se lo asignamos a resultado*/ printf(“n[%d - %d] = %d”,numero1,numero2,resultado); /*imprimimos la resta de los 2 números y su resultado*/ printf(“n[%d * %d] = %d”,numero1,numero2,numero1*numero2); /*otra forma de hacerlo prescindiendo de la variable resultado*/ resultado=numero2/numero1; /*con el operador de dividir hacemos la división, luego su valor se lo asignamos a resultado*/ printf(“n[%d / %d] = %d”,numero2,numero1,resultado); /*imprimimos la division de los 2 números y su resultado*/ resultado=numero2%numero1; printf(“n[%d % %d] = %d”,numero2,numero1,resultado); /*imprimimos el modulo (resto) de los 2 números y su resultado*/ resultado=-numero2+numero1; /*negativo de numero2 mas contenido de numero1, se lo añadimos a resultado*/ printf(“n[-%d + %d] = %d”,numero2,numero1,resultado); /*mostramos datos por pantalla*/ printf(“n”); /*linea en blanco*/ printf(“nFIN DEL PROGRAMA”); printf(“n”); /*linea en blanco*/ } Este programa usa variables de tipo entero por ello no nos mostrara decimales. Operador de incremento y decremento Existe un operador que incrementa el valor de una variable o dato y que por igual puede decrementarlo. Este operador es representado como v Incremento: ++ v Decremento: -- Numero = 2; /*variable numero ahora vale 2*/ Numero++; /*variable numero ha icrementado su valor en uno ahora vale 3*/ Este operados es lo mismo que si hiciéramos de forma mas lógica esta operación de asignación Numero = 2; Numero = Numero + 1; Con esto obtendríamos el mismo resultado y es mas fácil ver su función lógica que en el anterior de los casos. Pero en el caso anterior ahorraremos tiempo y escritura.
  • 3. Operadores de comparación o relacionales Son los operadores usados en las estructuras condicionales o de comparación de datos. Estos operadores nos devolveran según el resultado un 0 si la condicion no se cumple o un 1 si se cumple, o lo que es lo mismo, false y true, falso y verdadero. Los operadores de comparación son: SIMBOLO DESCRIPCION EJEMPLO < menor que (a < b) > mayor que (a >b) <= menor o igual que (a < = b) >= mayor o igual que ( a >= b ) == igual que ( a = = b) != distinto que ( a != b) If (A == B) Si el operando A es equivalente o igual al operando B. If (A != B) Si el operando A es distinto al operando B. If (A < B) Si el operando A es menor al operando B. If (A > B) Si el operando A es mayor al operando B. If (A <= B) Si el operando A es menor o igual al operando B. If (A >= B) Si el operando A es mayor o igual al operando B. Ejemplo: #include <stdio.h> main () { int resultado,numero1,numero2,numero3; numero1=2; numero2=3; numero3=2; if (numero1 < numero2) { printf(“n >> numero1 es menor que numero2 [ %d < %d]”,numero1,numero2); } if (numero2 > numero3) { printf(“n >> numero2 es mayor que numero3 [ %d > %d]”,numero2,numero3); } if (numero1 <= numero3) { printf(“n >> numero1 es menor o igual que numero3 [ %d <= %d]”,numero1,numero3); } if (numero2 >= numero3) { printf(“n >> numero2 es mayor o igual que numero3 [ %d > %d]”,numero2,numero3); } if (numero3 == numero1) { printf(“n >> numero3 es igual que numero1 [ %d == %d]”,numero3,numero1); } if (numero1 != numero2) { printf(“n >> numero1 es distinto que numero2 [ %d != %d]”,numero1,numero2); } printf(“n”); /*linea en blanco*/ printf(“nFIN DEL PROGRAMA”); printf(“n”); /*linea en blanco*/ } Uno de los errores mas comunes dentro de los operadores relacionales es confundir el “==” con el “=”. Recordemos que en el primer caso “==” estamos haciendo una comparación mediante un operador relacional y en el segundo caso “=” estamos dando un valor mediante un operador de asignación. Operadores lógicos Son los operadores que nos permiten unir varias condiciones. Estamos hablando de operadores tales como: SIMBOLO DESCRIPCION EJEMPLO
  • 4. && Y (AND) (a>b) && (c < d) || O (OR) (a>b) || (c < d) ! NEGACION (NOT) !(a>b) Y (&&) Este operador une condiciones: a == b && b == c /* si a es igual a b Y b es igual a c */ O ( || ) Este operador es disyuntivo: a == b || b == c /* si a es igual a b O b es igual a c */ No ( ! ) Este operador niega los operandos u operadores. Además de estos operadores existen otros muchos pero ya son los menos usados o utilizados en casos muy específicos. Los citados aquí son los mas usuales comunes y que es necesario saber para programar adecuadamente en C. Ejemplo: #include <stdio.h> main () { int a,b,c; a=2; b=3; c=2; if (a==c) && (b>a) { printf(“n>>>> a es igual que c b y b es mayor que a. [ (%d == %d) Y (%d > %d) ]”,a,c,b,a); } if (a>c) || (b>a) { printf(“n>>>> a no es mayor que c, pero b si es mayor que a. [ (%d == %d) Y (%d > %d) ]”,a,c,b,a); } printf(“n”); /*linea en blanco*/ printf(“nFIN DEL PROGRAMA”); printf(“n”); /*linea en blanco*/ } Fijaros que si usamos el operador && (y) para que la sentencia se cumpla se deben ser ciertas todas las condiciones expuestas. En caso contrario si usamos el operador || (o), una puede ser cierta y la otra no y en tal caso también se cumpliría la condición y se ejecutaría. Operadores de manejo de bits Estos operadores muestran una de las armas más potentes del lenguaje C , la de poder manipulear INTERNAMENTE , es decir bit a bit , las variables . Debemos anticipar que estos operadores sólo se aplican a variables del tipo char , short , int y long y NO pueden ser usados con float ó double , Sabemos que las computadoras guardan los datos organizados en forma digital , en bytes , formado por números binarios de 8 bits y como se vió anteriormente cuando se analizó el tamaño de las variables , un char ocupará un byte de 8 bits , mientras que los short e int se forman con dos bytes ( 16 bits ) y los long por cuatro bytes ( 32 bits ). Para el manejo de dichos bits , contamos con los operadores descriptos en la tabla: SIMBOLO DESCRIPCION EJEMPLO & Y ó AND (bit a bit) a&b | O ú OR INCLUSIVA a|b ^ O ú OR EXCLUSIVA a^b << ROTACION A LA IZQUIER a << b >> ROTACION A LA DERECHA a >> b ~ COMPLEMENTO A UNO ~a
  • 5. Preferencia de análisis de los operadores El compilador de C da una prioridad al análisis de ciertos operadores sobre otros que subordina. En muchos casos esto nos lleva a cometer errores en nuestros códigos. El orden de precedencia que da el lenguaje C es: 1. Paréntesis 2. Potencias 3. Productos y divisiones de izquierda a derecha 4. Sumas y restas 5. Concatenación (suma de caracteres “strings”) 6. Operadores relacionales 7. Negación 8. Conjunción (y). 9. Disyunción (o) Pienso que no es necesario saber estas preferencia. Pero si es necesario obedecer y dar prioridad a ciertos operadores sobre otros y esto lo podemos lograr estableciendo las operaciones entre paréntesis. Agrupando los operandos con sus operadores en paréntesis nos ahorramos el trabajo de saber estas prioridades de memoria y clarificamos mucho mas el código. O sea que ya sabes ante la duda, abre y cierra paréntesis J. Es la mejor solución agrupar en llaves y poner cuantos paréntesis te parezca bueno.