SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptxfotofamilia008
 
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdfrevelesyessica91
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Edith Liccioni
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaFarid Abud
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfmiriamguevara21
 
Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024Bergarako Udala
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docxMagalyDacostaPea
 
Catálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial AlbatrosCatálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial AlbatrosGustavoCanevaro
 
tema5 2eso 2024 Europa entre los siglos XII y XV
tema5 2eso 2024 Europa entre los siglos XII y XVtema5 2eso 2024 Europa entre los siglos XII y XV
tema5 2eso 2024 Europa entre los siglos XII y XVChema R.
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 

Kürzlich hochgeladen (20)

LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
 
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdf
 
Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
 
Catálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial AlbatrosCatálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial Albatros
 
tema5 2eso 2024 Europa entre los siglos XII y XV
tema5 2eso 2024 Europa entre los siglos XII y XVtema5 2eso 2024 Europa entre los siglos XII y XV
tema5 2eso 2024 Europa entre los siglos XII y XV
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 

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.