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

Modlidades de importacion
Modlidades de importacionModlidades de importacion
Modlidades de importacionShannon Visbal
 
Guia rapida de cómo conectarse al foro de la coronacion
Guia rapida de cómo conectarse al foro de la coronacionGuia rapida de cómo conectarse al foro de la coronacion
Guia rapida de cómo conectarse al foro de la coronacionwondelfull
 
Group5 bccc ili_sufi_malay
Group5 bccc  ili_sufi_malayGroup5 bccc  ili_sufi_malay
Group5 bccc ili_sufi_malayBritish Council
 
Merchants Retail article0001
Merchants Retail article0001Merchants Retail article0001
Merchants Retail article0001Mary Champion
 
Green Bonds: The costs and benefits of green bond issuance and investement
Green Bonds: The costs and benefits of green bond issuance and investementGreen Bonds: The costs and benefits of green bond issuance and investement
Green Bonds: The costs and benefits of green bond issuance and investementGRESB
 
Closets salameh-Model
Closets salameh-ModelClosets salameh-Model
Closets salameh-Modelmiriam saliba
 
Zenbaki guztiak izenekin
Zenbaki guztiak izenekinZenbaki guztiak izenekin
Zenbaki guztiak izenekinZelorius
 
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
 
Metodos anticonceptivos
Metodos anticonceptivosMetodos anticonceptivos
Metodos anticonceptivosfitotobias
 
Impacto econômico da resistência no mundo
Impacto econômico da resistência no mundoImpacto econômico da resistência no mundo
Impacto econômico da resistência no mundoIRAC-BR
 

Destacado (18)

Modlidades de importacion
Modlidades de importacionModlidades de importacion
Modlidades de importacion
 
01
0101
01
 
Guia rapida de cómo conectarse al foro de la coronacion
Guia rapida de cómo conectarse al foro de la coronacionGuia rapida de cómo conectarse al foro de la coronacion
Guia rapida de cómo conectarse al foro de la coronacion
 
SFA
SFASFA
SFA
 
Group5 bccc ili_sufi_malay
Group5 bccc  ili_sufi_malayGroup5 bccc  ili_sufi_malay
Group5 bccc ili_sufi_malay
 
1295_001
1295_0011295_001
1295_001
 
Hello follow bull dogs
Hello follow bull dogsHello follow bull dogs
Hello follow bull dogs
 
Merchants Retail article0001
Merchants Retail article0001Merchants Retail article0001
Merchants Retail article0001
 
Green Bonds: The costs and benefits of green bond issuance and investement
Green Bonds: The costs and benefits of green bond issuance and investementGreen Bonds: The costs and benefits of green bond issuance and investement
Green Bonds: The costs and benefits of green bond issuance and investement
 
Closets salameh-Model
Closets salameh-ModelClosets salameh-Model
Closets salameh-Model
 
Zenbaki guztiak izenekin
Zenbaki guztiak izenekinZenbaki guztiak izenekin
Zenbaki guztiak izenekin
 
Ac03 2012-mdp
Ac03 2012-mdpAc03 2012-mdp
Ac03 2012-mdp
 
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...
 
CERTIFICADO STARBUCKS
CERTIFICADO STARBUCKSCERTIFICADO STARBUCKS
CERTIFICADO STARBUCKS
 
143 o verdadeiro amigo
143   o verdadeiro amigo143   o verdadeiro amigo
143 o verdadeiro amigo
 
57 vivifica-nos senhor
57   vivifica-nos senhor57   vivifica-nos senhor
57 vivifica-nos senhor
 
Metodos anticonceptivos
Metodos anticonceptivosMetodos anticonceptivos
Metodos anticonceptivos
 
Impacto econômico da resistência no mundo
Impacto econômico da resistência no mundoImpacto econômico da resistência no mundo
Impacto econômico da resistência no mundo
 

Similar a Qué es un operador en 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 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 Qué es un operador en C (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

Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
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
 
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
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
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
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
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
 
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
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
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
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
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
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 

Último (20)

Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
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
 
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
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
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...
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
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
 
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
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
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
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
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
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 

Qué es un operador en C

  • 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