SlideShare una empresa de Scribd logo
1 de 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, ).
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
Al igual que en matemáticas,estos operadoresnos permitirán evaluar
las relaciones (igualdad, mayor, menor, etc) entre un par de operandos
(en principio, pensemosen números). Los operadores relacionales de
los que disponemosen 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 representarestos valores
(boolean, bool, etc); sin embargo en C, se utilizan valores enteros para
representar esto:
Operadores lógicos
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
Como operadores lógicos designamos a aquellos operadores que nos
permiten ``conectar'' un par de propiedades (al igual que en lógica):
numero = 2701; if ( EsPrimo(numero) && (numero > 1000) ){ /*
Ejecutaremos este código si numero */ /* es primo y numero es mayor
que 100 */ }
Los operadores lógicosde los que disponemos enC 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).
OperadorAcción
&& Conjunción (Y)
|| Disyunción (O)
! Negación
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 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
ú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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
Script de Punteros a Funciones
Script de Punteros a FuncionesScript de Punteros a Funciones
Script de Punteros a Funciones
 
Tema3 p2%20
Tema3 p2%20Tema3 p2%20
Tema3 p2%20
 
Introducción a C SHARP
Introducción a C SHARPIntroducción a C SHARP
Introducción a C SHARP
 
Arreglos. lidia
Arreglos. lidiaArreglos. lidia
Arreglos. lidia
 
Swrewer nuevo hoy
Swrewer nuevo hoySwrewer nuevo hoy
Swrewer nuevo hoy
 
Descripcion de algoritmo
Descripcion de algoritmoDescripcion de algoritmo
Descripcion de algoritmo
 
El lenguaje de programacion c++ prev
El lenguaje de programacion c++ prevEl lenguaje de programacion c++ prev
El lenguaje de programacion c++ prev
 
Punteros
PunterosPunteros
Punteros
 
Sesion1 Php Basico
Sesion1 Php BasicoSesion1 Php Basico
Sesion1 Php Basico
 
Ap7 java2
Ap7 java2Ap7 java2
Ap7 java2
 
JavaScript funciones
JavaScript funcionesJavaScript funciones
JavaScript funciones
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2
 
Tutorial de php
Tutorial de phpTutorial de php
Tutorial de php
 
Uso de operadores
Uso de operadoresUso de operadores
Uso de operadores
 
UTN tipo de dato short
UTN tipo de dato shortUTN tipo de dato short
UTN tipo de dato short
 
INTEGRALES..docx
INTEGRALES..docxINTEGRALES..docx
INTEGRALES..docx
 
calculadora en c sharp
calculadora en c sharpcalculadora en c sharp
calculadora en c sharp
 

Destacado

Efimov goroda upravlenie_razvitiem_gorodov_2010
Efimov goroda upravlenie_razvitiem_gorodov_2010Efimov goroda upravlenie_razvitiem_gorodov_2010
Efimov goroda upravlenie_razvitiem_gorodov_2010Atner Yegorov
 
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.deUSEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.deUSEEDS GmbH
 
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...Martin Szugat
 
Необходимая документация в SMM
Необходимая документация в SMMНеобходимая документация в SMM
Необходимая документация в SMMDPR
 
〈青字歌〉
〈青字歌〉〈青字歌〉
〈青字歌〉cheuk1991
 
〈青字歌〉
〈青字歌〉〈青字歌〉
〈青字歌〉cheuk1991
 
Mgmt – time to pretend
Mgmt – time to pretendMgmt – time to pretend
Mgmt – time to pretendkevenjordam
 

Destacado (12)

Site visit questions
Site visit questionsSite visit questions
Site visit questions
 
Efimov goroda upravlenie_razvitiem_gorodov_2010
Efimov goroda upravlenie_razvitiem_gorodov_2010Efimov goroda upravlenie_razvitiem_gorodov_2010
Efimov goroda upravlenie_razvitiem_gorodov_2010
 
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.deUSEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
USEEDS° :: Lean Experiment - Produktkonzepte mit mobile.de
 
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
Branded Goods, Social Gifts und Social Games im Vergleich hinsichtlich Moneta...
 
Qué es un virus informático
Qué es un virus informáticoQué es un virus informático
Qué es un virus informático
 
MatchKracht kort
MatchKracht kortMatchKracht kort
MatchKracht kort
 
Prospect Management Consultants - Company Profile
Prospect Management Consultants - Company ProfileProspect Management Consultants - Company Profile
Prospect Management Consultants - Company Profile
 
Необходимая документация в SMM
Необходимая документация в SMMНеобходимая документация в SMM
Необходимая документация в SMM
 
〈青字歌〉
〈青字歌〉〈青字歌〉
〈青字歌〉
 
〈青字歌〉
〈青字歌〉〈青字歌〉
〈青字歌〉
 
18091301
1809130118091301
18091301
 
Mgmt – time to pretend
Mgmt – time to pretendMgmt – time to pretend
Mgmt – time to pretend
 

