SlideShare a Scribd company logo
1 of 8
¿Qué es un operador?
Un operador es un símbolo (+, -, *, /, etc) que tiene una función
predefinida (suma, resta, multiplicación, etc) y que recibe sus
argumentos de manera infija, en el caso de tener 2 argumentos de
manera prefija o postfija, en el caso de tener uno solo ( , o bien, ).
Operadores aritméticos
Los operadores aritméticos nos permiten, básicamente, hacer
cualquier operación aritmética, que necesitemos (ejemplo: suma,
resta, multiplicación, etc). En la siguiente tabla se muestran los
operadores de los que disponemos en C y su función asociada.
Operadores aritméticos
OperadorAcción Ejemplo
- Resta x = 5 + 3; // x vale 2
+ Suma x = 2 - 3; // x vale 5
* Multiplicaciónx = 2 + 3; // x vale 6
/ División x = 6 / 2; // x vale 3
·/. Módulo x = 5 % 2; // x vale 1
-- Decremento x = 1; x--; // x vale 0
++ Incremento x = 1; x++; // x vale 2
Operadores relacionales
Al igual que en matemáticas, estos operadores nos permitirán evaluar las relaciones
(igualdad, mayor, menor, etc) entre un par de operandos (en principio, pensemos en
números). Los operadores relacionales de los que disponemos en C son:
El resultado de cualquier evaluación de este tipo, es
un valor ``cierto'' (true) o ``falso'' (false). La mayoría de lenguajes tienen algún tipo
predefinido para representar estos valores (boolean, bool, etc); sin embargo en C, se
utilizan valores enteros para representar esto:
Operadores lógicos
Como operadores lógicos designamos a aquellos operadores que nos permiten
``conectar'' un par de propiedades (al igual que en lógica):
Operador Acción
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual
!= Distinto
falso (false) 0
cierto (true) cualquier valor distinto de 0, aunque normalmente se usará el 1
numero = 2701; if ( EsPrimo(numero) && (numero > 1000) ){ /* Ejecutaremos este
código si numero */ /* es primo y numero es mayor que 100 */ }
Los operadores lógicos de los que disponemos en C son los siguientes:
Operadores lógicos.
Al igual que con la igualdad hay que tener especial cuidado con los operadores &&
y , ya que si ponemos sólamente un & o un , nos estamos refiriendo a un ``and''
o un ``or'' a nivel de bit, por lo que el código puede que no haga lo que queremos (o
que algunas veces lo haga y otras veces no).
Operadores a nivel de bit (bitwise operators)
En determinadas ocasiones nos puede interesar manipular datos a nivel de bit; por ejemplo activar
o desactivar flags. Un flag es una ``variable'' que puede tomar 2 valores, por lo que se suele
representar con un bit. Debido a que en C (y en la mayoría de lenguajes de programación) no
OperadorAcción
&& Conjunción (Y)
|| Disyunción (O)
! Negación
existen tipos predefinidos de un bit, lo que se suele hacer es agrupar varios flags en una variable
de tipo entero (``short int'', ``int'' o lo que queramos).
Para acceder a estos flags o simplemente para activarlos es necesario utilizar operadores a nivel de
bit. Veámoslo en un ejemplo.
La llamada al sistema ``open'' (en POSIX) necesita que se le especifique que hacer con el fichero a
abrir: crearlo si no existe, sobreescribirlo si existe, no sobreescribirlo, etc.
int open(const char *path, int flags); //Donde: // path --> indica el path de donde se encuentra el
fichero // flags --> indica lo que queremos hacer con el fichero ... // //Flags puede ser: // O_CREAT
Si el fichero no existe, será creado. // O_EXCL Cuando se combina con O_CREAT, se considerará
un // error que el fichero ya exista. // O_TRUNC Si el fichero ya existe, será truncado. //
O_APPEND El fichero se abrirá en modo de sólo-añadir. // O_NONBLOCK El fichero se abre en
modo no bloqueante. // ...
Si queremos abrir el fichero ``/tmp/tutorial_c.txt'' en modo lectura y que se pueda escribir al final
del mismo pondremosint fd; fd = open ("/tmp/tutorial_c.txt", O_CREAT | O_APPEND ); // también lo
podríamos hacer "a pelo": // open ("/tmp/tutorial_c.txt", 0x440) write(fd, "Hola mundo...n", 14);
close (fd);
Aunque normalmente no se suelen utilizar, es bueno conocer como actúan estos operadores y de
cuales disponemos.
Operadores a nivel de bit
OperadorAcción
& AND a nivel de bit.
OR a nivel de bit.
XOR a nivel de bit.
Complemento.
>> Desplazamiento a la izquierda.
<< Desplazamiento a la derecha.
A continuación describiremos cada uno de estos operadores brevemente.
DEFINICIÓN: El operador AND (&): El operador AND compara dos bits; si los dos
son 1 el resultado es 1, en otro caso el resultado será 0.
Ejemplo:
c1 = 0x45 --> 01000101 c2 = 0x71 --> 01110001 --------------------------- c1 & c2 =
0x41 --> 01000001
DEFINICIÓN: El operador OR ( ): El operador OR compara dos bits; si cualquiera
de los dos bits es 1, entonces el resultado es 1; en otro caso será 0. Ejemplo:
i1 = 0x47 --> 01000111 i2 = 0x53 --> 01010011 --------------------------- i1 | i2 = 0x57 -
-> 01010111
DEFINICIÓN: El operador XOR ( ): El operador OR exclusivo o XOR, dará como
resultado un 1 si cualquiera de los dos operandos es 1, pero no los dos a la vez.
Ejemplo:
i1 = 0x47 --> 01000111 i2 = 0x53 --> 01010011 --------------------------- i1 ^ i2 = 0x14
--> 00010100
DEFINICIÓN: El operador de complemento ( ): Este operador devuelve como
resultado el complemento a uno del operando:
c = 0x45 --> 01000101 ---------------------- ~c = 0xBA --> 10111010
DEFINICIÓN: Los operadores de desplazamiento a nivel de bit (<<
y >>Desplazan a la izquierda o a la derecha un número especificado de bits. En
un desplazamiento a la izquierda los bits que sobran por el lado izquierdo se
descartan y se rellenan los nuevos espacios con ceros. De manera análoga pasa
con los desplazamientos a la derecha. Veamos un ejemplo:
c = 0x1C 00011100
c > 1 c = 0x38 00111000
c < 2 c = 0x07 00000111
Operadores especiales
último describiremos los operadores que nos faltan:
 El operador de asignación
 El operador ternario ?
 Los operadores & y * (unarios)
 El operador sizeof
 El operador cast
 El operador coma ``,''
 Los operadores ``.'' y ``- ''
 El operador ( )
 El operador [ ]
Referencia: http://luzumisu.over-blog.com/article-28322968.html

More Related Content

What's hot

What's hot (20)

Arreglos en C++
Arreglos en C++Arreglos en C++
Arreglos en C++
 
Arreglos. lidia
Arreglos. lidiaArreglos. lidia
Arreglos. lidia
 
Progfacto
ProgfactoProgfacto
Progfacto
 
Punteros a Funciones en C
Punteros a Funciones en CPunteros a Funciones en C
Punteros a Funciones en C
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
 
Lista circulares doblemente enlazadas
Lista circulares doblemente enlazadasLista circulares doblemente enlazadas
Lista circulares doblemente enlazadas
 
Swrewer nuevo hoy
Swrewer nuevo hoySwrewer nuevo hoy
Swrewer nuevo hoy
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
Descripcion de algoritmo
Descripcion de algoritmoDescripcion de algoritmo
Descripcion de algoritmo
 
Tema3 p2%20
Tema3 p2%20Tema3 p2%20
Tema3 p2%20
 
Codigos
CodigosCodigos
Codigos
 
Clase4 tallereje
Clase4 tallerejeClase4 tallereje
Clase4 tallereje
 
Semana 3 Fundamentos de Python(Funciones y Métodos)
Semana 3   Fundamentos de Python(Funciones y Métodos)Semana 3   Fundamentos de Python(Funciones y Métodos)
Semana 3 Fundamentos de Python(Funciones y Métodos)
 
El lenguaje de programacion c++ prev
El lenguaje de programacion c++ prevEl lenguaje de programacion c++ prev
El lenguaje de programacion c++ prev
 
Uso de operadores
Uso de operadoresUso de operadores
Uso de operadores
 
Introducción a C SHARP
Introducción a C SHARPIntroducción a C SHARP
Introducción a C SHARP
 
Sesion1 Php Basico
Sesion1 Php BasicoSesion1 Php Basico
Sesion1 Php Basico
 
JavaScript funciones
JavaScript funcionesJavaScript funciones
JavaScript funciones
 
Introducción a Swift
Introducción a SwiftIntroducción a Swift
Introducción a Swift
 
Ap7 java2
Ap7 java2Ap7 java2
Ap7 java2
 

Viewers also liked

Preguntas gene-3-encu-ana-escri
Preguntas gene-3-encu-ana-escriPreguntas gene-3-encu-ana-escri
Preguntas gene-3-encu-ana-escriDiego Solano
 
Management consultants in Delhi
Management consultants in DelhiManagement consultants in Delhi
Management consultants in DelhiCreating values
 
PCGS Student Competes in World’s Largest Crowd Funding Event
PCGS Student Competes in World’s Largest Crowd Funding EventPCGS Student Competes in World’s Largest Crowd Funding Event
PCGS Student Competes in World’s Largest Crowd Funding EventJustin Farrow
 
conceptos de los ramos de novia - imagenes
conceptos de los ramos de novia - imagenes conceptos de los ramos de novia - imagenes
conceptos de los ramos de novia - imagenes leonarddusgktbyzu
 
Trabajo tecp
Trabajo tecpTrabajo tecp
Trabajo tecpFFRP
 
Museo tolerancia proyectos
Museo tolerancia proyectosMuseo tolerancia proyectos
Museo tolerancia proyectosalexis rico
 
Robespierre 2
Robespierre 2Robespierre 2
Robespierre 2666676
 
Proyecto final tic luz amparo mejia castellanos
Proyecto final tic luz amparo mejia castellanosProyecto final tic luz amparo mejia castellanos
Proyecto final tic luz amparo mejia castellanosluzamejia2007
 
museo de memoria y tolerancia
museo de memoria y toleranciamuseo de memoria y tolerancia
museo de memoria y toleranciaNoeguzman98
 
Origem dos produtos utilizados no di-a-dia.
Origem dos produtos utilizados no di-a-dia.Origem dos produtos utilizados no di-a-dia.
Origem dos produtos utilizados no di-a-dia.Ingrid Amanda
 

Viewers also liked (16)

material audivisuales
material audivisualesmaterial audivisuales
material audivisuales
 
Preguntas gene-3-encu-ana-escri
Preguntas gene-3-encu-ana-escriPreguntas gene-3-encu-ana-escri
Preguntas gene-3-encu-ana-escri
 
Management consultants in Delhi
Management consultants in DelhiManagement consultants in Delhi
Management consultants in Delhi
 
PCGS Student Competes in World’s Largest Crowd Funding Event
PCGS Student Competes in World’s Largest Crowd Funding EventPCGS Student Competes in World’s Largest Crowd Funding Event
PCGS Student Competes in World’s Largest Crowd Funding Event
 
Plantilla proyecto
Plantilla proyectoPlantilla proyecto
Plantilla proyecto
 
conceptos de los ramos de novia - imagenes
conceptos de los ramos de novia - imagenes conceptos de los ramos de novia - imagenes
conceptos de los ramos de novia - imagenes
 
Trabajo tecp
Trabajo tecpTrabajo tecp
Trabajo tecp
 
Delitos informativos
Delitos informativosDelitos informativos
Delitos informativos
 
Museo tolerancia proyectos
Museo tolerancia proyectosMuseo tolerancia proyectos
Museo tolerancia proyectos
 
bibliotecas c++
bibliotecas c++bibliotecas c++
bibliotecas c++
 
Robespierre 2
Robespierre 2Robespierre 2
Robespierre 2
 
Proyecto final tic luz amparo mejia castellanos
Proyecto final tic luz amparo mejia castellanosProyecto final tic luz amparo mejia castellanos
Proyecto final tic luz amparo mejia castellanos
 
Proposal
ProposalProposal
Proposal
 
Web quest
Web questWeb quest
Web quest
 
museo de memoria y tolerancia
museo de memoria y toleranciamuseo de memoria y tolerancia
museo de memoria y tolerancia
 
Origem dos produtos utilizados no di-a-dia.
Origem dos produtos utilizados no di-a-dia.Origem dos produtos utilizados no di-a-dia.
Origem dos produtos utilizados no di-a-dia.
 

Similar to tipos de operadores

Semana 5-Conceptualziación del lenguaje de programación C++
Semana 5-Conceptualziación del lenguaje de programación C++Semana 5-Conceptualziación del lenguaje de programación C++
Semana 5-Conceptualziación del lenguaje de programación C++luzgaray6
 
Semana 1-Conceptualziación del lenguaje d eprogramación C++
Semana 1-Conceptualziación del lenguaje d eprogramación C++Semana 1-Conceptualziación del lenguaje d eprogramación C++
Semana 1-Conceptualziación del lenguaje d eprogramación C++luzgaray6
 
Semana 2-Conceptualización del lenguaje de programación C++
Semana 2-Conceptualización del lenguaje de programación C++Semana 2-Conceptualización del lenguaje de programación C++
Semana 2-Conceptualización del lenguaje de programación C++luzgaray6
 
Estructuras control java-
Estructuras control java-Estructuras control java-
Estructuras control java-SENA
 
Operadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigoOperadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigoAbrirllave
 
trabajo de matematicas
trabajo de matematicastrabajo de matematicas
trabajo de matematicassell123
 
TRABAJO DE MATE
TRABAJO DE MATETRABAJO DE MATE
TRABAJO DE MATEsell123
 
TRABAJO DE MATE
TRABAJO DE MATETRABAJO DE MATE
TRABAJO DE MATEsell123
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++luiscristian
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++luiscristian
 
Programación en c++
Programación en c++Programación en c++
Programación en c++andermijan
 

Similar to tipos de operadores (20)

Tipos de operadores_dulce
Tipos de operadores_dulceTipos de operadores_dulce
Tipos de operadores_dulce
 
Semana 5-Conceptualziación del lenguaje de programación C++
Semana 5-Conceptualziación del lenguaje de programación C++Semana 5-Conceptualziación del lenguaje de programación C++
Semana 5-Conceptualziación del lenguaje de programación C++
 
Semana 1-Conceptualziación del lenguaje d eprogramación C++
Semana 1-Conceptualziación del lenguaje d eprogramación C++Semana 1-Conceptualziación del lenguaje d eprogramación C++
Semana 1-Conceptualziación del lenguaje d eprogramación C++
 
Semana 2-Conceptualización del lenguaje de programación C++
Semana 2-Conceptualización del lenguaje de programación C++Semana 2-Conceptualización del lenguaje de programación C++
Semana 2-Conceptualización del lenguaje de programación C++
 
PRACTICA 13 DE ALICE
PRACTICA 13 DE ALICEPRACTICA 13 DE ALICE
PRACTICA 13 DE ALICE
 
Practica alice p13 v1
Practica alice p13 v1Practica alice p13 v1
Practica alice p13 v1
 
Estructuras control java-
Estructuras control java-Estructuras control java-
Estructuras control java-
 
Taller completo
Taller completoTaller completo
Taller completo
 
Operadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigoOperadores y expresiones en pseudocódigo
Operadores y expresiones en pseudocódigo
 
JavaScript.pptx
JavaScript.pptxJavaScript.pptx
JavaScript.pptx
 
trabajo de matematicas
trabajo de matematicastrabajo de matematicas
trabajo de matematicas
 
TRABAJO DE MATE
TRABAJO DE MATETRABAJO DE MATE
TRABAJO DE MATE
 
TRABAJO DE MATE
TRABAJO DE MATETRABAJO DE MATE
TRABAJO DE MATE
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Alice13
Alice13Alice13
Alice13
 
Practica13
Practica13Practica13
Practica13
 
PRACTICA 13 ALICE
PRACTICA 13 ALICEPRACTICA 13 ALICE
PRACTICA 13 ALICE
 

More from Gustavo Castillo (20)

Practica 7
Practica 7Practica 7
Practica 7
 
Tutorial practica 5
Tutorial practica 5Tutorial practica 5
Tutorial practica 5
 
Practica 8
Practica 8Practica 8
Practica 8
 
suma de 2 numeros
suma de 2 numeros suma de 2 numeros
suma de 2 numeros
 
Divicion de 2 numero
Divicion de 2 numeroDivicion de 2 numero
Divicion de 2 numero
 
Multiplicacion de dos numeros
Multiplicacion de dos numeros Multiplicacion de dos numeros
Multiplicacion de dos numeros
 
Tutorial eclipse/ Dia final
Tutorial eclipse/ Dia finalTutorial eclipse/ Dia final
Tutorial eclipse/ Dia final
 
Empezando eclipse
Empezando eclipseEmpezando eclipse
Empezando eclipse
 
Mi primera hora con eclipse
Mi primera hora con eclipseMi primera hora con eclipse
Mi primera hora con eclipse
 
Tutorial de eclipse/ El ultimo recurso
Tutorial de eclipse/ El ultimo recursoTutorial de eclipse/ El ultimo recurso
Tutorial de eclipse/ El ultimo recurso
 
Tutorial de eclipse
Tutorial de eclipseTutorial de eclipse
Tutorial de eclipse
 
investigacion evolucion de los dispositivos moviles
investigacion evolucion de los dispositivos movilesinvestigacion evolucion de los dispositivos moviles
investigacion evolucion de los dispositivos moviles
 
investigacion evolucion de moviles
investigacion  evolucion de movilesinvestigacion  evolucion de moviles
investigacion evolucion de moviles
 
Cartel Violencia
Cartel  ViolenciaCartel  Violencia
Cartel Violencia
 
Tipos de datos.java
Tipos de datos.javaTipos de datos.java
Tipos de datos.java
 
Presentacion 4
Presentacion 4Presentacion 4
Presentacion 4
 
Presentacion 3
Presentacion 3Presentacion 3
Presentacion 3
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 1
Presentacion 1Presentacion 1
Presentacion 1
 
Practica 3
Practica 3Practica 3
Practica 3
 

Recently uploaded

Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 

Recently uploaded (20)

Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 

tipos de operadores

  • 1.
  • 2. ¿Qué es un operador? Un operador es un símbolo (+, -, *, /, etc) que tiene una función predefinida (suma, resta, multiplicación, etc) y que recibe sus argumentos de manera infija, en el caso de tener 2 argumentos de manera prefija o postfija, en el caso de tener uno solo ( , o bien, ). Operadores aritméticos Los operadores aritméticos nos permiten, básicamente, hacer cualquier operación aritmética, que necesitemos (ejemplo: suma, resta, multiplicación, etc). En la siguiente tabla se muestran los operadores de los que disponemos en C y su función asociada. Operadores aritméticos OperadorAcción Ejemplo - Resta x = 5 + 3; // x vale 2 + Suma x = 2 - 3; // x vale 5 * Multiplicaciónx = 2 + 3; // x vale 6 / División x = 6 / 2; // x vale 3 ·/. Módulo x = 5 % 2; // x vale 1 -- Decremento x = 1; x--; // x vale 0 ++ Incremento x = 1; x++; // x vale 2
  • 3. Operadores relacionales Al igual que en matemáticas, estos operadores nos permitirán evaluar las relaciones (igualdad, mayor, menor, etc) entre un par de operandos (en principio, pensemos en números). Los operadores relacionales de los que disponemos en C son: El resultado de cualquier evaluación de este tipo, es un valor ``cierto'' (true) o ``falso'' (false). La mayoría de lenguajes tienen algún tipo predefinido para representar estos valores (boolean, bool, etc); sin embargo en C, se utilizan valores enteros para representar esto: Operadores lógicos Como operadores lógicos designamos a aquellos operadores que nos permiten ``conectar'' un par de propiedades (al igual que en lógica): Operador Acción > Mayor que >= Mayor o igual que < Menor que <= Menor o igual que == Igual != Distinto falso (false) 0 cierto (true) cualquier valor distinto de 0, aunque normalmente se usará el 1
  • 4. numero = 2701; if ( EsPrimo(numero) && (numero > 1000) ){ /* Ejecutaremos este código si numero */ /* es primo y numero es mayor que 100 */ } Los operadores lógicos de los que disponemos en C son los siguientes: Operadores lógicos. Al igual que con la igualdad hay que tener especial cuidado con los operadores && y , ya que si ponemos sólamente un & o un , nos estamos refiriendo a un ``and'' o un ``or'' a nivel de bit, por lo que el código puede que no haga lo que queremos (o que algunas veces lo haga y otras veces no). Operadores a nivel de bit (bitwise operators) En determinadas ocasiones nos puede interesar manipular datos a nivel de bit; por ejemplo activar o desactivar flags. Un flag es una ``variable'' que puede tomar 2 valores, por lo que se suele representar con un bit. Debido a que en C (y en la mayoría de lenguajes de programación) no OperadorAcción && Conjunción (Y) || Disyunción (O) ! Negación
  • 5. existen tipos predefinidos de un bit, lo que se suele hacer es agrupar varios flags en una variable de tipo entero (``short int'', ``int'' o lo que queramos). Para acceder a estos flags o simplemente para activarlos es necesario utilizar operadores a nivel de bit. Veámoslo en un ejemplo. La llamada al sistema ``open'' (en POSIX) necesita que se le especifique que hacer con el fichero a abrir: crearlo si no existe, sobreescribirlo si existe, no sobreescribirlo, etc. int open(const char *path, int flags); //Donde: // path --> indica el path de donde se encuentra el fichero // flags --> indica lo que queremos hacer con el fichero ... // //Flags puede ser: // O_CREAT Si el fichero no existe, será creado. // O_EXCL Cuando se combina con O_CREAT, se considerará un // error que el fichero ya exista. // O_TRUNC Si el fichero ya existe, será truncado. // O_APPEND El fichero se abrirá en modo de sólo-añadir. // O_NONBLOCK El fichero se abre en modo no bloqueante. // ... Si queremos abrir el fichero ``/tmp/tutorial_c.txt'' en modo lectura y que se pueda escribir al final del mismo pondremosint fd; fd = open ("/tmp/tutorial_c.txt", O_CREAT | O_APPEND ); // también lo podríamos hacer "a pelo": // open ("/tmp/tutorial_c.txt", 0x440) write(fd, "Hola mundo...n", 14); close (fd); Aunque normalmente no se suelen utilizar, es bueno conocer como actúan estos operadores y de cuales disponemos. Operadores a nivel de bit OperadorAcción & AND a nivel de bit. OR a nivel de bit. XOR a nivel de bit. Complemento. >> Desplazamiento a la izquierda. << Desplazamiento a la derecha.
  • 6. A continuación describiremos cada uno de estos operadores brevemente. DEFINICIÓN: El operador AND (&): El operador AND compara dos bits; si los dos son 1 el resultado es 1, en otro caso el resultado será 0. Ejemplo: c1 = 0x45 --> 01000101 c2 = 0x71 --> 01110001 --------------------------- c1 & c2 = 0x41 --> 01000001 DEFINICIÓN: El operador OR ( ): El operador OR compara dos bits; si cualquiera de los dos bits es 1, entonces el resultado es 1; en otro caso será 0. Ejemplo: i1 = 0x47 --> 01000111 i2 = 0x53 --> 01010011 --------------------------- i1 | i2 = 0x57 - -> 01010111 DEFINICIÓN: El operador XOR ( ): El operador OR exclusivo o XOR, dará como resultado un 1 si cualquiera de los dos operandos es 1, pero no los dos a la vez. Ejemplo: i1 = 0x47 --> 01000111 i2 = 0x53 --> 01010011 --------------------------- i1 ^ i2 = 0x14 --> 00010100
  • 7. DEFINICIÓN: El operador de complemento ( ): Este operador devuelve como resultado el complemento a uno del operando: c = 0x45 --> 01000101 ---------------------- ~c = 0xBA --> 10111010 DEFINICIÓN: Los operadores de desplazamiento a nivel de bit (<< y >>Desplazan a la izquierda o a la derecha un número especificado de bits. En un desplazamiento a la izquierda los bits que sobran por el lado izquierdo se descartan y se rellenan los nuevos espacios con ceros. De manera análoga pasa con los desplazamientos a la derecha. Veamos un ejemplo: c = 0x1C 00011100 c > 1 c = 0x38 00111000 c < 2 c = 0x07 00000111 Operadores especiales último describiremos los operadores que nos faltan:  El operador de asignación
  • 8.  El operador ternario ?  Los operadores & y * (unarios)  El operador sizeof  El operador cast  El operador coma ``,''  Los operadores ``.'' y ``- ''  El operador ( )  El operador [ ] Referencia: http://luzumisu.over-blog.com/article-28322968.html