En este tutorial, aprenderá sobre diferentes operadores en la programación en C con la ayuda de ejemplos.
Un operador es un símbolo que opera sobre un valor o una variable. Por ejemplo: + es un operador para realizar sumas.
C tiene una amplia gama de operadores para realizar diversas operaciones.
C Operadores aritméticos
Un operador aritmético realiza operaciones matemáticas como suma, resta, multiplicación, división, etc. en valores numéricos (constantes y variables).
| Operador | Significado de operador |
|---|---|
| + | suma o unario más |
| - | resta o menos unario |
| * | multiplicación |
| / | división |
| % | resto después de la división (división de módulo) |
Ejemplo 1: operadores aritméticos
// Working of arithmetic operators #include int main() ( int a = 9,b = 4, c; c = a+b; printf("a+b = %d ",c); c = a-b; printf("a-b = %d ",c); c = a*b; printf("a*b = %d ",c); c = a/b; printf("a/b = %d ",c); c = a%b; printf("Remainder when a divided by b = %d ",c); return 0; )
Salida
a + b = 13 ab = 5 a * b = 36 a / b = 2 Resto cuando a dividido por b = 1
La operadores +, -y *computa la suma, resta y multiplicación, respectivamente, como se podría haber esperado.
En cálculo normal, 9/4 = 2.25. Sin embargo, la salida está 2en el programa.
Es porque ambas variables ayb son números enteros. Por tanto, la salida también es un número entero. El compilador ignora el término después del punto decimal y muestra respuesta en 2lugar de 2.25.
El operador de módulo %calcula el resto. Cuando a=9se divide por b=4, el resto es 1. El %operador solo se puede utilizar con números enteros.
Supongamos a = 5.0, b = 2.0, c = 5y d = 2. Luego, en programación C,
// Cualquiera de los operandos es un número de punto flotante a / b = 2.5 a / d = 2.5 c / b = 2.5 // Ambos operandos son números enteros c / d = 2
C Operadores de incremento y decremento
La programación en C tiene dos operadores que aumentan ++y disminuyen --para cambiar el valor de un operando (constante o variable) en 1.
El incremento ++aumenta el valor en 1, mientras que la disminución lo --reduce en 1. Estos dos operadores son operadores unarios, lo que significa que solo operan en un solo operando.
Ejemplo 2: Operadores de incremento y decremento
// Working of increment and decrement operators #include int main() ( int a = 10, b = 100; float c = 10.5, d = 100.5; printf("++a = %d ", ++a); printf("--b = %d ", --b); printf("++c = %f ", ++c); printf("--d = %f ", --d); return 0; )
Salida
++ a = 11 --b = 99 ++ c = 11.500000 --d = 99.500000
Aquí, los operadores ++y --se utilizan como prefijos. Estos dos operadores también se pueden usar como sufijos como a++y a--. Visite esta página para obtener más información sobre cómo funcionan los operadores de incremento y decremento cuando se utilizan como sufijo.
Operadores de asignación C
Se utiliza un operador de asignación para asignar un valor a una variable. El operador de asignación más común es=
| Operador | Ejemplo | Igual que |
|---|---|---|
| = | a = b | a = b |
| + = | a + = b | a = a + b |
| - = | a - = b | a = ab |
| * = | a * = b | a = a * b |
| / = | a / = b | a = a / b |
| % = | a% = b | a = a% b |
Ejemplo 3: Operadores de asignación
// Working of assignment operators #include int main() ( int a = 5, c; c = a; // c is 5 printf("c = %d", c); c += a; // c is 10 printf("c = %d", c); c -= a; // c is 5 printf("c = %d", c); c *= a; // c is 25 printf("c = %d", c); c /= a; // c is 5 printf("c = %d", c); c %= a; // c = 0 printf("c = %d", c); return 0; )
Salida
c = 5 c = 10 c = 5 c = 25 c = 5 c = 0
C Operadores relacionales
Un operador relacional comprueba la relación entre dos operandos. Si la relación es verdadera, devuelve 1; si la relación es falsa, devuelve el valor 0.
Los operadores relacionales se utilizan en la toma de decisiones y en los bucles.
| Operador | Significado de operador | Ejemplo |
|---|---|---|
| == | Igual a | 5 == 3 se evalúa a 0 |
| > | Mas grande que | 5> 3 se evalúa a 1 |
| < | Menos que | 5 < 3 se evalúa a 0 |
| ! = | No igual a | 5 != 3 se evalúa a 1 |
| > = | Mayor qué o igual a | 5>= 3 se evalúa a 1 |
| <= | Menos que o igual a | 5 <= 3 se evalúa a 0 |
Ejemplo 4: Operadores relacionales
// Working of relational operators #include int main() ( int a = 5, b = 5, c = 10; printf("%d == %d is %d ", a, b, a == b); printf("%d == %d is %d ", a, c, a == c); printf("%d> %d is %d ", a, b, a> b); printf("%d> %d is %d ", a, c, a> c); printf("%d < %d is %d ", a, b, a < b); printf("%d < %d is %d ", a, c, a = %d is %d ", a, b, a>= b); printf("%d>= %d is %d ", a, c, a>= c); printf("%d <= %d is %d ", a, b, a <= b); printf("%d <= %d is %d ", a, c, a <= c); return 0; )
Salida
5 == 5 es 1 5 == 10 es 0 5> 5 es 0 5> 10 es 0 5 <5 es 0 5 = 5 es 1 5> = 10 es 0 5 <= 5 es 1 5 <= 10 es 1
C Operadores lógicos
Una expresión que contiene un operador lógico devuelve 0 o 1 dependiendo de si la expresión resulta verdadera o falsa. Los operadores lógicos se utilizan comúnmente en la toma de decisiones en la programación C.
| Operador | Sentido | Ejemplo |
|---|---|---|
| && | AND lógico. Verdadero solo si todos los operandos son verdaderos | Si c = 5 y d = 2, la expresión ((c==5) && (d>5))es igual a 0. |
| || | OR lógico. Verdadero solo si alguno de los operandos es verdadero | Si c = 5 y d = 2, la expresión ((c==5) || (d>5))es igual a 1. |
| ! | NO lógico. Verdadero solo si el operando es 0 | If c = 5 then, expression !(c==5) equals to 0. |
Example 5: Logical Operators
// Working of logical operators #include int main() ( int a = 5, b = 5, c = 10, result; result = (a == b) && (c> b); printf("(a == b) && (c> b) is %d ", result); result = (a == b) && (c < b); printf("(a == b) && (c < b) is %d ", result); result = (a == b) || (c < b); printf("(a == b) || (c < b) is %d ", result); result = (a != b) || (c < b); printf("(a != b) || (c < b) is %d ", result); result = !(a != b); printf("!(a != b) is %d ", result); result = !(a == b); printf("!(a == b) is %d ", result); return 0; )
Output
(a == b) && (c> b) is 1 (a == b) && (c < b) is 0 (a == b) || (c < b) is 1 (a != b) || (c < b) is 0 !(a != b) is 1 !(a == b) is 0
Explanation of logical operator program
(a == b) && (c> 5)evaluates to 1 because both operands(a == b)and(c> b)is 1 (true).(a == b) && (c < b)evaluates to 0 because operand(c < b)is 0 (false).(a == b) || (c < b)evaluates to 1 because(a = b)is 1 (true).(a != b) || (c < b)evaluates to 0 because both operand(a != b)and(c < b)are 0 (false).!(a != b)evaluates to 1 because operand(a != b)is 0 (false). Hence, !(a != b) is 1 (true).!(a == b)evaluates to 0 because(a == b)is 1 (true). Hence,!(a == b)is 0 (false).
C Bitwise Operators
During computation, mathematical operations like: addition, subtraction, multiplication, division, etc are converted to bit-level which makes processing faster and saves power.
Bitwise operators are used in C programming to perform bit-level operations.
| Operators | Meaning of operators |
|---|---|
| & | Bitwise AND |
| | | Bitwise OR |
| ^ | Bitwise exclusive OR |
| ~ | Bitwise complement |
| << | Shift left |
| >> | Shift right |
Visit bitwise operator in C to learn more.
Other Operators
Comma Operator
Comma operators are used to link related expressions together. For example:
int a, c = 5, d;
The sizeof operator
The sizeof is a unary operator that returns the size of data (constants, variables, array, structure, etc).
Example 6: sizeof Operator
#include int main() ( int a; float b; double c; char d; printf("Size of int=%lu bytes",sizeof(a)); printf("Size of float=%lu bytes",sizeof(b)); printf("Size of double=%lu bytes",sizeof(c)); printf("Size of char=%lu byte",sizeof(d)); return 0; )
Output
Size of int = 4 bytes Size of float = 4 bytes Size of double = 8 bytes Size of char = 1 byte
Otros operadores, como el operador ternario ?:, el operador de referencia, el operador de &desreferencia *y el operador de selección de miembros ->, se analizarán en tutoriales posteriores.