Similar a 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
 
Programación en c++
Programación en c++Programación en c++
Programación en c++andermijan
 
Tema 2 - Álgebra de Boole.pdf
Tema 2 - Álgebra de Boole.pdfTema 2 - Álgebra de Boole.pdf
Tema 2 - Álgebra de Boole.pdfLizbethTito2
 
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
 
Workshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operatorsWorkshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operatorsVisual Engineering
 
Practica 13 alice
Practica 13 alicePractica 13 alice
Practica 13 aliceAquino1912
 
Practica 13 de_alice(2)
Practica 13 de_alice(2)Practica 13 de_alice(2)
Practica 13 de_alice(2)ArmandoC42
 

Similar a Tipos de operadores (20)

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++
 
Programación de código
Programación de códigoProgramación de código
Programación de código
 
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
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Tema 2 - Álgebra de Boole.pdf
Tema 2 - Álgebra de Boole.pdfTema 2 - Álgebra de Boole.pdf
Tema 2 - Álgebra de Boole.pdf
 
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++
 
Workshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operatorsWorkshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operators
 
Alice13
Alice13Alice13
Alice13
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
PRACTICA 13 ALICE
PRACTICA 13 ALICEPRACTICA 13 ALICE
PRACTICA 13 ALICE
 
Practica 13 alice
Practica 13 alicePractica 13 alice
Practica 13 alice
 
Practica 13
Practica 13Practica 13
Practica 13
 
Practica 13 de_alice(2)
Practica 13 de_alice(2)Practica 13 de_alice(2)
Practica 13 de_alice(2)
 

Más de Rosario Garcia Ruiz (20)

Rubrica evaluar
Rubrica evaluar Rubrica evaluar
Rubrica evaluar
 
rubrica
rubrica rubrica
rubrica
 
Lista de cotejo_para_mapa_mental_1.s.g.r
Lista de cotejo_para_mapa_mental_1.s.g.rLista de cotejo_para_mapa_mental_1.s.g.r
Lista de cotejo_para_mapa_mental_1.s.g.r
 
la programación orientada a objetos
la programación orientada a objetosla programación orientada a objetos
la programación orientada a objetos
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
preguntas examen
preguntas examen preguntas examen
preguntas examen
 
tutotial netbeans
tutotial netbeanstutotial netbeans
tutotial netbeans
 
Cuestionario
Cuestionario Cuestionario
Cuestionario
 
Comandos de java
Comandos de javaComandos de java
Comandos de java
 
Tablas de verdad_programacion
Tablas de verdad_programacionTablas de verdad_programacion
Tablas de verdad_programacion
 
50 codigos en word
50 codigos en word50 codigos en word
50 codigos en word
 
50.codigos.word
50.codigos.word50.codigos.word
50.codigos.word
 
50 c++ codigos
50 c++ codigos50 c++ codigos
50 c++ codigos
 
Tablas de verdad_programacion2_2_2
Tablas de verdad_programacion2_2_2Tablas de verdad_programacion2_2_2
Tablas de verdad_programacion2_2_2
 
50.diagramas.flujoo.
50.diagramas.flujoo.50.diagramas.flujoo.
50.diagramas.flujoo.
 
50.c++.codigos
50.c++.codigos50.c++.codigos
50.c++.codigos
 
50 Diagramas.DulceV
50 Diagramas.DulceV50 Diagramas.DulceV
50 Diagramas.DulceV
 
Tipos de operadores_dulce_velazquez
Tipos de operadores_dulce_velazquezTipos de operadores_dulce_velazquez
Tipos de operadores_dulce_velazquez
 
C docx22 (1)
C docx22 (1)C docx22 (1)
C docx22 (1)
 
Tablas de verdad_programacion2 (1)
Tablas de verdad_programacion2 (1)Tablas de verdad_programacion2 (1)
Tablas de verdad_programacion2 (1)
 

Último

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
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
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
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
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
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
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
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
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
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
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
 
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
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 

Último (20)

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
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.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
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
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...
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
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
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
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
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
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
 
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
 
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
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 

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, ). 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. Al igual que en matemáticas,estos operadoresnos permitirán evaluar las relaciones (igualdad, mayor, menor, etc) entre un par de operandos (en principio, pensemosen números). Los operadores relacionales de los que disponemosen 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 representarestos valores (boolean, bool, etc); sin embargo en C, se utilizan valores enteros para representar esto: Operadores lógicos 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. Como operadores lógicos designamos a aquellos operadores que nos permiten ``conectar'' un par de propiedades (al igual que en lógica): numero = 2701; if ( EsPrimo(numero) && (numero > 1000) ){ /* Ejecutaremos este código si numero */ /* es primo y numero es mayor que 100 */ } Los operadores lógicosde los que disponemos enC 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). OperadorAcción && Conjunción (Y) || Disyunción (O) ! Negación
  • 5. 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 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.
  • 6. 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
  • 7. 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
  • 8. ú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