Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Guía completa de operadores en C: Tipos, funciones y ejemplos

Un operador es un símbolo que indica al compilador realizar funciones matemáticas o lógicas específicas. C es rico en operadores integrados y proporciona los siguientes tipos:

Veremos cómo funciona cada operador.

Operadores Aritméticos

Tabla con operadores aritméticos soportados por C. Asume variable A = 10 y B = 20:

OperadorDescripciónEjemplo
+Suma dos operandos.A + B = 30
-Resta el segundo operando del primero.A - B = -10
*Multiplica ambos operandos.A * B = 200
/Divide numerador entre denominador.B / A = 2
%Operador Módulo y resto de división entera.B % A = 0
++Operador incremento aumenta valor entero en uno.A++ = 11
--Operador decremento disminuye valor entero en uno.A-- = 9

Operadores Relacionales

Tabla con operadores relacionales. Asume A=10, B=20:

OperadorDescripciónEjemplo
==Comprueba si dos operandos son iguales. Si sí, condición verdadera.(A == B) no es verdadero.
!=Comprueba si dos operandos no son iguales. Si no iguales, condición verdadera.(A != B) es verdadero.
>Comprueba si operando izquierdo > derecho. Si sí, condición verdadera.(A > B) no es verdadero.
<Comprueba si operando izquierdo < derecho. Si sí, condición verdadera.(A < B) es verdadero.
>=Comprueba si izquierdo >= derecho. Si sí, condición verdadera.(A >= B) no es verdadero.
<=Comprueba si izquierdo <= derecho. Si sí, condición verdadera.(A <= B) es verdadero.

Operadores Lógicos

Tabla con operadores lógicos. Asume A=1 (verdadero), B=0 (falso):

OperadorDescripciónEjemplo
&&AND lógico. Si ambos operandos no-cero, condición verdadera.(A && B) es falso.
||OR lógico. Si cualquiera no-cero, condición verdadera.(A || B) es verdadero.
!NOT lógico. Invierte estado lógico. Si condición verdadera, la hace falsa.!(A && B) es verdadero.

Operadores Bit a Bit

Trabajan a nivel de bits. Tablas de verdad para &, |, ^:

pqp & qp | qp ^ q
00000
01011
11110
10011

Asume A=60 (0011 1100), B=13 (0000 1101):

A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100 (12)
A|B = 0011 1101 (61)
A^B = 0011 0001 (49)
~A  = 1100 0011 (-61 en complemento a dos)

Tabla de operadores bit a bit (A=60, B=13):

OperadorDescripciónEjemplo
&AND binario: copia bit si existe en ambos operandos.(A & B) = 12 (0000 1100)
|OR binario: copia bit si existe en cualquiera.(A | B) = 61 (0011 1101)
^XOR binario: copia bit si está en uno pero no en ambos.(A ^ B) = 49 (0011 0001)
~Complemento a uno (unario): invierte bits.(~A) = -61 (1100 0011 en complemento a dos)
<<Desplazamiento izquierdo: mueve bits del operando izquierdo n posiciones.A << 2 = 240 (1111 0000)
>>Desplazamiento derecho: mueve bits del operando izquierdo n posiciones a la derecha.A >> 2 = 15 (0000 1111)

Operadores de Asignación

Tabla de operadores de asignación:

OperadorDescripciónEjemplo
=Asignación simple. Asigna valor del lado derecho al izquierdo.C = A + B asigna A+B a C
+=Suma Y asignación. Suma derecho a izquierdo y asigna resultado al izquierdo.C += A equivale a C = C + A
-=Resta Y asignación. Resta derecho de izquierdo y asigna resultado.C -= A equivale a C = C - A
*=Multiplica Y asignación.C *= A equivale a C = C * A
/=Divide Y asignación.C /= A equivale a C = C / A
%=Módulo Y asignación.C %= A equivale a C = C % A
<<=Desplazamiento izquierdo Y asignación.C <<= 2 igual a C = C << 2
>>=Desplazamiento derecho Y asignación.C >>= 2 igual a C = C >> 2
&=AND bit a bit Y asignación.C &= 2 igual a C = C & 2
^=XOR bit a bit Y asignación.C ^= 2 igual a C = C ^ 2
|=OR bit a bit Y asignación.C |= 2 igual a C = C | 2

Operadores Misceláneos: sizeof y ternario

Otros operadores importantes: sizeof y ? : (ternario).

OperadorDescripciónEjemplo
sizeof()Devuelve tamaño de una variable.sizeof(a), donde a es int, devuelve 4.
&Devuelve dirección de una variable.&a; devuelve dirección real.
*Puntero a una variable.*a;
? :Expresión condicional.Si Condición verdadera ? valor X : sino valor Y

Precedencia de operadores en C

La precedencia determina agrupación de términos y cómo se evalúa una expresión. Operadores con mayor precedencia se evalúan primero. Ejemplo: x = 7 + 3 * 2 asigna 13 (no 20) porque * tiene mayor precedencia que +.

Tabla de precedencia (mayor arriba, menor abajo):

CategoríaOperadorAsociatividad
Postfijo() [] -> . ++ --Izquierda a derecha
Unario+ - ! ~ ++ -- (tipo)* & sizeofDerecha a izquierda
Multiplicativo* / %Izquierda a derecha
Aditivo+ -Izquierda a derecha
Desplazamiento<< >>Izquierda a derecha
Relacional< <= > >=Izquierda a derecha
Igualdad== !=Izquierda a derecha
AND bit a bit&Izquierda a derecha
XOR bit a bit^Izquierda a derecha
OR bit a bit|Izquierda a derecha
AND lógico&&Izquierda a derecha
OR lógico||Izquierda a derecha
Condicional?:Derecha a izquierda
Asignación= += -= *= /= %= >>= <<= &= ^= |=Derecha a izquierda
Coma,Izquierda a derecha

Lenguaje C

  1. Operadores en C# – Guía completa de operadores en C#
  2. Dominando operadores bit a bit y de desplazamiento en C#: Guía completa
  3. Dominando los Operadores en C++: Guía Completa con Ejemplos Prácticos
  4. Dominando los operadores en programación C: guía completa
  5. Dominando operadores bitwise en C: AND, OR, XOR, desplazamientos y complemento
  6. Guía Completa de Operadores en C++: Tipos, Uso y Mejores Prácticas
  7. Operadores en Verilog: Aritméticos y de control esenciales para síntesis
  8. Operadores en MATLAB: Guía Completa de Aritméticos, Relacionales, Lógicos y Bitwise
  9. Dominando operadores en Python: Guía completa
  10. Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
  11. Esenciales de Java: Guía Completa de Operadores Principales